vscode阅读Linux代码(clangd)

vscode阅读Linux代码(clangd)

Linux主机配置
sudo apt install clangd bear

编译内核代码,并生成编译信息文件

make ARCH=arm64 orangepi-zero3_defconfig
make ARCH=arm64 CROSS_COMPILE=/work/orange_zero_3/buildroot/output/host/bin/aarch64-linux- -j12

或者在make前面添加命令:bear --append -- ,下步骤可以不做

生成compile_commands.json

python3 ./scripts/clang-tools/gen_compile_commands.py
vscode配置

禁用或卸载官方C/C++插件

安装插件:clangd,LLDB DAP,CMake Tools

全局配置(局部配置需要手动创建json文件),如需使用,仅需复制clangd部分即可。

{
    "remote.SSH.remotePlatform": {
        "192.168.10.10": "linux",
        "192.168.10.11": "linux",
        "192.168.10.20": "linux"
    },
    "window.commandCenter": false,
    "files.defaultLanguage": "display",
    "workbench.colorTheme": "One Dark Modern",
    "cmake.showOptionsMovedNotification": false,
    "terminal.integrated.enableMultiLinePasteWarning": false,
    "arduino.useArduinoCli": true,
    "editor.minimap.enabled": false,
    "workbench.editorAssociations": {
        "*.bin": "default",
        "*.scr": "default"
    },
    "makefile.configureOnOpen": true,
    "search.collapseResults": "auto",
    "search.defaultViewMode": "tree",
    "editor.accessibilitySupport": "off",
    "git.openRepositoryInParentFolders": "never",
    "C_Cpp.intelliSenseEngine": "disabled",
    "cmake.generator": "Ninja",
    "cmake.preferredGenerators": [

    ],
    "cmake.configureSettings": {
    "CMAKE_EXPORT_COMPILE_COMMANDS": 1,
    },
  // Clangd 运行参数(在终端/命令行输入 clangd --help-list-hidden 可查看更多)
    "clangd.arguments": [
      "--all-scopes-completion",
      "--completion-style=bundled",
      "--cross-file-rename",
      "--header-insertion=never",
      "--header-insertion-decorators",
      "--background-index",
      "--clang-tidy",
      "-j=16",
      "--pch-storage=memory",
      "--function-arg-placeholders=false",
      "--compile-commands-dir=${workspaceFolder}"
    ],
}

配置clangd

设置—>搜索clangd—>Clangd: Arguments—>添加项

--compile-commands-dir=${workspaceFolder}

删除配置(否则会报Clang Language Server client: couldn’t create connection to server.)

--compile-commands-dir=build

创建.clangd文件(源码目录下面)

解决error: invalid AST错误,此处是照抄别人的配置,具体含义未知。

CompileFlags:       
  Remove: -mabi=lp64
参考

vscode使用clangd报error: invalid AST错误-优快云博客

vscode+clangd阅读Linux内核源码_vscode阅读linux源码-优快云博客

Couldn’t build compiler instance · Issue #734 · clangd/clangd (github.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值