6

具体的には、Sublime Text 2 設定ファイル (Package-Name.sublime-settings ファイル) 内から Windows 環境変数を参照する必要があります%APPDATA%%TMP%

これは可能ですか?

たとえば、これは 1 つのパッケージ設定からの行で、複数のユーザーで動作する必要があるため、異なるユーザー名を使用します。

"backup_dir": "C:\\Users\\Username\\AppData\\Local\\Temp\\SublimeBackup"

例として、ここに私が抱えていた問題があります: 複数のコンピューターから実行される Sublime Text 2 のインストールがあります (つまり、複数のインストール間で設定などを最新の状態に保つためにデータをコピーします) が、以下があります。指図:

{ "caption": "Backup to Server (Local to Server)", "command": "exec", "args": { "cmd": ["local-to-server.cmd"] } },

残念ながら、ファイル「local-to-server.cmd」は現在 Sublime Edit で開いているファイルに関連しているため、このコマンドはほとんど機能しません。私が必要とするのは:

{ "caption": "Backup to Server (Local to Server)", "command": "exec", "args": { "cmd": ["%APPDATA%\Sublime Text 2\Packages\User\local-to-server.cmd"] } },

または、相対パスを構築できる共通の場所を参照する同様の方法。

4

2 に答える 2

1

@skuroda のコメントは間違っています。設定の変更は、プラグインと複数のload_settings呼び出しにわたって永続的です。簡単なテストケース:

s = sublime.load_settings('Preferences.sublime-settings')
s.set('test', 'x')
s = sublime.load_settings('Preferences.sublime-settings')
print (s.get('test'))  # prints x

これを 2 つのプラグインに分割しても、x が出力されます (設定プラグインが印刷プラグインの前に実行されると仮定します)。

os.path.expandvarsしたがって、現在のセッションで永続的なパスを読み込んで書き直すことができます。

于 2013-05-06T13:55:57.307 に答える