VSCodeでVisualStudio2017のcl.exeを使う場合、VsDevCmd.batとVSCMD_START_DIRに注意

Visual Studio 2017では、コマンドプロンプトでcl.exeなどの開発ツールを呼び出す方法がVsDevCmd.batに変わりました。このバッチファイルは初期設定でディレクトリー移動をしてしまうので、現在のディレクトリーから移動したくない場合は、環境変数VSCMD_START_DIRを使います。

set “VSCMD_START_DIR=%CD%”

https://developercommunity.visualstudio.com/content/problem/26780/vsdevcmdbat-changes-the-current-working-directory.html

環境構築

vscodeをインストール後、拡張機能cpptoolsをインストールします。https://code.visualstudio.com/docs/languages/cpp などを参考に、c_cpp_properties.jsonとtasks.jsonを.vscodeディレクトリーに用意します。以下build.batは、プロジェクトのルートディレクトリーに配置します。c_cpp_properties.jsonは自動生成です。

build.bat

.vscode/tasks.json

tasks.jsonは、”command”をbuild.batに書き直してそれ以外は、デフォルトのままです。argsは使ってません。

vscodeの設定ファイルは、.vscode内、build.batはルートディレクトリー

これで、Ctrl+Shift+Bで、コンパイルできるようになります。

まとめ

ひとまず、VisualStudio2017がインストールされた環境で、vscodeでもC/C++プロジェクトを開発できるようにしました。また、この設定により、Ctrl+Shift+Bでビルドできるようになりました。ただし現時点では、かなり手順が必要で面倒です。cl.exeにこだわる必要がない場合は、Bash on Windowsか、単純にエディターとコマンドプロンプトでもよさそうです。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA