Neovim で完璧な Flutter 開発環境を整える

2024/06/30に公開

Flutter 用の Neovim の情報が少なかったので少しでも参考になれば幸いです🙏
Neovim v0.10.0, プラグインマネージャーは lazy.nvim を使用しています。dotfile はこちら。
https://github.com/lllttt06/dotfiles/tree/main/nvim

動作イメージ



Flutter 用の設定

Flutter 開発用のプラグイン flutter-tools.nvim を使用しています。Debugger を使わない場合は nvim-dap はインストールせず、flutter-tools のみで問題なく実行できます。
https://github.com/lllttt06/dotfiles/blob/63aeb5deb5ae264719ce76e3abe0f2e5a45ac81e/nvim/lua/plugins/init.lua#L288-L360

こちらで言及されているように、 asdf などで Flutter を使用している場合には flutter_lookup_command を設定する必要があります。nvim-dap を使用してデバッグする場合、.vscode/launch.json が定義されていれば require("dap.ext.vscode").load_launchjs() を設定することで configurations を参照して実行可能です。

launch.json
{
    "version": "0.0.1",
    "configurations": [
        {
            "name": "Run app for Dev",
            "program": "${workspaceFolder}/lib/main.dart",
            "request": "launch",
            "type": "dart",
            "flutterMode": "debug",
            "args": [
                "--debug",
                "--flavor",
                "dev",
                "--dart-define-from-file=define/flavor/dev/common.json",
                "--dart-define-from-file=define/flavor/dev/firebase_options.json"
            ]
        },
        {
            "name": "Run app for Prd",
            "program": "${workspaceFolder}/lib/main.dart",
            "request": "launch",
            "type": "dart",
            "flutterMode": "debug",
            "args": [
                "--debug",
                "--flavor",
                "prd",
                "--dart-define-from-file=define/flavor/prd/common.json",
                "--dart-define-from-file=define/flavor/prd/firebase_options.json"
            ]
        }
    ]
}

その他のおすすめ Neovim プラグイン

その他最近お気に入りのプラグイン達をご紹介します!

mini.files

File explorer です。以前まで nvim-tree.lua を使用していましたが、独特の UI と操作性に惹かれてこちらに移行しました。

no-neck-pain.nvim

buffer を画面中央に寄せるプラグインです。こちらの記事を読んで、 buffer を画面中央に配置すれば Filer が常に表示されていなくても良いということに気がつき上述した mini.files と共に導入しました。

hlchunk.nvim

Chunk のプラグインです。動的にインデントの表示箇所が変わるので見た目が気に入っています。

さいごに

vim 好きが少しでも増えれば嬉しいです!

Discussion