cvl-robot's diary

研究ノート メモメモ https://github.com/dotchang/

Intel CPUのUbuntuでopenFrameworksをマイクロソフトのVScodeで開発できるように環境を整える

Windowsでプログラムを開発する大きな理由の一つが、VisualStudioのIntelisenseが優秀で、短期記憶の乏しい頭を補佐してくれることにあります。Linuxで開発環境とかいうと直ぐにvim教信者みたいな人が湧いてきて嫌だったということもあります。
しばらく前に、マイクロソフトがマルチ環境で使えるVSCodeという、簡易版VisualStudioみたいなプログラムエディターを発表し、徐々に普及し始めてきています。今回の記事では、VSCodeでopenFrameworksの開発をできるように整備したいと思います。

1. openFrameworksって公式にVSCode対応してたんじゃないっけ?

そうなんです。少し前のv0.8まで、公式にVSCodeに対応していたはずなのですが、気がついたらいつの間にかサポートから外れていました。
そこで今回は、hiroMTBさんのvscode_oF[1]にお世話になります。

2. VSCodeをインストール

普通にインストールしてください。ちょっと面倒ですが、インストール手順を紹介した記事はいっぱいありますのでそちらを参照のこと。[4]の記事がいいです。

3. openFrameworks(v0.9.8)をインストール

ソースコードを~/workspaceなどに展開して、

cd ~/workspace/of_v0.9.8_linux64_release/scripts/linux/ubuntu
./install_dependencies.sh

途中、apt-get installに失敗している様子だったら必要なパッケージを入れるか、競合を整理するために

sudo apt-get autoremove -f

をするとうまく行くことが多いようです。

4. vscode_oFをインストール

vscode_oFはaddonではなく、appsのテンプレートなので、apps以下に展開します。

cd ~/workspace/of_v0.9.8_linux64_release/apps
git clone https://github.com/hiroMTB/vscode_oF

vscodeを実行して、[File]->[Open Workspace]でexampleEmptyのvscode_of.code-workspaceを開きます。
無事、ワークスペースを開けていることと思います。試しに、[Tasks]->[Run Build Task...]を実行してみると、make Debugが呼ばれます。

Debug機能はあまり使わないので、Releaseモードを主体に開発したいよという場合には、
.vscodeの下のtasks.jsonというのをVSCodeexplorerで探して編集します。

{
"version": "2.0.0",
"shell":{
"task": true
},
"tasks": [
{
"type": "shell",
"label": "build debug",
"presentation": {
"reveal": "always",
"panel": "new"
},
"command": "make",
"args": [
"Debug"
]
},
{
"type": "shell",
"label": "build Release",
"presentation": {
"reveal": "always",
"panel": "new"
},
"command": "make",
"args": [
"Release"
],
"group": {
"kind": "build",
"isDefault": true
}
},
{
"type": "shell",
"label": "clean Debug",
"presentation": {
"reveal": "always",
"panel": "new"
},
"command": "make",
"args": [
"CleanDebug"
]
},
{
"type": "shell",
"label": "clean Release",
"presentation": {
"reveal": "always",
"panel": "new"
},
"command": "make",
"args": [
"CleanRelease"
]
},
{
"type": "shell",
"label": "clean All",
"presentation": {
"reveal": "always",
"panel": "new"
},
"command": "make",
"args": [
"clean"
]
}
]
}

この中の、default設定の記述をDebugからReleaseの方に付け替えただけです。

,
"group": {
"kind": "build",
"isDefault": true
}

makeをただ呼んでいるだけなので、今まで通り普通に開発できるのが素晴らしく良いですね。
余計なことをしないって、大事。

新しいプロジェクトを作るには

exampleEmptyをまるごとコピーして別の名前に付け替えます。addons.makeとかconfig.makeを編集して普通に別のaddonやライブラリを追加できます。

vscode_oFを使わないでprojectGeneratorを用意するとき

中盤のhrsさんの書き込みをチェック。openFrameworksフォルダを上書きされないように、全然違う場所のディレクトリでbuildするのが幸せ。
forum.openframeworks.cc

TX2でVSCodeはいまだ動かず

Jetson TX2でVSCodeが動いてくれれば鬼に金棒じゃないかと期待したのですが、VSCodeがうまく入ってくれませんでした。

[1] vscode_oF
github.com
[2] openFrameworksのフォーラム
forum.openframeworks.cc
[3] vscodeでopenframeworks用buildタスクを書く
qiita.com
[4] Visual Studio Code で OS 開発をする — osdev-jp core docs 1.0 ドキュメント
[5] GithubからopenFrameworksをインストールしてみる - sgnm 備忘録

[6] git版openFrameworksでProjectGeneratorが必要なとき
forum.openframeworks.cc