1

見つかった手順を通じて: 崇高なテキスト 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 エラーが返されることです。

プロセス全体を通じて、この「許可エラー」がどこで作成されたかを見つけることができません。

4

0 に答える 0