C ++コードでの補完に会社モードを使用しています。現在のプロジェクトのインクルードファイルの場所を会社のclangバックエンドに伝えるには、次の.dir-locals.el
ファイルを使用する必要があります
((c++-mode (eval setq company-clang-arguments (append
company-clang-arguments
'("-I/full/path/to/project/root/include"))))
常にフルパスを指定する必要があります。ファイルのfull/path/to/project/root
パスを格納する変数に置き換える方法はあり.dir-locals.el
ますか?
私は試した
(c++-mode (eval setq company-clang-arguments (append
company-clang-arguments
(list concat "-I" default-directory "src")))))
しかし、default-directory
私が開いているファイルで評価されているので、プロジェクトルートのパスに戻るのではなく、プロジェクト内の他のパスに戻ります。
(locate-dominating-file default-directory ".dir-locals.el")
オプションの場合もあれば、関数に省略されている場合もあります。