見つかった手順を通じて: 崇高なテキスト 2 でキーバインドコマンドをチェーンすることは可能ですか?
次のビルド システムを使用します。
{
"cmd": ["g++", "$file", "-o", "${file_path}/${file_base_name}"],
"file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
"working_dir": "${file_path}",
"selector": "source.c, source.c++, source.cxx, source.cpp",
"variants": [{
"name": "Run",
"shell": true,
"cmd": ["gnome-terminal -e 'bash -c \"${file_path}/${file_base_name};echo;read line;exit; exec bash\"'"]
}]
}
次の .py 拡張子を作成しました。
import sublime, sublime_plugin
class BuildAndRun(sublime_plugin.WindowCommand):
def run(self):
self.window.run_command("build")
self.window.run_command("build", {"variant": "Run"})
そしてキー入札:
{ "keys": ["ctrl+b"], "command": "build_and_run"},
キー入札は拡張機能を正しくアクティブにしますが、端末では次のように返されます。
bash: /home/hadrian/Documents/new: Permission denied
「new」は .cpp ファイルの名前です。
問題は、(.py 拡張子で) ビルドのみの場合はビルドされ、実行のみの場合は実行されますが、両方がある場合はその bash エラーが返されることです。
プロセス全体を通じて、この「許可エラー」がどこで作成されたかを見つけることができません。