我正在使用内置的 LSP(通过出色的 AstroVim)运行 nvim 来开发 dart 和 flutter。
热爱一切,除了 lsp 格式化(保存时格式化)如何将我的行换行为 80 个字符。
我可以看到 dart 命令行格式化程序如何支持
--line-length=<value>
我的问题:如何将该参数包含到 lsp 中
lua vim.lsp.buf.formatting()
命令以便以更长的行长度进行格式化。
PS。是的,我完全意识到关于线路长度的宗教战争。
PPS。我已经在我的 AstroVim 用户配置中尝试过这个,但它似乎不起作用
["server-settings"] = {
dartls = {
settings = {
["line-length"] = 120
}
}
}
使用 AstroNvim,您可以使用
lsp.server-settings.<lsp>
选项为 LSP 配置添加选项。
将
<lsp>
替换为用于 dart/flutter 的 LSP 服务器的名称,并为 line-length
添加选项(选项可以是表或函数)。请参阅 https://github.com/AstroNvim/AstroNvim/tree/main/lua/configs/lsp/server-settings 和 https://github.com/AstroNvim/AstroNvim/blob/main/lua/ 中的示例user_example/init.lua
根据dartls文档,正确的配置应该是:
["server-settings"] = {
dartls = {
settings = {
dart = {
lineLength = 120
}
}
}
}
您可能正在使用 flutter-tools.nvim。在这种情况下,只需创建
~/.config/nvim/lua/plugins/flutter-tools.lua
文件并在其中放入类似的内容:
return {
"akinsho/flutter-tools.nvim",
opts = {
lsp = { settings = { lineLength = 120 } },
},
}
flutter-tools
不应使用 nvim-lspconfig
进行配置。引用自 flutter-tools
GitHub 页面:
flutter 工具不依赖于 nvim-lspconfig。两者可以共存 但请确保您不使用 lspconfig 配置 dartls。它将 而是由该插件自动设置。
顺便说一句,您可以在这里找到其他飞镖设置。