如何使用 Neovim 自定义 Clang 格式

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

我正在使用 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
文件位置以外的解决方案,我将不胜感激。

c++ neovim clang-format language-server-protocol none-ls
1个回答
0
投票

@Alan Birtles 在评论中提供的答案是正确的。文件名应为

.clang-format
,并带有
-
,而不是
.clangformat

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