📝

Raspberry Pi Picoのプロジェクトをneovimを使って補完付きで編集する方法

2021/03/13に公開

こちらの僕のスクラップを記事化してまとめたものです。

やりたいこと

pico-project-generatorでRaspberry Pi Pico のプロジェクトを生成する。

coc.nvimを導入したnvimで補完を使いつつそのプロジェクトを編集したい。

環境

  • coc.nvimを導入済みのneovim
  • Ubuntu 20.04
  • pico-project-generatorで生成済みのRaspberry Pi Picoプロジェクト

Ubuntuを前提にしていますが、他のOSでも動くと思います。また、CMakeを使ったプロジェクトやCMakeを使った他のarmマイコン(Raspberry Pi Pico以外の)も同様の手順でできると思います。

~/pico/内にtestという名前でプロジェクトを作ったことを想定しています。

やり方

compile_commands.jsonを生成する

補完に使う、ヘッダーファイルなどの情報を渡すためにcompile_commands.jsonを生成します。

cd ~/pico/test/build
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..
cd ..
cp build/compile_commands.json ./

compile_commands.jsonに書かれているヘッダーファイルなどを読み込んでくれるようになる。

clangdのインストール

nvim

neovim内で:CocInstall coc-clangdと実行してcoc.nvimにclangdの拡張をインストールする。

clangdを設定する

nvim

neovim上で:CocLocalConfigと打ち、新しい設定ファイルを作るか聞かれるのでyを打ち、設定ファイルを以下のようにして保存、終了する。

{
  "clangd.arguments": ["-query-driver", "/usr/bin/arm-none-eabi-gcc"]
}

これでできるようになっているはずです。

参考

最後に

読んでくださりありがとうございました。

最終的には些細なことで躓いていたのですが、このやり方にたどり着くまでに苦労したので参考になれば幸いです。

これをするのに躓いた所はググっても解決しなかったのですが、結局上の参考のリンクの公式ドキュメントに書いてあることで解決しました。

困ったら公式ドキュメントを読もう

みなさんもググって解決しがちな人は公式ドキュメントも有効活用しましょう。

GitHubで編集を提案

Discussion