用Visual Studio 2017 RC 打开任何C++ 源代码文件夹

[原文发表地址] Open any folder with C++ sources in Visual Studio 2017 RC [原文发表时间] 11/16/2016   随着Visual Studio 2017RC 的发布,我们一直在改进c++源代码中的“打开文件夹”功能。在这次发布的产品中,对于调试器和C++语言服务,我们增加了生成以及更简单配置的支持。 如果你刚刚开始使用“打开文件夹”或者想要更深入的了解这些功能, 可以去C++入门介绍的打开文件功能,在那里已经更新了下面的内容。如果你目前在使用CMake, 可以去看我们的博客介绍Visual Studio的CMake支持。 以下是对Visual Studio 2017的最新RC版本中的“打开文件夹”功能的改进: 读写C++代码 生成C++程序 调试C++二进制文件   阅读并编辑C++代码 环境变量和宏支持。有利于配置C++智能感知和浏览的CppProperties.json 文件,目前对于指定头文件路径和其他属性值支持环境变量扩展功能。语法是将一个环境变量%FOODIR%扩展到${env.FOODIR}。 注意:%WindowsSdkDir% 和%VCToolsInstallDir%未设置为全局环境变量,所以确保从VS2017开发人员命令提示符启动devenv.exe,因为它定义了这些变量。   在此文件内,你还可以访问到内置宏:   ${workspaceRoot}—提供工作区文件夹的完整路径 ${projectRoot}–CppProperties.json放置的文件夹的完整路 ${vsInstallDir}—安装VS2017正在运行实例的文件夹的完整路径   CppProperties.json 智能感知。当你安装了完整的JSON编辑器(它附带有网页开发工作负载),可以通过JSON智能感知在编辑CppProperties.json文件时得到帮助。 C++配置下拉列表。你可以在CppProperties.json文件里创建尽可能多的配置,同时可以从标准工具栏的C++配置下拉列表里轻松的切换这些配置。 CppProperties.json CppProperties.json现在是可选的和默认的。当你打开一个C++源代码文件夹,VS会创建2个默认的配置:调试和发布。这些配置是和我们在VS2015中介绍的单个文件智能感知配置是一致的。   生成C++工程 通过一系列任务集成外部工具。现在你可以对当前工作区中的文件自动构建脚本或者其他任何外部的操作,在IDE里直接作为任务来运行它们。你可以在一个文件上右键单击选择“自定义任务设置” 来配置一个新的任务。 这个操作会在你的工作区中隐藏的.vs文件夹里创建一个新的tasks.json文件和一个新的任务。JSON智能感知是可用的如果你已经安装了JSON编辑器( 它附带有网页开发工作负载)。 默认情况下,可以从解决方案资源管理器中文件的上下文菜单执行任务。对于每一个任务,在上下文菜单的底部你会发现一个新的条目。 Tasks.vs.json…

0

Visual Studio 2015 Update3 的C++ 编辑并继续

[原文发表地址] C++ Edit and Continue in Visual Studio 2015 Update 3 [原文发表时间] 2016/7/1 我们一直在改进C++的编辑并继续(EnC)功能 自从我们在Visual Studio 2015 发布它之后,EnC使用默认的调试引擎和VC140工具包。我们已经处理了相当多的客户反馈,同时在此基础上,我会在这篇博客中介绍 Update3(下载)和其它有关C++ EnC的最新进展。 快速回顾一下——编辑并继续允许您在调试的时候修改您的代码(举个例子,如果在运行的时候你在代码里发现了一个bug),调试器可以在调试的进程中应用代码的更改,并可以继续使用您的新代码进行调试!这可以帮助加快您的编辑->生成->部署->调试周期。您可以在我们之前的博客里找到更多的信息,同时在这里也有介绍如何使用C++的编辑并继续。 我们在Update3的修复 在静态库中旧代码(错误信息)的EnC: 在静态库中对源文件进行编辑会导致源信息的不匹配以及旧代码会有一个误导的“成功应用代码改变”的消息。目前这个问题已被修复,现在任何旧代码在任何情况下都应该包含一个关于为什么我们不能映射指令指针的警告说明。 在一些比较大的项目中,EnC崩溃/卡住时带有链接/DEBUG:FASTLINK调试信息: 自从链接开关FASTLINK泄露某些信息在obj文件中,而不是整合所有的信息到PDB中后,在运行大程序的时候VS会遇到和EnC有关的内存问题,目前已经解决了这个问题。 C1092错误/C4656警告:我们已经修复了很多臭名昭著的有关于“严重错误 C1092:编辑并继续不支持对数据类型的修改;需要重新生成”的不相关更改的错误。同时,如果你使用/WX(把所有的警告都视为错误)生成,编译器在EnC的时候这些会导致编译错误的误报,也不会发出“警告C4656:…数据类型是新的或已从最新的版本上更改,或者在其他地方被定义的不同” 在EnC上提高“应用代码更改…”的性能:我们已经减少了应用代码更改的时间(即:当你看到“应用代码更改…”的对话框时),并且让它快了3倍。 Update3的断点改变 允许预编译(只在本地):调试选项调试->选项->常规->允许预编译(只在本地)不再支持Visual Studio Update3和默认调试器。对边际性能的改进是之前的设置,没有功能上的影响。 快速EnC参考 C++编辑并继续的需求 生成设置(程序属性) C/C++->常规->调试信息格式:编辑并继续程序数据库(/ZI) C/C++->代码生成->启用最小重新生成:是的(/Gm) 链接器->常规->启用增量连接:是的(/增长的) 任何不兼容的链接器设置(例如/SAFESEH, 或者 /OPT:…)在生成时的都应该导致LNK4075警告(举个例子,由于‘/OPT:ICF’规范而忽略‘/EDITANDCONTINUE’) 调试设置(调试->选项->常规) 启用本地调试并继续 在“编辑并继续”中,任何不兼容的编译器或者链接器都会导致一个错误(举个例子,“‘file.cpp’在‘MyApp.dll’中链接的时候并没有启用“编辑并继续”。确保启用了增量链接,而且,//EDITANDCONTINUE指令是不容忽视的。”) 不兼容的设置和不支持的情况 调试器设置(调试->选项->常规): “要求源文件与原始版本完全匹配:在修改方法时,不选此选项会导致在EnC之后不正确的断点绑定,同时,随着更新3应用此选项的更改,会导致错误“‘要求源文件精确匹配原始版本’在调试选项>选项>中的“设置”需要启用编辑并继续。请检查此选项,然后再试一次。”  “允许预编译(仅限本机)“:在Visual Studio 2015中,默认调试器不再支持这个选项。 Windows 8/8.1 应用商城:这些程序使用VC 120的工具包和C…

0

影响C++开发者的Visual Studio 2015 的安装改变

[原文发表地址]Setup Changes in Visual Studio 2015 Affecting C++ Developers [原文发表时间]2015/07/24 9:30 AM 如之前Visual Studio 2015 集成开发环境博客所提到的,Visual Studio 2015为用户安装体验提供更多的选择, 什么安装,什么可以不安装。 那篇博客解释了这种改变的理由,以及将来Visual Studio的安装指导。C++现在是可选安装的其中一个功能(而不是默认安装)。这样让那些非C++开发者不需要消耗多余的安装时间和磁盘空间安装他们并不需要的C++。 同时,C++开发者仍然可以获取他们所需的组件。 VC++开发经理 Steve Carroll的说明 我们已经收到很多关于这一改动的反馈,这这里我想澄清一些大家普遍的问题和担心。 最普遍的问题就是为什么只有C++变成可选安装的选项。C++团队在VS2015发布的过程中做了很多次工程完善来改善C++的安装,所以我们才能够比VS其他部分用了较短时间分离出我们的资源包,编译器,和Lib库。C++仍然是一个很大的组件,因为我们所包含的库文件很大,因为覆盖了很多架构以及相匹配的PDBs。C++也依然需要安装Windows SDK. 很多非C++开发者不需要这么大的额外负担,因此对于VS安装体验有显著提升的一定是通过这种改变。 如集成开发环境博客所提到的,在所记录的计划中, Visual Studio的一大部分都会变成可选安装,就像我们所做的。这是正在进行中的第一项工作。我想打消C++开发者的担心,这样的改变绝不意味着降低C++开发的重要性,我们的探测和研究告诉我们C++开发在VS里的用处,并且整个行业都是在加速的,而不是减速的,我们将会继续加大C++的投入。 我有提到过我们正在招聘新的职员么?   谢谢! Steve 不同之处 在Visual Studio 2015,C++工具不再默认安装。而是,C++编译器,库,工程模板都被移动到可安装选项中。在启动的安装界面上,你可以选择“典型”或者“定制”安装: 如果你选择“典型”安装,你将不能使用Visual Studio 开发C++, 因为只有托管语言和web开发工具将会被安装。 如果想要安装C++中的桌面和手机开发的组件,你必须选择“定制”安装,手动选择那些条目: 请注意“Programming Languages”下面的”Visual C++”结点分为三个部分,因此你可以选择不装那些你不需要的工具。 在进行以前我们建议你仔细阅读所有的可选条目。特别是: “Common Tools for Visual C++ 2015”…

8

VS 2015 RC 中 C++ 跨平台开发的新功能

[原文发表地址]What’s new with C++ cross-platform development with VS 2015 RC [原文发表时间]2015/4/29 10:00 PM 随着Visual C++ 跨平台手机应用功能的开发,从VS2015 RC开始(可以从这里下载),我们很高兴的宣布,Visual Studio开始支持生成iOS的应用。面向iSO开发的工作,我们已经在展开了,这个功能的启用也向大家分享了我们现在的一些想法。通过接下来的一些发布,我们将会继续专注于面向iOS开发的工作,但是现在请参照MSDN的文章来尝试我们的iOS应用开发功能。 除了最近开启的iOS平台的功能外,我们同时也为安卓和跨平台手机应用开发者增加了很多功能。针对安卓平台的开发者将会感受到如下的这些功能设置的好处: 安卓开发者现在可以使用Android API Level 21 (Android  5.0, Lollipop) 并且可以应用了更多新的NDK(NDK R10D) 安卓本地开发的GCC 工具链(GCC 4.8)也在Visual Studio中可以使用了。这是在生成安卓本地库的时候会用到的另外一个Clang工具链。开发者在属性页面的General(平台工具)属性下,可以按照下图所示的那样配置工具集来生成应用程序。 Visual C++工具链也会让开发者感受到“剥离的调试”功能,这可以开发者在部署以前从二进制文件里面剥离出调试信息, 同时他们仍然可以成功调试二进制文件。这个功能可以按照下图所示的那样,在链接器属性那里设置。 我们已经修复了VS调试一个外部生成的安卓应用,你可以在相关的博客中找到更多地信息。 调试器的可视化(NATVIS)已经加入到面向安卓平台的开发中,以此来提高调试的效率。更多的关于如何使用natvis,请参照文章Natvis对安卓应用调试的支持。 我们增加了很多新的示例关于面向安卓开发的。 这些示例大部分是安卓 NDK里已有示例代码的一部分,但是我们提供给你,让你知道如何快速的开始使用Visual Studio完成面向安卓平台应用的开发。 总之,对于C++团队来说,这是一个激动人心的时刻,我们期待你们的反馈。请通过Connect来提交Bug, 建议请通过用户反馈提交, 同时也可以在Visual Studio IDE环境中发送一个笑脸给我们。  

0

Xamarin 安卓Native Applications开发

[原文发表地址]:Developing Xamarin Android Native Applications [原文发表时间]:2015/02/23 12:40 PM Xamarin已经快速成为一种创建跨平台移动应用的流行的方式,从而促进真正的代码重用,同时它允许开发人员创建native* (native 即平台固有的) 用户接口,提供给他们入口去查看底层平台/设备暴露的功能全谱,而且通过允许应用程序利用平台的特定硬件加速来保证native* 性能。此外,Xamarin完全集成到Visual Studio,而且允许像iOS,Android 和Windows 应用开发一样。 Xamarin对我们真正的native (C/C++) 开发人员意味着什么?如果你看一下Xamarin目前针对安卓平台的方法,当编译端到端Xamarin安卓应用程序时,它允许利用安卓 native(C/C++)库。  然而,目前这种方法影响了Visual Studio中的Xamarin 安卓工程文件, 以及在Xamarin 安卓指南里添加Item-Group,使其指向提到的预置动态共享库。通常这个native动态共享库是在另一个IDE(通常是Eclipse)开发的, 它进一步增加了复杂性以致开发人员现在担心使用两个IDE的动态共享库,而且享受增加复杂性后,他们在时进行编辑、编译和调试他们的应用特别是调试到在native(C/C++)函数库所带来的乐趣。对Visual Studio 2015 CTP 6而言,这已不再是问题,开发人员现在可以在Visual Studio中甚至创建这种native(C/C++) 库,我们(C++ 跨平台移动团队)一直致力于Xamarin的开发,为了在开发Xamarin安卓Native applications时提供一个流畅的体验。这篇博文重点列举了在Visual Studio 2015 CTP 6中已经实现的一些功能,然而所有的工作还没有完成,我们很高兴您尝试使用它,并给我们反馈。 入门指南 开发人员要理解这篇博文,首先就需要安装Visual Studio 2015 CTP6,并且安装时选择Visual C++跨平台移动相关的选项以及Xamarin可选的安装包。一旦这些都已经安装上之后,你已经具备了在Visual Studio中开发完整的Xamarin安卓Native applications的所有条件。我们开始创建一个Xamarin的安卓工程。依照篇博文的目的,我们选择一个最简单的安卓工程模板 “Blank App(安卓)”,打开文件 -〉新工程菜单,创建一个新的工程 “XamarinNativeExample”。 然后,我们从“Visual C++ – Cross-Platform n”节点下给已经创建的解决方案添加一个动态共享库工程“NativeLibrary”。…

0