klknn log / posts / tags / works / feed / src

WindowsでのDplug開発

Synth2 開発のために,普段の音楽制作で使ってるWindowsで開発環境を構築しました.その備忘録です.

コンパイラ

以下のツールが必要

色々書くのが面倒で動画も作ったので,暇な人は見てください.

https://www.youtube.com/watch?v=vZEgpgHGI-A&t=17s

動画ではPowerShellを使ってますが,私はzsh (+tmux+emacs) が好きなので,基本 MSYS2 で開発してます.

エディタ

拘りがなければ VSCode の D 言語拡張 を入れるのが一番いいと思います.私はemacsが好きなので使ってませんが.

とにかくEmacs対応が一番大変でした.D言語での補完などはDCDが一般的なツールで,それをもとにLSPなどが整備されているようですが,現状VSCode以外で動かせず (Linuxでもできなかった).結局いつもLinuxで使ってるDCDの薄いラッパーである company-dcd に Windows 特有の問題 (DUBパッケージの場所,パスの文法,CR改行) を対処するパッチをあてて使いました.正確には company-dcd が依存してる flycheck-dmd-dub というパッケージにもパッチが必要です.

上記のパッケージにelispのパスを通して,こんな感じで設定してます.

(add-to-list 'load-path "flycheck-dmd-dubのパス")
(add-to-list 'load-path "company-dcdのパス")
(add-hook 'd-mode-hook 'company-dcd-mode)
(setq company-dcd-client-execulable "dcd-client.exeのパス")
(setq company-dcd-server-execulable "dcd-server.exeのパス")

こんな風にcompanyによる補完や C-c . による定義ジャンプが動くはずです.

emacs-company-dcd.png

とりあえず flycheck-dmd-dub に PR を出しました,もし無事マージされたら company-dcd にもPRしたいと思います.

とても久しぶりにelisp書きましたが,シェルスクリプトばりに雑に書けてインタラクティブに動作できるので気持ちいいなと思いました.この適当にhackして治せる点が,他のエディタにない醍醐味だと思います.もしWindowsでemacsがうまく動かなかったらブチ切れてMacを買っていたかもしれません(そっちで動く保証はないですが).現在Macは持っていないのでサポートする予定ないです.


Back to top

Prev: デジタルフィルタの実装

Next: 雑記

Copyright © klknn All Rights Reserved.