Fra*_*ayr 4 intellisense linux-kernel visual-studio-code
我想使用 VS code 来开发 Linux 内核模块。我已将路径添加到浏览路径中,但不幸的是它不起作用。这是我的c_cpp_properties.json:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${HOME}/Workspaces/kernel-sources/mainline/linux/include",
"${workspaceRoot}"
],
"defines": [],
"intelliSenseMode": "clang-x64",
"browse": {
"path": [
"${HOME}/Workspaces/kernel-sources/mainline/linux/include/",
"${workspaceRoot}"
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
],
"version": 3
}
Run Code Online (Sandbox Code Playgroud)
我想包含类似内容#include <linux/miscdevice.h>,但智能感知解析器无法找到该文件。我将解析器引擎更改为“标签解析器”,因为新的默认解析器无法递归包含文件,因为它们位于内核源代码中。有什么想法如何配置我的智能感知吗?
我在 ubuntu 16.04 上使用 vs code 1.19
确保该kernel-devel软件包已安装。
如果您在头文件下看到绿色波浪线#include,请单击它。它应该在项目内的目录c_cpp_properties.json中生成一个文件。.vscode
找到“Linux”、“IncludePath”部分并添加您需要的包含路径。
我的最终看起来像这样:
"name": "Linux",
"includePath": [
"${workspaceFolder}",
"/usr/include",
"/usr/local/include",
"/usr/src/kernels/3.10.0-693.el7.x86_64/include/",
"/usr/lib/gcc/x86_64-redhat-linux/4.8.2/include/",
"/usr/src/kernels/3.10.0-693.el7.x86_64/arch/x86/include/"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13406 次 |
| 最近记录: |