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
再次调用我并得到错误输出:
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
并且不进行更改。那么如何禁用或刷新那个“缓存”呢?
更新:
现在我可以通过两种方式刷新“缓存”:
- 关闭 sublime 并重新打开它。
- 例如重命名
module1
为module2
。
这两种方法都太浪费时间了。