且逆风 发表于 2018-10-19 17:02

【VC】}vscode C/C++智能提示和查找引用功能修复

本帖最后由 wushaominkk 于 2018-10-21 18:54 编辑

visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器
支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性
支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux,运行流畅,可谓是微软的良心之作Visual Studio Code 是微软首次为开发者提供「跨平台」的代码编辑器,微软开发部门负责人称:“虽然许多人把 Windows 作为开发环境,但还有很多人用的是 Linux 和 Mac,与其说服这些人改用 Windows,不如在他们使用的平台上提供工具满足其要求。” 可以预见,VSC 的推出将会在开发界掀起轩然大波。近日,微软更新了新版1.25.1,修复Bug提升程序性能,推荐更新。

   visual studio code 配置C、C++环境 推荐安装的三个插件 C/C++C/C++ ,clang command adapter , c++intellisense 插件可以提供代码提示和代码跳转等功能,然而在使用过中发现,clang command adapter , c++intellisense 这两个插件之间相互冲突,导致代码提示的内容混乱
官方一直没有发布修复方法。
   clang command adapter插件是调用clang后端来完成对代码的语法分析为用户提供完整的自动提示,在没有c++intellisense冲突的情况下可以提供正确的提示内容
   c++intellisense 调用gun global 工具通过对代码符号进行标记来完成代码跳转引用等功能,也可以通过符号匹配提供代码提示功能 ,这种方法没有基于语法进行分析,只是单纯的符号匹配所以在多文件工程中往往不能得到理想的结果
   本人研究发现 vscode在自动完成时正确的提示内容被c++intellisense基于符号所提供的自动完成功能所覆盖导致最终代码提示混乱。
    本人已经验证可通过屏蔽C:\Users\username\.vscode\extensions\austin.code-gnu-global-0.2.2\out\src\features 路径下 completionItemProvider.js 第45-48行代码即可使clang command adapter , c++intellisense无冲突共存
   


魔剑天 发表于 2018-10-28 10:06

厉害,谢谢楼主

流星的孤单 发表于 2018-10-29 08:43

厉害,谢谢楼主,顶一个

huaidan233 发表于 2019-5-14 11:02

厉害,谢谢楼主,顶一个
页: [1]
查看完整版本: 【VC】}vscode C/C++智能提示和查找引用功能修复