1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
  | {
    "files.associations": {
        "iostream": "cpp",
        "intrinsics.h": "c",
        "ostream": "cpp",
        "vector": "cpp"
    },
    "editor.formatOnPaste": true,
    "editor.formatOnSave": true,
    "editor.formatOnType": true,
    // 关闭 C/C++ Extension Pack 插件的提示 防止其与clangd冲突
    "C_Cpp.errorSquiggles": "disabled",
    "C_Cpp.intelliSenseEngineFallback": "disabled",
    "C_Cpp.intelliSenseEngine": "disabled",
    "C_Cpp.autocomplete": "disabled", // So you don't get autocomplete from both extensions.
    // 指向clangd路径
    "clangd.path": "/tmp/NDK/ndk-r25b/toolchains/llvm/prebuilt/linux-x86_64/bin/clangd",
    "clangd.arguments": [
        // compelie_commands.json 文件的目录位置
        "--compile-commands-dir=${workspaceFolder}/",
        // 让 Clangd 生成更详细的日志
        "--log=verbose",
        // 输出的 JSON 文件更美观
        "--pretty",
        // 全局补全
        "--all-scopes-completion",
        // 建议风格:打包(重载函数只会给出一个建议)相反可以设置为detailed
        "--completion-style=bundled",
        // 跨文件重命名变量
        "--cross-file-rename",
        // 允许补充头文件
        "--header-insertion=iwyu",
        // 输入建议中,已包含头文件的项与还未包含头文件的项会以圆点加以区分
        "--header-insertion-decorators",
        // 在后台自动分析文件 基于 complie_commands
        "--background-index",
        // 启用 Clang-Tidy 以提供「静态检查」
        "--clang-tidy",
        // Clang-Tidy 静态检查的参数,指出按照哪些规则进行静态检查
        // 参数后部分的*表示通配符
        // 在参数前加入-,如-modernize-use-trailing-return-type,将会禁用某一规则
        "--clang-tidy-checks=cppcoreguidelines-*,performance-*,bugprone-*,portability-*,modernize-*,google-*",
        // 默认格式化风格: 谷歌开源项目代码指南
        "--fallback-style=file",
        // 同时开启的任务数量
        "-j=2",
        // pch优化的位置(memory 或 disk,选择memory会增加内存开销,但会提升性能)
        "--pch-storage=disk",
        // 启用这项时,补全函数时,将会给参数提供占位符
        // 我选择禁用
        "--function-arg-placeholders=false"
    ],
}
  |