«前の日記(2017年10月09日) 最新 次の日記(2017年11月11日)» 編集

日々をアレコレ


2017年10月10日

CS+のプロジェクトをVS Codeでビルドする

Visual Studio Codeには、タスク といって、外部ツールと連携することができるっぽい。そこで、CS+のプロジェクトをVisual Studio Codeからビルドできるようにしてみた。他の手順もあるのかもしれないけど、僕がやった手順をメモしておく。

  1. CS+のプロジェクトフォルダをVS Codeの「フォルダを開く」で開く。
  2. 「Ctrl+Shift+B」を押すと、「ビルドタスクが見つかりません。定義するには'Configure Built Task'(ビルドタスクを構成します)を押してください」みたいなメッセージが出るので、「ビルドタスクを構成します」をクリック。
  3. すると、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 は引数を設定。
      1. npall はプラグインをロードしない設定。これを指定しないと例外が発生した。
      2. /bb はビルドする設定。
      3. ${workspaceRoot}\\${workspaceRootFolderName}.mtpj はプロジェクトファイルの指定。${workspaceRoot}でプロジェクトのルートフォルダのパスを、 ${workspaceRootFolderName}でプロジェクトのルートフォルダの名前を取得して、プロジェクトファイル名としている。

この設定があると、次回以降「Ctrl+Shift+B」でビルドが実行される。一応、エラーとかワーニングもターミナルに表示されるので、ビルドの確認だけならCS+なしで可能に。

(2017/10/11追記) スペースがエスケープできない件については、MS-DOSな8.3形式のパス名で解決できるらしい。8.3形式のパス名を取得するには、コマンドプロンプトで親ディレクトリまで移動して、dir /x を実行するといいらしい。


«前の日記(2017年10月09日) 最新 次の日記(2017年11月11日)» 編集