編集:
それまでの間、キー ストロークまたはコマンド パレットを介して任意の外部アプリケーションを開く機能を提供する汎用プラグインを作成しました。プラグインはここにあります: ExternalTools
コマンドパレットから簡単にインストールできますcmd+shift+p
あなたの場合、Preferences / Key Bindingsに移動して、以下を追加できます。
{
"keys": ["super+ctrl+alt+g"],
"command": "external_tools_run",
"args": { "cmd": ["open", "-a", "Gitbox", "$project_path"] }
}
私はまだMacを所有していないので、正しく動作しない可能性があります。この場合、フィードバックをいただければ幸いです (「問題」を参照)。
元の回答:
同じ問題を検索するのに数時間を費やしました。結局、私は独自のプレースホルダーを持つ小さなプラグインを作成することにしました。
import sublime, sublime_plugin
class RunAppCommand(sublime_plugin.WindowCommand):
def run(self, app_args):
app_args = self.fill_placeholder(app_args)
self.window.run_command("exec", {"cmd": app_args } )
def fill_placeholder(self, args):
res = []
proj_folder = self.get_project_folder()
for arg in args:
arg = arg.replace("$PROJECT_FOLDER", proj_folder)
res.append(arg)
return res
def get_project_folder(self,default=None):
proj_folder = ""
if self.window.project_file_name():
proj = self.window.project_data()
proj_folder_obj = self.get_first(proj["folders"])
if proj_folder_obj:
proj_folder = proj_folder_obj["path"]
elif self.window.folders():
proj_folder = self.get_first(self.window.folders())
if not proj_folder:
sublime.status_message("No project folder located")
return default
return proj_folder
def get_first(self, iterable, default=None):
if iterable:
for item in iterable:
return item
return default
上記のコードを Packages/User/RunApp.py に保存したら、以下を Default.sublime-keymap に追加するだけでコマンドを機能させることができます:
{ "keys": ["super+ctrl+alt+g"], "command": "run_app", "args": { "app_args": ["open", "-a", "Gitbox", "$PROJECT_FOLDER"]}}
これは最善の解決策ではないかもしれませんが、私にとってはうまくいきます。