2017年10月10日
● CS+のプロジェクトをVS Codeでビルドする
Visual Studio Codeには、タスク といって、外部ツールと連携することができるっぽい。そこで、CS+のプロジェクトをVisual Studio Codeからビルドできるようにしてみた。他の手順もあるのかもしれないけど、僕がやった手順をメモしておく。
- CS+のプロジェクトフォルダをVS Codeの「フォルダを開く」で開く。
- 「Ctrl+Shift+B」を押すと、「ビルドタスクが見つかりません。定義するには'Configure Built Task'(ビルドタスクを構成します)を押してください」みたいなメッセージが出るので、「ビルドタスクを構成します」をクリック。
すると、CS+のプロジェクトフォルダの下に
.vscode
フォルダができて、その中にtasks.json
ができて、VS Codeで開かれた状態になる。デフォルトではechoで文字列を出力されるタスクが定義されているので、それを消して以下のようなタスクを定義する。
{ "taskName": "Build CS+ Project", "type": "shell", "command": "CubeSuite+.exe", "args":[ "/npall", "/bb", "${workspaceRoot}\\${workspaceRootFolderName}.mtpj" ], "group": { "kind": "build", "isDefault": true } }
command
はCS+のコマンドライン実行ファイルのパスを書けばいいのだけれど、デフォルトでインストールするとフォルダに「Program Files(x86)」とか「Runesas Electronics」とかスペースを含んでしまい、うまくエスケープできなかったので今回は環境設定でパスを設定しておくことで回避。args
は引数を設定。npall
はプラグインをロードしない設定。これを指定しないと例外が発生した。/bb
はビルドする設定。${workspaceRoot}\\${workspaceRootFolderName}.mtpj
はプロジェクトファイルの指定。${workspaceRoot}
でプロジェクトのルートフォルダのパスを、${workspaceRootFolderName}
でプロジェクトのルートフォルダの名前を取得して、プロジェクトファイル名としている。
この設定があると、次回以降「Ctrl+Shift+B」でビルドが実行される。一応、エラーとかワーニングもターミナルに表示されるので、ビルドの確認だけならCS+なしで可能に。
(2017/10/11追記) スペースがエスケープできない件については、MS-DOSな8.3形式のパス名で解決できるらしい。8.3形式のパス名を取得するには、コマンドプロンプトで親ディレクトリまで移動して、dir /x
を実行するといいらしい。
[ツッコミを入れる]