{"id":16575,"date":"2017-08-15T19:15:05","date_gmt":"2017-08-16T02:15:05","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/?p=16575"},"modified":"2019-02-18T17:48:20","modified_gmt":"2019-02-18T17:48:20","slug":"changes-to-project-templates-and-code-wizards-in-15-3","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/changes-to-project-templates-and-code-wizards-in-15-3\/","title":{"rendered":"Changes to Project Templates and Code Wizards in 15.3"},"content":{"rendered":"<p><a href=\"https:\/\/www.visualstudio.com\/downloads\/\" target=\"_blank\">Visual Studio 2017 Update 15.3<\/a> is a major release with many different improvements coming to the product. You can learn more about these changes in the <a href=\"https:\/\/www.visualstudio.com\/en-us\/news\/releasenotes\/vs2017-relnotes\" target=\"_blank\">15.3 Release Notes<\/a>. One aspect I want to highlight in this blog post pertains to changes made to the C++ templates in <em>File &gt; New Project<\/em> and code wizards. We made these changes to account for feedback we received from you and to optimize the templates you use the most often. <\/p>\n<p>Let\u2019s start by looking at the New Project dialog in 15.2. Many of you will be familiar with the way everything is laid out. There are a number of different templates under <strong>Visual C++<\/strong>, including <strong>Win32<\/strong>, <strong>MFC <\/strong>(if you have that installed), and <strong>Test<\/strong>. \n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/124.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/124.png\" alt=\"\" width=\"941\" height=\"653\" class=\"aligncenter size-full wp-image-16585\" \/><\/a><\/p>\n<p>In 15.3, the dialog looks a bit different: \n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/213.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/213.png\" alt=\"\" width=\"941\" height=\"653\" class=\"aligncenter size-full wp-image-16595\" \/><\/a><\/p>\n<p>In order to make the templates more user-friendly and intuitive, we made the following changes: <\/p>\n<ol>\n<li>The <strong>Win32 <\/strong>category has been renamed to <strong>Windows Desktop<\/strong>, and continues to contain the Win32 project templates. <\/li>\n<li>The <strong>Win32 Console Application <\/strong>template has been renamed to <strong>Windows Console Application <\/strong>and no longer shows a wizard when creating a project. <\/li>\n<li>The <strong>Win32 Project <\/strong>template has been renamed to <strong>Windows Desktop Application <\/strong>and it no longer displays a wizard. <\/li>\n<li>If you do want to go through a wizard and configure your project from the get-go, you can choose the new <strong>Windows Desktop Wizard <\/strong>template:\n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/windows-desktop-wizard.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/windows-desktop-wizard.png\" alt=\"\" width=\"941\" height=\"653\" class=\"aligncenter size-full wp-image-16596\" \/><\/a>\nThis will display a simple single-step wizard: \n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/windows-desktop-project.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/windows-desktop-project.png\" alt=\"\" width=\"500\" height=\"375\" class=\"aligncenter size-full wp-image-16605\" \/><\/a>\n<\/li>\n<\/ol>\n<p>The wizard allows you to choose your application type (Windows or Console EXE, DLL, or LIB), reference ATL or MFC libraries, choose whether you want to use a precompiled header or export symbols, or simply set up an empty project with nothing in it. <\/p>\n<p><strong>Note: <\/strong>If you want an empty project with no additional options, such as a precompiled header, consider using the <strong>Empty Project <\/strong>template instead (found under the Visual C++ node and the General sub-node), which does exactly the same thing, but does not require you to go through a wizard.  <\/p>\n<h3>C++ Add Class Changes<\/h3>\n<p>The new wizard isn\u2019t the only one to get a rework. We went through a number of different project and code wizards and updated them with a more modern WPF-based user interface. The <strong>Add Class <\/strong>wizard (accessible from the right-click context menu in <em>Solution Explorer<\/em>) is a notable example. This would bring up a lot of complicated looking set of templates. As an example, if you click on the ATL tab alone, this is what you would get: \n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/ATL.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/ATL.png\" alt=\"\" width=\"941\" height=\"653\" class=\"aligncenter size-full wp-image-16615\" \/><\/a>\nIf you click on <em>Visual C++ <\/em>or its <em>C++ <\/em>sub-category however, the only option available there is <strong>C++ Class<\/strong>. And naturally, this is the option most people care about. So rather than make you go through this extra step just to add a simple, generic C++ class, <em>Add &gt; Class <\/em>launches the <strong>Add Class Wizard <\/strong>directly. \n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-class.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-class.png\" alt=\"\" width=\"547\" height=\"235\" class=\"aligncenter size-full wp-image-16625\" \/><\/a>\n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-class-wizard.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-class-wizard.png\" alt=\"\" width=\"600\" height=\"450\" class=\"aligncenter size-full wp-image-16626\" \/><\/a>\nIf you want to access the other templates, simply do <em>Add &gt; New Item <\/em>instead. \n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-new-item.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-new-item.png\" alt=\"\" width=\"545\" height=\"233\" class=\"aligncenter size-full wp-image-16636\" \/><\/a>\n<a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-new-item-dialog.png\"><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/add-new-item-dialog.png\" alt=\"\" width=\"941\" height=\"653\" class=\"aligncenter size-full wp-image-16645\" \/><\/a><\/p>\n<p>Several other wizards have been updated with a modern user interface.<\/p>\n<p>Updated project wizards:<\/p>\n<ol>\n<li>Windows Desktop<\/li>\n<li>MFC DLL<\/li>\n<li>MFC ActiveX Control<\/li>\n<li>ATL Project<\/li>\n<li>Makefile Project<\/li>\n<\/ol>\n<p>Updated code wizards:<\/p>\n<ol>\n<li>Add Class<\/li>\n<li>ATL Control<\/li>\n<li>ATL Simple Object<\/li>\n<\/ol>\n<p>We\u2019re interested in your feedback to learn what you think. Do you like these changes? Or should we do something else? Let us know in the comments below! In the meantime, be sure to check out <a href=\"https:\/\/www.visualstudio.com\/downloads\/\" target=\"_blank\">Visual Studio 2017 Update 15.3<\/a> and check out the other announcements on the <a href=\"https:\/\/devblogs.microsoft.com\/visualstudio\/2017\/08\/14\/accessibility-improvements-in-visual-studio-2017-version-15-3\/\" target=\"_blank\">Visual Studio Blog <\/a>and <a href=\"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2017\/08\/04\/c-unit-testing-updates-announcing-boost-test-adapter-and-improved-google-test-support\/\" target=\"_blank\">Visual C++ Blog<\/a>! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visual Studio 2017 Update 15.3 is a major release with many different improvements coming to the product. You can learn more about these changes in the 15.3 Release Notes. One aspect I want to highlight in this blog post pertains to changes made to the C++ templates in File &gt; New Project and code wizards. [&hellip;]<\/p>\n","protected":false},"author":1063,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-16575","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>Visual Studio 2017 Update 15.3 is a major release with many different improvements coming to the product. You can learn more about these changes in the 15.3 Release Notes. One aspect I want to highlight in this blog post pertains to changes made to the C++ templates in File &gt; New Project and code wizards. [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/16575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/1063"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=16575"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/16575\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=16575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=16575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=16575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}