Visual Studio Code C++扩展更新
更新来了
Visual Studio Code C++扩展的2月更新现已可用。在最新版中,我们提供了对交叉编译环境下的IntelliSense配置的支持,另外,我们还修复了60多个Bug。(看来,Bug不少啊)
交叉编译IntelliSense配置
在此最新版本中,你可以配置扩展以在针对不同于主机OS的平台进行编译时提供适当的IntelliSense。是的,我说的是平台,而不仅仅是架构。C++扩展不再根据你的主机操作系统对系统进行硬编码,它将使用你使用的编译器返回的系统定义。
假设,你在macOS上进行开发,而你的项目则针对Linux。假设你有与项目目标平台和体系结构兼容的编译器,则C++扩展将使用IntelliSense配置中的Compiler路径,Compiler参数和IntelliSense模式设置来查询该编译器。如果你使用的是自定义配置提供程序(例如CMake工具)或compile_commands.json,则无需担心更新C++扩展程序的IntelliSense配置:一切都会正常工作。
工程的IntelliSense配置存储在.vscode文件夹下的c_cpp_properties.json文件中。通过选择C /C++来修改这些设置:从命令面板中选择“C/C++: Edit Configurations (UI) ”。
在配置的”Compiler path”设置项下,输入与目标平台和体系结构兼容的编译器的路径。
然后,使用Compiler参数提供与编译器交叉编译代码时使用的目标三元组。 例如,如果目标是64位Linux,则为–target = x86_64-linux。这允许C++扩展查询编译器的系统定义,并包括特定于目标平台和体系结构的路径。
接下来,将IntelliSense模式设置为你所使用的编译器的特定于平台和体系结构的变体(它应与Compiler参数中定义的目标三元组相匹配)。 如果查询编译器返回的信息与你选择的IntelliSense模式不匹配,则C++扩展程序将自动更正IntelliSense模式。
现在,当你在VS Code中打开项目时,你将获得针对目标平台而不是macOS的IntelliSense。不再有来自硬编码系统定义的花样!
其他的增强功能
除了支持交叉编译IntelliSense配置之外,2021年2月的更新还具有以下增强功能:
#6326 clang格式已更新至版本11。
#6494 现在,我们提供了具有ARM64 Windows设备扩展名的本机ARM64 clang格式二进制文件。
#6018 我们添加了一条命令,可从你的代码格式设置(vcFormat)生成EditorConfig内容
PR #6794 我们支持cppvsdbg的新”控制台”启动配置属性(替换旧版”externalConsole”属性)。
Bug修复
2021年2月更新的C++扩展修复了60多个Bug! 仅举几例:
#6774 修复由于Linux ARM/ARM64上缺少libtinfo5而导致clang格式失败的问题
#1575 使用compileCommands修复–sysroot和-isysroot的处理问题。
#1780 修复如果未打开的头文件发生更改,则IntelliSense不会更新的问题。
#2667和6749 修复”头文件/源文件”在不可见的情况下不会切换到另一列中的现有文件的问题。
#6713 允许扩展在M1 Mac的x64模拟器上运行。
#4044和#4249 修复悬停并查找模板函数重载的“查找所有引用”的问题。
总结
老大哥再怎么开发新东西,也没忘照顾昔日王者C++,我觉得很欣慰。
还是Keep moving吧各位。
最后
Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《Visual Studio Code C++ Extension: Cross-Compilation IntelliSense Configurations》
相关文章
- Exploiting Visual Artifacts to Expose Deepfakes and Face Manipulations论文详记
- c++获取子类窗口句柄位置_C++中各种获取窗口句柄的方法「建议收藏」
- C++构造函数的作用_c++什么是构造函数
- Visual C++ 微软常用运行库合集_2022.09.15
- C++结构体和类的区别_c++有结构体吗
- Visual Studio中C++关于Unicode字符集和多字节字符集
- CA周记 - 用 Visual Studio Code 做基于 .NET MAUI 跨平台移动应用开发
- c++的链表-C++链表
- c++的链表-C++实现简单链表
- vc60修改快捷键-如何解决Visual c++不能打开文件以及工程不能添加文件的问题
- Visual Studio 2010 注册信息修改器
- 【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )
- 【C++ 语言】Visual Studio 配置 POSIX 线程 ( Windows 不支持 POSIX | 配置文件下载 | 库文件说明 | 配置过程 )
- 【OpenGL】五、Visual Studio 2019 配置 GitHub ( 提交代码 )
- 【Visual Studio】Visual Studio 2019 创建 Windows 控制台程序 ( 安装 ‘使用 C++ 的桌面开发‘ 组件 | 创建并运行 Windows 控制台程序 )
- 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 )
- 【C 语言】动态库封装与设计 ( Windows 动态库简介 | Visual Studio 调用动态库 )
- 【开发环境】安装 Visual Studio Community 2013 开发环境 ( 下载 Visual Studio Community 2013 with Update 5 版本的安装包 )
- 【Unity3D】Unity 脚本 ① ( 创建 C# 脚本 | Visual Studio 2019 中打开 C# 脚本 | 编译 C# 脚本 | 挂载 C# 脚本到游戏物体 | 运行脚本 )
- 【Android OpenCV】Visual Studio 创建支持 OpenCV 库的 CMake 工程 ④ ( OpenCV 官方代码示例 )
- sap JCO3.0安装缺少Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package (KB973544)详解编程语言
- Microsoft Visual C++ 2019 v14.26.28720.3 官方版
- 最佳Mac开发者 微软推出针对M1芯片优化过的Visual Studio Code稳定版
- Visual Basic 被群众的呼声所挽救
- 微软发布支持 Linux 和 OS X 平台的 Visual Studio Code
- VisualC++中MFC消息的分类