Visual Studio Code で DxLibの開発をする
最近Unityで複数のゲームを開発してVSCodeがちょっと好きになりました.
今までよく使っていたVisual Studio + DxLib の開発環境ですが,Visual Studio が非常に重いので,VSCode で完結できないか試してみました.
できたもの
VSCodeからDxLibのプログラムをコンパイルしてみた
— WGG (@WGG_SH) 2017年9月19日
やり方若干スマートじゃない気がするけど pic.twitter.com/mmGQb5A02R
こんな感じに,VSCodeからコンパイルして,動作確認するまでできました
デバッグに関してはまだ試していないですが...
手順
大体↓の順序です
- VSCodeのインストール
- Visual Studio のインストール
- batファイル, makeファイルの記述
- (必要なら)文字コード問題の解消
- プログラムを書く
- VSCodeからコンパイルする
1:VSCodeのインストール
↓ からダウンロードできます.
code.visualstudio.com
Visual Studio のインストール
やり方は複数あると思いますが,今回は既に入ってたVS2015 を利用します
この辺を参考にして,とりあえずVSでDxLibの開発ができるようにします.
batファイル, makeファイルの記述
VSCodeからコンパイルするためのbatファイルおよび,makefileを作成します.
dxlibmake.bat
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\VsDevCmd.bat" nmake -f dxlib.mak
VsDevCmd.batはVisualStudioに付属している開発者用のコマンドプロンプトです
自分の場合パスは上記の通りでしたが,バージョンやインストールの方法によって変わるかもしれません.
dxlib.mak
こちらを参考にしました
TARGETDIR=src TARGETNAME=* C_FLAGS=/c /TP /EHsc /D "_MBCS" /MT /I "C:\DxLib" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /W3 /source-charset:utf-8 LINK_FLAGS=/SUBSYSTEM:WINDOWS /LIBPATH:"C:\DxLib" "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" ALL: cl $(C_FLAGS) $(TARGETDIR)/$(TARGETNAME).cpp link /out:dxlib.exe $(LINK_FLAGS) $(TARGETNAME).obj dxlib.exe
実行ディレクトリ内の,srcディレクトリ直下に置いた.cppファイル全てをコンパイル対象とします.
ファイルの構成次第で自由に変えるべきかと思います.
"C:\DxLib" には,ここでいう「プロジェクトに追加すべきファイル_VC用」パスを渡しています.日本語パスが心配だったのでDxLibとリネームしました.
プログラムを書く
とりあえずDxLibのHPに載っているサンプルコードを,見やすいように少しだけ書き換えたものを使います.
#include "./DxLib.h" int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { ChangeWindowMode(TRUE); if( DxLib_Init() == -1 ) { return -1 ; } // DrawPixel( 320 , 240 , GetColor( 255,255,255 ) ) ; // 見辛い DrawCircle(320,240,0xffffff,TRUE); WaitKey() ; DxLib_End() ; return 0 ; }
VSCodeからコンパイルする
VSCodeから,プロジェクトとするフォルダを開きます.
Ctrl+Shift+Bでタスクを実行できるのですが,プロジェクト内の.vscodeディレクトリにタスクが登録されていないので,「タスクランナーの構成」→「Others」の順にクリックします
task.jsonが作成されるので,commandの内容を,先ほど作成したdxlibmake.batに変更します
{ // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.json format "version": "0.1.0", "command": "dxlibmakebat", "isShellCommand": true, "args": ["Hello World"], "showOutput": "always" }
これでプロジェクトフォルダ内のdxlibmake.batが実行され,makefileが処理されます.
あとは設定が正しければ正常にコンパイルされ,DxLibのウィンドウが開きます
完成
というわけで,VSCodeからDxLibのコンパイルをしてみました.
もしDxLibを使っていて,Visual Studioが重いと感じてらっしゃる方がいましたら,是非参考にしてみてください