emacs によるコンパイルの設定

Emacs 上で M-x compile とするとコンパイルを実行することができます。
これを使うと Emacs 上でエラー箇所にジャンプできてすごく便利です。

このコンパイル機能に関する設定のあれこれ。

エラー行解析パターンの修正

コンパイルするとコンパイル実行のバッファで色がついたり、エラー箇所にジャンプできたりします。
これはエラー行を解析する正規表現があって、これに当てはまればエラー行として認識されます。

VC++ などを含めた主要なコンパイラの形式には対応しているのですが、たまにコンパイラが日本語で警告やエラーと出してエラー行のマッチングにあわないときがあります。そういった場合でもエラー行の解析パターンを修正すると使えるようになります。
また、その修正を使えるようになれば、コンパイルや grep だけでなく、単体テストのエラー箇所などいろいろな用途にコンパイルの機能が使えます。
(require 'compile)
(setq compilation-error-regexp-alist
(append
'(
;; "foo.c", 34 行目: 警告
("^\"\\(.*\\)\", \\([0-9]+\\) 行目: \\(警告\\)" 1 2 3)
("^\"\\(.*\\)\", \\([0-9]+\\) 行目: " 1 2)
;; 1> test_foo.c:101 :
("^[0-9]+> +\\([^,\" \n\t]+\\):\\([0-9]+\\) *" 1 2)
("^行番号: \\([0-9]+\\), ファイル: \\(.*\\)$" 2 1)
)
compilation-error-regexp-alist))


各リストの意味は次のようなものです。
("パターン"  "ファイル名のマッチング番号" "行番号" "err,warnning など"


err,warnning などのマッチング番号は色をかえるためのものなので省略してもかまいません。

先に compile をロードしているのは、ロード前に設定しているとそれが使われてデフォルトのものがロードされないためです。


キーバインディングの設定

M-x compile と毎回入力するのは面倒なので、キーに割り当てます。 VisualStudio っぽく F7 キーに割り当てる場合には以下のように .emacs.el に記述します。
(global-set-key [F7] 'compile)



デフォルトコマンドを変更する


コンパイルを実行した後の最初に出てくるコマンドを変更する場合、 .emacs.el に以下の行を追加します
(setq compile-command "MSBuild.exe")

これは M-x customize-group の後、 compilation と入力して出てくるカスタマイズ用の画面からも設定できます。
関連記事
スポンサーサイト



Prev.    Category    Next 

Facebook コメント


コメント

コメントの投稿

Font & Icon
非公開コメント

このページをシェア
アクセスカウンター
アクセスランキング
[ジャンルランキング]
コンピュータ
31位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
5位
アクセスランキングを見る>>
カレンダー(アーカイブ)
プルダウン 降順 昇順 年別

08月 | 2023年09月 | 10月
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30


はてな新着記事
はてな人気記事
ブロとも申請フォーム
プロフィール

yohshiy

Author:yohshiy
職業プログラマー。
仕事は主に C++ ですが、軽い言語マニアなので、色々使っています。

はてブ:yohshiy のブックマーク
Twitter:@yohshiy

サイト紹介
プログラミング好きのブログです。プログラミング関連の話題や公開ソフトの開発記などを雑多に書いてます。ただ、たまに英語やネット系の話になることも。