#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] を押すと次のエラーの行へジャンプ

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS