## はじめに
結論を言うと、**[[LSP]]によって対応できるかどうかが変わる。**
### 環境
| 対象 | バージョン |
| -------------------------------- | --------- |
| [[Neovim]] | 0.11.4 |
| [[trouble.nvim]] | `bd67efe` |
| [[workspace-diagnostics.nvim]] | `60f9175` |
| [[lua-language-server\|lua_ls]] | 3.15.0 |
| [[Lua]] | 5.1 |
| [[vtsls]] | 0.2.9 |
| [[Biome]] | 2.3.8 |
| [[@vue language-server\|vue_ls]] | 5.6.0 |
| [[denols]] ([[Deno]]) | 2.5.6 |
| [[TypeScript]] | 5.9.2 |
| [[gopls]] | 0.21.0 |
| [[golangci-lint]] | 2.7.2 |
| [[golangci-lint-langserver]] | 0.0.11 |
| [[Go]] | 1.24.4 |
| [[Rust]] | 1.90.0 |
| [[rust-analyzer]] | 1.90.0 |
| [[Clippy]] | 1.90.0 |
| [[Pyright]] | 1.1.405 |
| [[Python]] | 3.13.7 |
## 対応一覧
| **[[LSP]]** | 言語/FW | サポート | 備考 |
| -------------------------------- | ---------------------- | ---- | --------------------------------- |
| [[lua-language-server\|lua_ls]] | [[Lua]] | ✅ | |
| [[vtsls]] | [[TypeScript]] | ✅ | [[workspace-diagnostics.nvim]]が必要 |
| [[Biome]] | [[TypeScript]] | ✅ | [[workspace-diagnostics.nvim]]が必要 |
| [[@vue language-server\|vue_ls]] | [[Vue]]/[[TypeScript]] | ✅ | [[workspace-diagnostics.nvim]]が必要 |
| [[vtsls]] | [[Vue]]/[[TypeScript]] | ✅ | [[workspace-diagnostics.nvim]]が必要 |
| [[denols]] | [[TypeScript]] | ❌ | |
| [[gopls]] | [[Go]] | ✅ | |
| [[golangci-lint-langserver]] | [[Go]] | ✅ | [[workspace-diagnostics.nvim]]が必要 |
| [[rust-analyzer]] | [[Rust]] | 🔺 | [[rustc]]のdiagnosticsしか出ない |
| [[Pyright]] | [[Python]] | ✅ | [[workspace-diagnostics.nvim]]が必要 |
- [[Lua]]が唯一何も準備がいらなかった
- [[Go]]と[[Rust]]も言語コアの部分は準備不要
- [[TypeScript]]、[[Python]]、[[Go]]や[[Rust]]のサードパーティー製のものは[[workspace-diagnostics.nvim]]が必要
- [[Deno]]だけは[[workspace-diagnostics.nvim]]を使っても無理
## ハマりポイント
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📝workspace-diagnostics.nvimでpopulate_workspace_diagnosticsを実行しても診断結果を取得できないファイルがある
</div>
<div class="link-card-v2-content">workspace-diagnostics.nvimでpopulate_workspace_diagnosticsを実行したところ、一部のソースコードファイルが診断結果の取得対象外になった。原因はそのファイルがGit管理下になく、git ls-filesの結果に含まれていなかったためで、git addして追跡対象にしたところ診断結果を取得できた。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/troubleshooting.webp" />
<a data-href="📝workspace-diagnostics.nvimでpopulate_workspace_diagnosticsを実行しても診断結果を取得できないファイルがある" class="internal-link"></a>
</div>
%%[[📝workspace-diagnostics.nvimでpopulate_workspace_diagnosticsを実行しても診断結果を取得できないファイルがある]]%%