[[lazy.nvim]]などで設定を記述するとき、設定項目のプロパティ名や説明を補完・表示したい。
![[2026-05-13-05-53-23.avif]]
## 前提
該当プラグインの設定[[LuaCATSアノテーション]]についていること。
```lua
---@class etoile.Config.Icons
---@field link string
---@field directory string
---@field directory_open string
---@field git_status etoile.Config.Icons.GitStatus
---@class etoile.Config
---@field icons etoile.Config.Icons
---@field indent number
local defaults = {
-- 中略
}
```
## 方法
[[lazydev.nvim]]で対象プラグインをlibraryに指定する
```lua
{
"folke/lazydev.nvim",
ft = "lua",
opts = {
library = {
{ path = "etoile.nvim/lua/etoile" }, -- 対象プラグインのパス
},
},
},
```
設定ファイルに[[LuaCATSアノテーション]]を指定する
```lua
{
---@class etoile.Config
---@diagnostic disable: missing-fields
opts = {
keymaps = {
open_split = "<C-s>",
open_vsplit = "<C-CR>",
search_next = "<Leader>m",
search_prev = "<Leader>.",
},
},
}
```
`---@diagnostic: disable: missing-fields` がないと `Missing required fields` のwarningが表示されるので注意。基本的に『[[Neovimプラグイン]]の設定には、設定しなかった場合のデフォルト値を設定する』からこの警告は抑制してしまって問題ない。
![[2026-05-13-05-39-44.avif]]