sublime text 3
(別の私のシンプルなモジュールを使用する)ためのシンプルなプラグインを作成しましたmodule1
:
import sublime, sublime_plugin
import sys
sys.path.insert(0, '/Users/maks/Library/Application Support/Sublime Text 3/Packages/forStack')
import module1
class simple_pluginCommand(sublime_plugin.TextCommand):
def run(self, edit):
print("Hello World")
module1.method1()
sublime command line
(ctrl+`)で実行します
view.run_command('simple_plugin')
それは出力します:
Hello World
Hello module1.method1()
どこmodule1
...
def method1():
print("Hello module1.method1()")
次に、リファクタリング module1
します (メソッド名とその内容を変更します)。
def method2():
print("Hello module1.method2()")
... 出力付きで module1 を保存します。
Writing file /Users/maks/Library/Application Support/Sublime Text 3/Packages/forStack/module1.py with encoding UTF-8 (atomic)
reloading plugin forStack.module1
次に、それに応じてプラグイン テキストを変更して、module1.method2() を呼び出します。
import sublime, sublime_plugin
import sys
sys.path.insert(0, '/Users/maks/Library/Application Support/Sublime Text 3/Packages/forStack')
import module1
class simple_pluginCommand(sublime_plugin.TextCommand):
def run(self, edit):
print("Hello World2")
module1.method2() #------------------------- change only here
出力とともに保存します。
Writing file /Users/maks/Library/Application Support/Sublime Text 3/Packages/forStack/simple_plugin.py with encoding UTF-8 (atomic)
reloading plugin forStack.simple_plugin
そして、simple_plugin
再度 my を呼び出してみると、エラーで出力が得られました:
Hello World2
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/maks/Library/Application Support/Sublime Text 3/Packages/forStack/simple_plugin.py", line 10, in run
module1.method2()
AttributeError: 'module' object has no attribute 'method2'
どこかに「キャッシュ」されmodule1
、変更されないようです。では、その「キャッシュ」を無効化または更新するにはどうすればよいでしょうか。
アップデート:
これで、その「キャッシュ」を次の 2 つの方法で更新できます。
- Sublime を閉じて、再び開きます。
- たとえば、名前
module1
を変更します。module2
どちらの方法も時間がかかりすぎます。