coursera で Programming Languages , PartB を受講し始めた。
開発環境で DrRacket(Racket をインストールするとついてくる開発環境)が指定される のだけれども、Emacs Love な自分はどうしても Emacs からやりたかったので、 Emacs で Racket 開発環境を構築した。
環境
- Ubuntu 16.04 LTS
- Racket v6.3
Racket のインストール
sudo apt-get install racket
これで /usr/bin/配下に racket がインストールされる。
優れた IDE の条件
優れた IDE が備えるべき機能は以下.
- シンタックスハイライト/ インデント
- racket-mode, aggressive-indent
- 検索・置換 iedit, multiple-cursors, helm-ag, helm-swoop
- タグジャンプ racket-visit-definition
- コード補間
- auto-complete
- tab で complete
- エラーチェック
- flycheck
- インタープリタ・デバッカ racket-repl
racket-mode
Racket の開発環境は、24.2 Emacs によると
- racket-mode
- Quack
- Geiser
などがある。
今回は、新しめの racket-mode を利用することにした。 インストールは M-x el-get-install でした。
(require 'racket-mode)
;; tab で補間
(setq tab-always-indent 'complete)
aggressive-indent
賢い indent-mode
names package に依存しているので, require ‘names してからインストールしないとおかしくなる.
(add-hook 'racket-mode-hook #'aggressive-indent-mode)
smartparens
smart + parens カッコ移動を楽々。
(require 'smartparens-config)
auto-complete-mode
補間
(require 'auto-complete)
(add-to-list 'ac-modes 'racket-mode)
RainbowDelimiters
かっこの深さに応じて色付けしてくれる.
(add-hook 'prog-mode-hook #'rainbow-delimiters-mode)
flycheck
エラーチェック
(require 'flycheck)
(add-hook 'after-init-hook #'global-flycheck-mode)
quickrun
ファイルを実行できる。
quickrun は最近 Racket に対応したようだ。
(require 'quickrun)