1

[VSCode][2] (Visual Studio Code)のコード ランナーを使用しており、実行コマンドを変更しようとしています。C++

settings.json ファイルに次の設定があります。

// Set the executor of each language.
"code-runner.executorMap": {
    // ...

    "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"

    // ...
}

次に、CTRL SHIFT PEnter キーを押しRun Codeて現在の C++ ファイルを実行すると、実行する次のコマンドが生成されます。

cd "c:\C++\" && g++ main.cpp -o main && "c:\C++\"main

しかし、コマンドの出力は次のとおりです。

bash: cd: c:\C++" && g++ main.cpp -o main && c:C++"main: No such file or directory

これは、実行中のコマンドでわかるように、CD を実行しようとして"c:\C++\"いますが、\文字がエスケープされておらず、コマンドが失敗するためです。コマンドのすべての\文字が のよう"c:\\C++\\"にエスケープされていれば、コマンドは正しく実行されます。

統合ターミナルに git bash コンソールを使用しています。

この問題を修正して、ファイル内の$dir変数から取得したパスをエスケープするにはどうすればよいですか?settings.json

4

1 に答える 1