Я новичок в Python и разработке плагинов Sublime Text, и я не знаю, что я здесь делаю неправильно. Я использую Sublime Text 3. Я пытаюсь создать плагин, который будет копировать имя файла в буфер обмена. Может ли кто-нибудь помочь мне понять эту ошибку Python и/или предложить решение?
import sublime, sublime_plugin
class Filename_to_clipboardCommand(sublime_plugin.TextCommand):
def run(self, edit):
sublime.set_clipboard(sublime.View.file_name())
sublime.message_dialog("The full file path was copied to the clipboard")
и ошибка, когда я вызываю плагин из консоли:
>>> view.run_command('filename_to_clipboard')
Traceback (most recent call last):
File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 549, in run_
return self.run(edit)
File "/Users/ivan/Library/Application Support/Sublime Text 3/Packages/Filename_to_clipboard/filename_to_clipboard.py", line 5, in run
sublime.set_clipboard(sublime.View.file_name())
TypeError: file_name() missing 1 required positional argument: 'self'
Когда я делаю:
sublime.set_clipboard(view.file_name())
с консоля работает! Почему?