Я пытаюсь разработать некоторый плагин для SublimeText3.Плагин SublimeText3 on_modified api реализация
Плагин должен вести себя на каждом изменении текста, так глядя на апи
http://www.sublimetext.com/docs/3/api_reference.html
on_modified_async(view)
это один использовать я догадался.
поэтому код выглядит следующим образом:
#!/usr/bin/env python
import sublime, sublime_plugin, socket
class testCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.insert(edit, 0, "Hello, World1!")
self.view.insert(edit, 0, "Hello, World2!")
def on_modified_async(self, view):
self.view.insert(edit, 0, "Hello, World3!")
Этот код работает как задумано для Здравствуй, мир 1 & 2, но 3 никогда не увольняют.
Я совершенно новый и для плагина SublimeText, и для разработки python3.3. Что я пропущу? Спасибо. // EDIT
MESSAGE = self.view.substr(0,50)
TypeError: substr() takes 2 positional arguments but 3 were given
это выглядит я дал 2 позиционные аргументы, а не 3.
Я получил сообщение об ошибке: AttributeError: объект 'MyEventListener' не имеет атрибута 'вид'. ..... Что случилось с моим кодом (Edited)
import sublime, sublime_plugin, socket
class testCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.insert(edit, 0, "Hello, World1!")
class MyEventListener(sublime_plugin.EventListener):
def on_modified_async(self,view):
self.view.insert(edit, 0, "Hello, World2!")
-
Traceback (most recent call last):
File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 279, in on_modified_async
callback.on_modified_async(v)
File "/Users/ken/Library/Application Support/Sublime Text 3/Packages/test/test.py", line 11, in on_modified_async
self.view.insert(edit, 0, "Hello, World2!")
AttributeError: 'MyEventListener' object has no attribute 'view'
Это рабочий код:
import sublime, sublime_plugin, socket
class MarkdownLiveCommand(sublime_plugin.TextCommand):
def run(self, edit):
tcp(self.view)
class MyEventListener1(sublime_plugin.EventListener):
def on_modified_async(self, view):
tcp(view)
def tcp(view):
#do the job
Спасибо. Sublime.Region (0, 50) разрешается; однако у меня есть ошибка: AttributeError: объект 'MyEventListener' не имеет атрибута 'view' ...... Что не так с моим кодом (Edited). –
@KenOKABE Класс 'EventListener' не имеет атрибута для представления, но он передается функции. Поэтому просто используйте 'view' вместо' self.view'. – l4mpi
Хорошо, у меня есть идея, спасибо большое. Возможно, код, представленный выше, все еще получил некоторую ошибку, но моя другая версия работает нормально. –