#author("2023-11-25T01:12:55+09:00","","") #author("2023-11-25T01:13:31+09:00","","") #topicpath /////////////////////////////////////////////////////////////////////////////// * 目次 [#w6e51bcf] #contents(); //////////////////////////////////////////////////////////////////////////////// * flycheck [#d0662121] - C/C++/perl/lisp 等の言語のソースの編集時に、実行せずとも下記に該当する文法エラーや警告をしてくれる。 -- コンパイル時にエラーになるもの -- コンパイル時に警告が出るもの(ex. C++ の代入文で左辺と右辺で型が異なる場合、定義・代入はされているがその結果が使われていない、等) - バックエンドに llvm を使っている //============================================================================== ** 環境構築 [#ja381eee] - 開発・配布元 -- https://github.com/flycheck/flycheck.git - 依存パッケージ -- [[dash.el>https://github.com/magnars/dash.el.git]] -- company --- [[elpa>https://git.savannah.gnu.org/git/emacs/elpa.git]] を git clone し(単に git clone すると 700MB近く容量があり巨大なので注意)、README に従い make する必要あり。 --- elpa の clone に就いては、[[elpaの公式サイト>https://elpa.gnu.org/]] からリンクされている [[README>https://git.savannah.gnu.org/cgit/emacs/elpa.git/plain/README]] の記載に従うと、必要最低限の容量のみの取得で済む。 - emacs の設定(git clone したリポジトリをそのまま ~/.emacs.d/site-lisp/ の下に配置した例 ) ;;; settings for flycheck (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/elpa/packages/company") load-path)) ; depended: dash (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/dash") load-path)) (setq load-path (cons (expand-file-name "~/.emacs.d/site-lisp/flycheck") load-path)) ; flycheck (require 'flycheck) (add-hook 'after-init-hook #'global-flycheck-mode) //============================================================================== ** 使い方 [#z7b5f81a] - flycheck を組み込んだ状態でソースコードを開くと、コンパイラが指摘するようなエラーや警告をしてくれる。 -- エラー/警告のある箇所は、行全体がピンクの太字になったり下波線が引かれたりする(表示方法の違いは環境設定によって異なる模様だが、詳細は未確認)。 -- エラー/警告表示となった行にカーソルを置くと、ミニバッファにエラー/警告の文言が表示される - 次/前のエラー/警告にジャンプするには next-error / previous-error を実行する -- 下記のように設定しておくと、F8, F9 キーでジャンプ出来る。 (global-set-key [f8] 'previous-error) ; [F8] を押すと前のエラーの行へジャンプ (global-set-key [f9] 'next-error) ; [F9] を押すと次のエラーの行へジャンプ