{"id":16945,"date":"2017-10-04T10:43:42","date_gmt":"2017-10-04T17:43:42","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/?p=16945"},"modified":"2019-02-18T17:48:17","modified_gmt":"2019-02-18T17:48:17","slug":"visual-studio-code-cc-extension-september-2017-update-more-intellisense-goodness","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/visual-studio-code-cc-extension-september-2017-update-more-intellisense-goodness\/","title":{"rendered":"Visual Studio Code C\/C++ extension September 2017 Update \u2013 more IntelliSense goodness!"},"content":{"rendered":"<p>The <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\">Visual Studio Code C\/C++ extension<\/a> has had over one million downloads in the past two months! We are very happy to see so much interest in the most popular C++ extension for Visual Studio Code. Even more exciting for us last week was the release of the September 2017 update, which brings in many new features to the extension:<\/p>\n<ul>\n<li>Lightbulb now provides include path suggestions for IntelliSense<\/li>\n<li>Parameter hints are now powered by the compiler-based IntelliSense engine<\/li>\n<li>Reference highlighting<\/li>\n<li>macOS Framework support for IntelliSense<\/li>\n<\/ul>\n<h2>Lightbulb include path suggestions for IntelliSense<\/h2>\n<p>Setting up the include path for IntelliSense just got easier. When you open a folder, the extension will recursively search for potential include paths that match the header files your code is using based on the paths set by the browse.path setting in <strong>c_cpp_properties.json,<\/strong> and give you suggestions to help you set up the include path. Click on the green squiggles under #include statements and a lightbulb will appear and offer suggestions of paths that will allow IntelliSense to resolve the included file.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/113.png\"><img decoding=\"async\" width=\"800\" height=\"322\" class=\"alignnone wp-image-16955\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/113.png\" \/><\/a><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/113.png\"><\/a><\/p>\n<h2>Parameter hints are now powered by the compiler-based IntelliSense engine<\/h2>\n<p>When the IntelliSense engine is set to &#8220;Default&#8221;, you will now start to see parameter hints only for the functions that match the type of which the function is invoked. Hints will also be presented for template arguments. Previously, the extension returned hints for all functions with a matching name, regardless of type.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/210.png\"><img decoding=\"async\" width=\"317\" height=\"350\" class=\"alignnone wp-image-16965 size-mediumlarge\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/210-317x350.png\" \/><\/a><\/p>\n<h2>Reference highlighting<\/h2>\n<p>Reference highlighting is now supported. When the IntelliSense engine is set to &#8220;Default&#8221;, moving the text cursor over a symbol in the editor will highlight the matching symbols in the same file. When the IntelliSense engine is set to &#8220;Tag Parser&#8221;, all exact word matches will be highlighted. You can use the <strong>editor.occurrencesHighlight<\/strong> setting (File-&gt;Preferences) to turn on\/off this feature. Selecting a range of text will continue to invoke VS Code&#8217;s editor.selectionHighlight behavior.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/32.png\"><img decoding=\"async\" width=\"879\" height=\"361\" class=\"alignnone size-large wp-image-16975\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/32-1024x420.png\" \/><\/a><\/p>\n<h2>macOS Framework support for IntelliSense<\/h2>\n<p>The extension now provides built-in support for macOS frameworks to be the sources of include files for IntelliSense. We added a new property called &#8220;macFrameworkPath&#8221;, which is auto-added to your <strong>c_cpp_properties.json<\/strong> file when the file is first created. Use <strong>C\/Cpp: Edit Configurations\u2026<\/strong> command to create the <strong>c_cpp_properties.json<\/strong> file if it doesn\u2019t already exist. Then simply putting the macOS framework paths in the <strong>macFrameworkPath<\/strong> property or adding the paths to the <strong>includePath<\/strong> property to enable the IntelliSense engine to search for include files under those paths.<\/p>\n<p>Use <strong>macFrameworkPath<\/strong> property:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/4.jpg\"><img decoding=\"async\" width=\"339\" height=\"350\" class=\"alignnone wp-image-16985 size-mediumlarge\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/4-339x350.jpg\" \/><\/a><\/p>\n<p>Use <strong>includePath<\/strong> property:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/5.jpg\"><img decoding=\"async\" width=\"367\" height=\"350\" class=\"alignnone wp-image-16995 size-mediumlarge\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/5-367x350.jpg\" \/><\/a><\/p>\n<h2>Tell us what you think<\/h2>\n<p>We encourage everyone to try out the new IntelliSense and send us feedback. You will get improved, more accurate results for several IntelliSense features, including auto-complete suggestions for class\/struct\/namespace members, quick info tooltips, error squiggles, reference highlighting, and parameter hints. Turn on the new IntelliSense by changing the \u201cC_Cpp.intelliSenseEngine\u201d setting in your <em>settings.json <\/em>file (open from menu<em> File-&gt;Preferences-&gt;Settings<\/em>) from \u201cTag Parser\u201d to \u201cDefault\u201d.<\/p>\n<p><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\">Download the C\/C++ extension for Visual Studio Code<\/a>, try it out and let us know what you think. File <a href=\"https:\/\/github.com\/Microsoft\/vscode-cpptools\/issues\">issues and suggestions on GitHub<\/a>. Provide us feedback in this <a href=\"https:\/\/www.surveymonkey.com\/r\/X6ZSTP5\">quick survey<\/a> to help shape this extension for your needs. You can also find us on Twitter (<a href=\"https:\/\/twitter.com\/visualc\">@VisualC<\/a>).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Visual Studio Code C\/C++ extension has had over one million downloads in the past two months! We are very happy to see so much interest in the most popular C++ extension for Visual Studio Code. Even more exciting for us last week was the release of the September 2017 update, which brings in many [&hellip;]<\/p>\n","protected":false},"author":269,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[270,1,275],"tags":[274,276],"class_list":["post-16945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-cplusplus","category-visual-studio-code","tag-c-extension","tag-vscode"],"acf":[],"blog_post_summary":"<p>The Visual Studio Code C\/C++ extension has had over one million downloads in the past two months! We are very happy to see so much interest in the most popular C++ extension for Visual Studio Code. Even more exciting for us last week was the release of the September 2017 update, which brings in many [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/16945","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\/269"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=16945"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/16945\/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=16945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=16945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=16945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}