Visual Studio 2022中的C++ IDE增强-基础电子_第1页
Visual Studio 2022中的C++ IDE增强-基础电子_第2页
Visual Studio 2022中的C++ IDE增强-基础电子_第3页
Visual Studio 2022中的C++ IDE增强-基础电子_第4页
Visual Studio 2022中的C++ IDE增强-基础电子_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑VisualStudio2022中的C++IDE增强-基础电子如果说对C++新标准的支持为VisualC++的发展奠定了坚实的基础,那么,她在IDE方面的增强,则会让她更加光彩照人。

很多VisualC++程序员都爱吃西红柿(VisualAssist)。为什么?因为它可以补偿VC(VisualC++)。虽然VisualC++在C++库,编译器,MFC等方面非常强大,但是她的IDE一直受到C++程序员的诟病。特别是进入VisualStudio2000之后,VisualC++的IDE并没有大的改变,但是效率却越来越低下,使得程序员们不得不多吃“西红柿”,补充点VC。

微软试图将VisualStudio2022打造成跟VisualStudio6一样的经典开发工具。所以,除了在语言层面开始支持的C++标准外,在IDE以及MFC库等方面,微软也下了很大的力气。VisualC++不仅改善了IDE的效率,同时也引入了很多新的特性,期待这些IDE增强能够切实的提高程序员们的开发效率。

VisualStudio2022中的VisualC++增强主要包括以下几个方面:

改进的项目系统支持

在以往的VisualStudio版本中,MSBuild不能很好地支持VisualC++项目,微软转而提供了一个替代的专门解决办法:VCBuild。在VisualStudio2022中,微软终于改进了这一点,将VCBuild的众多特有的功能集成到MSBuild中,并且使用MSBuild替代了VCBuild。虽然VCBuild有很多针对VisualC++项目的实用功能,但是,新的MSBuild不仅继承了这些功能,还提供了更多的新特性,吸引用户升级到这一新的构建平台上来:

◆诊断功能:MSBuild增强了它的诊断功能,以帮助用户更加容易地发现和调试构建错误。例如,MSBuild可以帮助你决定如何以特定的顺序编译某些源文件,因为MSBuild可以检测这些文件之间的依赖性。

◆可扩展性:使用MSBuild,用户可以为某些特定的平台构建不同的解决方案。另外,也可以在构建过程中,使用不同版本的编译器。连接器等,使得我们的解决方案更具扩展性。

◆集成:我们可以将我们的VisualC++项目添加到一个已经存在的MSBuild环境中。例如,我们可以将一个新的VisualC++项目集成到一个已经存在的MSBuild环境中,虽然这个MSBuild环境包含的是使用.NETFramework的VisualC#和VisualBasic项目。

Multi-Targeting曾经作为VisualStudio的一个重要特性,受到微软的大力推广。因为它使得“编码,多个平台运行”成为可能。这一特性给程序员们带来了极大的便利,再也不用为目标机器混乱的平台而头疼。但是在之前的VisualStudio中,Multi-Targeting特性只在托管语言中得到支持,可以针对不同的.NETFramework版本。现在在VisualStudio2022中,随着MSBuild的应用,本地代码的Multi-Targeting也成为可能。

在VisualStudio2022中,我们可以选择使用VisualStudio2022的工具集还是VisualStudio2022的工具集。当我们因为一些兼容性或者是其他方面的原因不愿过早地升级到VisualStudio2022时,我们可以利于Multi-Targeting特性,选择使用VisualStudio2022的VisualC++程序库和编译器,而同时使用VisualStudio2022的IDE。这样就实现了“鱼与熊掌兼得”。当我们终决定升级到VisualStudio2022的程序库和编译器时,只需要在MSBuild或是项目属性中做一个简单的设置就可以了。下图展示了不同工具集设置下项目的编译记录。

Multi-Targeting:目标工具集为V90

Multi-Targeting:目标工具集为V100

改进的VisualStudio用户体验

相信很多使用VisualStudio作为开发工具的VisualC++程序员都会怀恋使用VisualC++6.0的日子。VisualC++6.0配合着VisualAssist这个辅助工具,成为C++程序员们开发工具的不二之选。随着VisualStudio版本的升级,IDE引入了一些新的特性,但是却使得整个IDE非常臃肿,效率低下。现在,VisualStudio2022在IDE的效率方面做了很多工作,以提高我们的开发效率:

头文件编辑

在以往的VisualStudio中,如果我们编辑一个被多处源文件引用的头文件,VisualStudio将不得不打断你的工作,因为它要很长的时间重新处理整个项目。现在,在新的VisualStudio2022中,当我们编辑头文件后,我们可以继续工作,而VisualStudio会在后台进行新的头文件的处理,同时IntelliSense也将很快更新,反应出我们对头文件的修改。

改变项目配置

跟头文件编辑相似,在以往的VisualStudio中,当我们改变了项目的配置后,VisualStudio会打断我们的工作去处理项目配置的改变。例如,当我们将当前的项目配置从Debug切换到Release后,VisualStudio会花很长一段时间去处理项目配置的改变,而在这段时间内,VisualStudio就像死掉一样,我们什么都不能做,只能傻等着。(我曾经无奈地把它当做VisualStudio的一个人性化设计,故意让我们这些久坐的程序员在等待的时候起来走走,舒活一下筋骨。)在新的VisualStudio2022中,修改项目配置后我们无需再等待就可以继续工作。

配置项目的物理分布

你的项目是否非常庞大,包含很多源文件?如果是这样的话,在以往的VisualStudio中,当它处理项目的所有文件时,将显得非常缓慢。为了解决这个文件,我们往往不得不将一个项目拆分成多个项目,这样每个项目中的源文件就会少很多,VisualStudio每次处理的文件数少一些,就会显得快一点。在新的VisualStudio中,它提高了处理源文件的效率,即使你的项目有很多源文件,VisualStudio在处理这些文件的时候,仍然可以保持活动而不会出现“假死”的现象。这个特性可以使得我们将原来需要分布在多个项目中的源文件,根据需要重新配置,使得项目的物理分布更加合理。

更加聪明的IntelliSense

C++作为复杂的编程语言,其IntelliSense一直是VisualStudio的一个难点。在以往的VisualStudio中,C++的IntelliSense是基于编译器的,它可以理解复杂的C++代码。但是,对于一些比较的C++代码,特别是跟宏相关的一些内容,IntelliSense就显得无能为力了。在新的VisualStudio中,改进的IntelliSense显得更加聪明,几乎可以理解任何复杂形式的C++代码。有了新的IntelliSense,估计很多程序员所钟爱的VisualAssist会受到冷遇了。

增强的MFC

虽然大家都在说MFC过时了,但是,现在世界上还有很多MFC正在运行,也同样还有很多基于MFC的程序正在开发中。我们可以说随着.NETFramework等等新框架的推出,MFC不再是几乎的选择,但是,随着VisualC++FeaturePack的推出,MFC在界面开发方面的能力等到了大大增强,MFC也在与时俱进,远没有到过时淘汰的程度。在VisualStudio2022中,除了之前随着VisualC++FeaturePack发布的众多特性外,MFC又带来了两项重要的特性:

任务对话框CTaskDialog

为了改善用户体验,在Vista中,微软使用任务对话框(TaskDialog)代替了原先广泛使用的消息框(MessageBox)。跟消息框相比,任务对话框不仅可以向用户显示消息,还可以显示自定义的按钮,命令行选项以及更加丰富的辅助信息等。新的CTaskDialog类提供了很多简单实用的函数,程序员们可以轻松上手,使用任务对话框来改善应用程序的用户体验,使自己的应用程序的界面风格跟Vista系统保持一致。下面这段简短的代码就创建了一个简单的任务对话框,来询问用户对任务对话框的态度:

RestartManagerSupport

在新的VistaStudio2022中,MFC程序开始支持重启管理器(RestartManager)。重启管理器是Vista所引入的一个重要新特性,它可以在程序意外崩溃的时候,保护用户任何未保存的文档数据等。当我们的程序因为种种原因意外崩溃的时候,重启管理器可以重新启动应用程序并且可以让用户选择是否要恢复未保存的数据等。使用重启管理器,可以有效地降低我们数据丢失的风险,极大地改善程序的抗风险能力。

在VisualStudio2022中,我们可以通过简单地在程序初始化的地方添加几行代码,就使得我们的应用程序具有重启管理器的功能。

VisualC++程序的发布与部署

新的VisualStudio2022改变了依赖于VisualC++库的应用程序的发布方式。依赖于VisualC++库的应用程序不再需要Fusion(WinSxS)Manifest,这意味着当我们将应用程序部署到一个本地文件夹时,将不再需要众多的小Manifest,只需要复制MFC和C++运行时库mfc100u.dll和msvcr100.dll这两个dll文件到Release文件夹就

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论