如何使用 neovim lsp dart 更改格式化程序行长度?

问题描述 投票:0回答:2

我正在使用内置的 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
    }
  }
}
flutter dart lua-table neovim language-server-protocol
2个回答
0
投票

使用 AstroNvim,您可以使用

lsp.server-settings.<lsp>
选项为 LSP 配置添加选项。

<lsp>
替换为用于 dart/flutter 的 LSP 服务器的名称,并为
line-length
添加选项(选项可以是表或函数)。请参阅 https://github.com/AstroNvim/AstroNvim/tree/main/lua/configs/lsp/server-settingshttps://github.com/AstroNvim/AstroNvim/blob/main/lua/ 中的示例user_example/init.lua

根据dartls文档,正确的配置应该是:

["server-settings"] = {
  dartls = {
    settings = {
      dart = {      
        lineLength = 120
      }
    }
  }
}

0
投票

您可能正在使用 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。它将 而是由该插件自动设置。

顺便说一句,您可以在这里找到其他飞镖设置。

© www.soinside.com 2019 - 2024. All rights reserved.