{"id":20065,"date":"2018-07-25T11:43:19","date_gmt":"2018-07-25T18:43:19","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/?p=20065"},"modified":"2019-02-18T17:47:49","modified_gmt":"2019-02-18T17:47:49","slug":"visual-studio-code-cc-extension-july-2018-update-and-intellisense-auto-configuration-for-cmake","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/visual-studio-code-cc-extension-july-2018-update-and-intellisense-auto-configuration-for-cmake\/","title":{"rendered":"Visual Studio Code C\/C++ extension July 2018 Update and IntelliSense auto-configuration for CMake"},"content":{"rendered":"<p><span style=\"font-family: Calibri\"><span style=\"color: #000000\">Last week we shipped the July 2018 update to the <\/span><span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\">C\/C++ extension for Visual Studio Code<\/a><\/span><span style=\"color: #000000\">. In this update we added support for a new experimental API that allows build system extensions to pass IntelliSense configuration information to our extension for powering up full IntelliSense experience. You can find the full list of changes in the July 2018 update in the <\/span><span><a href=\"https:\/\/github.com\/Microsoft\/vscode-cpptools\/releases\/tag\/v0.17.7\">changelog<\/a><\/span><\/span><span style=\"color: #000000;font-family: Calibri\">.<\/span><\/p>\n<p><span style=\"font-family: Calibri\"><span style=\"color: #000000\">As CMake has been the most requested build system for us to provide support for, we\u2019ve been working with <\/span><span><a href=\"https:\/\/marketplace.visualstudio.com\/publishers\/vector-of-bool\">vector-of-bool<\/a><\/span><span style=\"color: #000000\">, author of the <\/span><span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vector-of-bool.cmake-tools\">CMake Tools extension<\/a><\/span><\/span><span style=\"color: #000000;font-family: Calibri\">, on an implementation using this new API to provide IntelliSense auto-configuration for CMake, and the changes are now live!<\/span><\/p>\n<p><span style=\"font-family: Calibri\"><span style=\"color: #000000\">If you are using CMake and are looking for a way to auto-config IntelliSense in the C\/C++ extension, be sure to check out the <\/span><span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=vector-of-bool.cmake-tools\">CMake Tools extension<\/a><\/span><span style=\"color: #000000\">. If you are interested in adding IntelliSense support for other build systems, you can learn more about <\/span><span><a href=\"https:\/\/www.npmjs.com\/package\/vscode-cpptools\">this new API on the npm site<\/a><\/span><\/span><span style=\"color: #000000;font-family: Calibri\">. We&#8217;re rolling it out as an experimental API and would love any feedback!<\/span><\/p>\n<p><span style=\"color: #2f5496;font-family: Calibri Light;font-size: large\">IntelliSense auto-configuration for CMake<\/span><\/p>\n<p><span style=\"color: #000000;font-family: Calibri\">After both extensions are installed, on opening any folder that contains a CMakeLists.txt file in the root, be sure to follow the steps to let the CMake Tools extension configure your project. Once completed, you will see the following message:<\/span><\/p>\n<p><span><span style=\"color: #000000;font-family: Times New Roman\"><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/114.png\"><img decoding=\"async\" width=\"654\" height=\"125\" class=\"alignnone size-full wp-image-20075\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/114.png\" \/><\/a><\/span><\/span><\/p>\n<p><span><span style=\"color: #000000;font-family: Times New Roman\"><\/span><\/span><span style=\"color: #000000;font-family: Calibri\">Simply click \u201cAllow\u201d to enable the CMake Tools extension to send IntelliSense configuration over to the C\/C++ extension to automatically power up IntelliSense. <\/span><\/p>\n<p><span style=\"color: #000000;font-family: Calibri\">If you need to change the IntelliSense provider or disable the one that\u2019s currently in use, you can use the command \u201cC\/Cpp: Change Configuration Provider\u2026\u201d in the Command Palette to invoke the list of providers to switch to.<\/span><span><span style=\"color: #000000;font-family: Times New Roman\"><span><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/210.png\"><img decoding=\"async\" width=\"872\" height=\"99\" class=\"alignnone size-large wp-image-20085\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/210.png\" \/><\/a><\/span><\/span><\/span><\/p>\n<p><span><span style=\"color: #000000;font-family: Times New Roman\"><span><a href=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/36.png\"><img decoding=\"async\" width=\"864\" height=\"129\" class=\"alignnone size-large wp-image-20095\" alt=\"\" src=\"https:\/\/devblogs.microsoft.com\/wp-content\/uploads\/sites\/9\/2019\/02\/36.png\" \/><\/a><\/span><\/span><\/span><\/p>\n<p><span><span style=\"color: #000000;font-family: Times New Roman\"><span><\/span><\/span><\/span><span style=\"font-family: Calibri\"><span style=\"color: #000000\">We are very excited about the CMake support (thanks <\/span><span><a href=\"https:\/\/marketplace.visualstudio.com\/publishers\/vector-of-bool\">vector-of-bool<\/a><\/span><span style=\"color: #000000\"> for partnering with us!), and hope you like it too! We are also looking forward to seeing support for more build systems by leveraging this experimental <\/span><span><a href=\"https:\/\/www.npmjs.com\/package\/vscode-cpptools\">extension API<\/a> and any feedback you might have around this API.<\/span><\/span><\/p>\n<p><a><\/a><span style=\"color: #2f5496;font-family: Calibri Light;font-size: large\">Tell us what you think<\/span><\/p>\n<p><span style=\"font-family: Calibri\"><span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\">Download the C\/C++ extension for Visual Studio Code<\/a><\/span><span style=\"color: #000000\">, try it out and let us know what you think. File <\/span><span><a href=\"https:\/\/github.com\/Microsoft\/vscode-cpptools\/issues\">issues and suggestions on GitHub<\/a><\/span><span style=\"color: #000000\">. If you haven\u2019t already provided us feedback, please take this <\/span><span><a href=\"https:\/\/www.research.net\/r\/VBVV6C6\">quick survey<\/a><\/span><\/span><span style=\"color: #000000;font-family: Calibri\"> to help shape this extension for your needs.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last week we shipped the July 2018 update to the C\/C++ extension for Visual Studio Code. In this update we added support for a new experimental API that allows build system extensions to pass IntelliSense configuration information to our extension for powering up full IntelliSense experience. You can find the full list of changes in [&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,266,275],"tags":[274,276],"class_list":["post-20065","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcement","category-cmake","category-visual-studio-code","tag-c-extension","tag-vscode"],"acf":[],"blog_post_summary":"<p>Last week we shipped the July 2018 update to the C\/C++ extension for Visual Studio Code. In this update we added support for a new experimental API that allows build system extensions to pass IntelliSense configuration information to our extension for powering up full IntelliSense experience. You can find the full list of changes in [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/20065","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=20065"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/20065\/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=20065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=20065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=20065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}