如何在 Kate 文本编辑器中启用 c++17 语言?

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

含义启用正确的语法和错误突出显示以及建议。我不是通过 Kate 构建我的程序,只是编辑代码。

当我尝试在 Kate 中编写以下内容时(在名为 main.cpp 的文件中,Kate 使用 c++ 语法突出显示等,但它必须使用较旧的语言版本):

#include <filesystem>
//stuff
std::filesystem::path path;

,我收到错误:[clang](无成员)命名空间“std”中没有名为“文件系统”的成员,这与如果我尝试在不更改语言的情况下使用 std::filesystem 时 Visual Studio 给出的错误几乎相同设置为 c++17(或更高版本)。但是,我不知道如何在 Kate 中更改为 c++17 语法突出显示,或者是否可能。

我检查了文档并用谷歌搜索,并检查了我能找到的 stackoverflow 上的所有结果,并浏览了所有菜单,但我对使用 Kate 的了解还不够,无法弄清楚如何启用 c++不幸的是,我自己在 Kate 里掌握了 17 种语言。

编辑:在设置 > 配置 Kate > LSP 客户端 > 默认服务器设置中显示:

"servers": {
    ...
    "c": {
        "command": ["clangd", "-log=error", "--background-index", "--limit-results=500", "--completion-style=bundled"],
        "commandDebug": ["clangd", "-log=verbose", "--background-index"],
        "url": "https://clang.llvm.org/extra/clangd/",
        "highlightingModeRegex": "^(C|ANSI C89|Objective-C)$"
    },
    "cpp": {
        "use": "c",
        "highlightingModeRegex": "^(C\\+\\+|ISO C\\+\\+|Objective-C\\+\\+)$"
    },
c++ linux c++17 kde-plasma kate
1个回答
0
投票

我知道这个问题已经在这里存在了一段时间了,但是,根据SO中的这个答案这个答案,您需要将

-std=c++17
添加到
clangd
命令,如下所示:

    "cpp": {
        "use": "c",
        "command": ["clangd", "-log=error", "--background-index",
                    "--limit-results=500", "--completion-style=bundled",
                    "-std=c++17"],
        "highlightingModeRegex": "^(C\\+\\+|ISO C\\+\\+-23|Objective-C\\+\\+)$"
    },

我希望它有效。

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