アイスクリームが美味しい季節になりましたね.
というわけで,この記事はD言語 Advent Calendar 2012 の17日目です.
D言語始めたいけどどうしたらいいかわからない人のための記事.
この記事を読めば D言語用の環境が簡単に整うよ!
英語版: Start D with Emacs
DMDのインストール
これがないと始まりません.
dlang.org から自分の環境にあったものをインストールしましょう.
Emacs の exec-path の設定
DMD にパスを通していない場合には,以下の行を.emacs
に追加してください.
("/path/to/dmd" は DMD をインストールしたパスに置き換えてください).
(add-to-list 'exec-path (expand-file-name "/path/to/dmd"))
package.el 用に MELPA リポジトリを追加
d-mode や flycheck 等のパッケージは MELPA に収録されています.
package-install
からこれらをインストールできるように,以下を .emacs
に追加してください.
(require 'package)
(add-to-list 'package-archives
'("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)
d-mode.el のインストール
d-mode を使うと,D言語のキーワード等を色分けしてくれるので便利です.
M-x package-install d-mode
でインストール出来ます.
Flycheck のインストール
Flycheck を使うと,D言語のエラーチェックを自動でやってくれます.
M-x package-install flycheck
でインストール出来ます.
flycheck-d-unittest.el のインストール (任意)
flycheck-d-unittest を入れると,ユニットテストを自動実行してくれるので色々はかどります.
M-x package-install flycheck-d-unittest
でインストールしたあと、以下を .emacs
に追加しましょう.
(setup-flycheck-d-unittest)
Flycheck の細かい設定
.emacs
に以下を追加しておくと便利です.
(add-hook 'd-mode-hook
(lambda ()
(local-set-key (kbd "C-c C-p") 'flycheck-previous-error)
(local-set-key (kbd "C-c C-n") 'flycheck-next-error))
出来上がり!!
やったね! これでD言語書き放題だよ!
これで, Emacs で拡張子が d
のファイルを開くと,キーワード等をそれらしく色分けしてくれます.
また,エラー部分には波線が引かれるので文法がわからない初心者も安心です.
C-c C-p
と C-c C-n
で,カーソルの一つ前 (or 後) にあるエラーに飛ぶことができます.
また,以下のように unittest ブロック中に実行したいコードを書くと,自動でコードを実行してユニットテストのエラーを検出してくれます.
main 関数なんかいらんかったんや!
#!/usr/bin/env rdmd
unittest{
assert(1+2 == 3);
auto arr = [1, 2, 3];
assert(arr.length == 4); // 間違ってるけど Emacs が教えてくれる!
}
version(unittest) {}
else
void main()
{
import std.stdio;
writeln("main 関数とか飾り.");
}
D言語の文法は以下のリンクからどうぞ.