Visual Studio Code中是否存在用于让C++解析器忽略代码的预处理器宏?
Visual Studio Code中是否存在用于让C++解析器忽略代码的预处理器宏?
哎,这个问题问得很实用!毕竟像CLion、Eclipse CDT这类IDE都有专属的预处理器宏,用来让内置解析器跳过特定代码段,VS Code里当然也有对应的方案,不过得看你用的是哪款主流的C++解析工具:
微软官方C/C++扩展(IntelliSense引擎)
这是VS Code里最常用的C++支持扩展,它的IntelliSense解析器会自动定义__INTELLISENSE__宏。你可以用这个宏来标记不想让解析器处理的代码,比如:#ifndef __INTELLISENSE__ // 这段代码会被正常编译,但IntelliSense不会去解析它 some_code_that_messes_up_the_parser(); #endifClangd扩展
如果你用的是基于Clang的Clangd扩展来做代码解析、补全,那它会定义__CLANGD__专属宏,同时也支持Clang原生的__clang__宏。用__CLANGD__来针对性让Clangd忽略代码会更精准。
要知道,VS Code本身只是个编辑器,它的C++解析能力全靠这些第三方扩展/工具提供,所以不同工具对应的宏不一样,选对宏才能达到让解析器忽略代码的效果。
备注:内容来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

