1

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 つの方法で更新できます。

  1. Sublime を閉じて、再び開きます。
  2. たとえば、名前module1を変更します。module2

どちらの方法も時間がかかりすぎます。

4

0 に答える 0