Windows版IntelliJ IDEA CommunityにD言語拡張をインストールして補完機能を使う
タイトルが長すぎた... :-(
先に
Community版の利用用途とか怪しい所があるので、実行するのは自己責任で。責任は負いません。
dlang、去年の冬なんかはVimで書いてたり、VSCode + Terminalという手を使って書いていた。が、この度Linux環境ではなくWindows環境で書く必要があって、かつcode-dの依存関係が面倒だったことを覚えていたため、「IDEAあたりなら何かあるんじゃない」と思ってググったらあった。
[Intellij Dlanguage] :https://github.com/intellij-dlanguage
これが面白くて、入れただけじゃ動かなくて(それはそう)、コード補完機能を使えるようにするまでやった手順を書きます。いろんなとこ寄り道してたり飯食ったりしてたら3時間掛かっちゃった...
前提条件
作業環境
- Windows10 Pro x86_64
- DMD-2.083.1
- DUB-1.11.0
- cmd.exe, explorer
- IntelliJ IDEA 2018.2.5 (Community Edition)
- Build #IC-182.4892.20, built on October 16, 2018
直接必要ではないけど、たまにコードや情報見たときに使ったもの: VSCode, Google Chrome
作業
スクリプトを叩いて各種ツールを落としてくる
https://github.com/SeijiFujita/quiita_works/blob/master/using_vscode_02/Build.bat
システムのPathを通しておく。
cmdが閉じるとBin, DCD, DScanner, dfmt, workspace-dの5つ(だったっけ?)のディレクトリが生成されるので、 中身をDUBで叩いていく。
DUB(他)でビルドする
workspace-d
ここだけ手抜きで申し訳ないが、ディレクトリ内にあるinstall.batを叩いて終わり。DCD、DScanner、dfmtの依存関係はallで。
DCD
https://github.com/dlang-community/DCD
README.mdの中の"DUB"ってところを使います。DCDはクライアントとサーバとで機能が分離されているのでexeを2個作ることになる。
dub build --build=release --config=client dub build --build=release --config=server
DScanner
https://github.com/dlang-community/D-Scanner
相変わらずDUBで。と思ったら、dscがなんか無いって怒られてしまうので、上にあったREADME.md内のテストの項にbuild.batがあるので適当にそれを叩く。
出力も変わらないし、なんも変化ないんで待つ。
dfmt
https://github.com/dlang-community/dfmt
dub fetch --version='~master' dfmt && dub run dfmt -- -h
で終わるはずなんだが、--version='~master'のところが無いって怒られるので、dub fetch dfmt && dub run dfmt -- -h
で叩く。
Binディレクトリに全てをまとめる
まぁ、正直要らないような気もしますが出来上がったexeを一括管理できた方が楽なんで、1つのディレクトリにまとめる。最初に出来上がったBinに、workspace-d以外のツールのディレクトリ/binに生成されたexeを入れていく。
IntelliJ IDEA側で設定する
Alt + F + tで設定を開き、Languages & Frameworks→D Toolsで、Dub他各種項目のPath:を、3.でまとめたBinディレクトリに設定していく。
なお、自分の環境ではAuto Findはさっぱり動かなかった(たぶんDUBでビルドしてないのが影響してるのではと予想してるけど)ので、最初から手動でやった方が速い。
再起動
これは文字通り。
ここまでやって、Event Logに何も出てなかったら大体オッケー。あとは適当なソースを開いてCtrl + Spaceで出てくれば終わり。
画像
まとめ
自分の設定が悪いだけなんだろうけど、それでも補完が動いて表示されるまでがかなり遅いなぁ、と思いながらこの記事を書いてます。まぁ、そこらへんは調整すればなんとかなるんじゃないかなぁ。なればいいなぁ。