我正在使用 none-ls 将 Clang-Format(版本
19.1.0
)配置为 Neovim(版本 v0.10.2
)中的 LSP。
我想使用 .clangformat
文件来更改格式规则,但我不知道如何让 Neovim 使用这些新规则。
现在
.clangformat
文件是我的用户目录,它是我的项目的父目录,但是当我运行vim.lsp.buf.format
时,规则不适用。当从终端运行可执行文件时,使用 :!clang-format -i fileToBeFormatted--style=file: .clangformatPath 传入
.clangformat
文件的路径
它正确地应用了规则。
这是如何配置 none-ls 或文件所在位置的问题吗?
我使用 Lazy 的 none-ls 配置:
return {
"nvimtools/none-ls.nvim",
config = function()
local null_ls = require("null-ls")
null_ls.setup({
debug = true,
sources = {
null_ls.builtins.formatting.stylua,
null_ls.builtins.diagnostics.clang_tidy,
null_ls.builtins.formatting.clang_format.with({
extra_args = { "--style=file" },
}),
},
})
vim.keymap.set("n", "<leader>fo", vim.lsp.buf.format, {})
end,
}
只是想补充一点,我希望按键绑定
<leader>fo
保持语言中立,所以如果能找到硬编码 .clangformat
文件位置以外的解决方案,我将不胜感激。
@Alan Birtles 在评论中提供的答案是正确的。文件名应为
.clang-format
,并带有 -
,而不是 .clangformat