如何在VS Code的大纲视图中隐藏声明?
VS Code C语言大纲视图:隐藏声明与修复误识别问题
一、全局隐藏大纲中的声明
VS Code原生无直接隐藏所有声明的选项,可通过以下两种方式实现:
- 利用C/C++扩展配置过滤
在工作区的.vscode/settings.json中添加配置,仅保留函数定义:
若你的C/C++扩展版本较低无"C_Cpp.outline.showDeclarations": false, "C_Cpp.outline.showDefinitions": true, "C_Cpp.outline.filter": [ "FunctionDefinition" ]filter选项,先更新扩展至最新版。 - 通过符号名称过滤
若上述配置无效,使用outline.excludedSymbols匹配声明类符号:
此方式通过名称匹配过滤大部分声明项。"outline.excludedSymbols": [ "*declaration", "*Declaration" ]
二、修复返回值被误识别为声明的bug
针对tNetworkParameters declaration指向函数返回值的问题,按以下步骤处理:
- 更新C/C++扩展
旧版本扩展(对应VS Code 1.77.3的版本)存在符号解析bug,更新至最新版后,解析逻辑优化可大概率修复该问题。 - 确保头文件被正确索引
在.vscode/settings.json中配置头文件路径,让扩展正确识别结构体定义:
配置后重启VS Code,让扩展重新索引,即可正确识别"C_Cpp.default.includePath": [ "${workspaceFolder}/**" ], "C_Cpp.default.browse.path": [ "${workspaceFolder}/**" ]tNetworkParameters为结构体类型。 - 提交bug反馈
若更新后问题仍存在,可在C/C++扩展的GitHub仓库提交bug,附上create_netparams函数代码、tNetworkParameters结构体定义及VS Code、扩展版本信息,协助官方修复。
内容的提问来源于stack exchange,提问作者Kerby
相关产品推荐
相关产品推荐

