如何使用VSC浏览Linux内核源代码

Hen*_*hoi 1 preprocessor visual-studio-code

我正在从Eclipse CDT转换。当使用预处理器定义(无论是在Makefile中明确指定还是通过外部自动生成的头文件包含在内)在C / C ++代码中浏览时,预处理器宏功能是必需的。如果没有这个,就无法导航Linux源代码,如本开创性的Wiki页面上有关使用Eclipse研究Linux代码所述。我正在寻找VSC的等效功能。希望有一个指针。

带问候

Mar*_*377 7

截至今天,我发现vscode-linux-kernel项目的使用优于上面列出的两个答案,因为代码导航和智能感知效果非常好。

该项目已发布到公共领域。


gen*_*ise 7

这对我来说最有效(解决了之前答案中片段的一些问题):

{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "${workspaceFolder}/include",
                "${workspaceFolder}/arch/<arch>/include",
                "${workspaceFolder}/arch/<arch>/include/generated"
            ],
            "forcedInclude": [
                "${workspaceFolder}/BUILD/include/generated/autoconf.h"
            ],
            "defines": [
                "__KERNEL__"
            ],
            "compilerPath": "/usr/bin/gg", # replace this with your compiler (also gcc cross-compiler)
            "cStandard": "c11",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}
Run Code Online (Sandbox Code Playgroud)

您可以将其替换<arch>为您的实际架构。


小智 5

  1. 安装ms-vscode.cpptools扩展。
  2. 在VSCode中打开内核源文件夹。
  3. 按照说明,将“ $ {workspaceFolder} / include”和“ $ {workspaceFolder} / arch / {your arch} / include”添加到includePath,“ your arch”是x86 / arm等。
  4. 等待IntelliSence索引。