{"id":27888,"date":"2021-04-15T14:45:28","date_gmt":"2021-04-15T14:45:28","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=27888"},"modified":"2021-04-20T21:57:08","modified_gmt":"2021-04-20T21:57:08","slug":"visual-studio-code-c-extension-april-2021-update-cuda-c-c-intellisense-and-apple-silicon-support","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/visual-studio-code-c-extension-april-2021-update-cuda-c-c-intellisense-and-apple-silicon-support\/","title":{"rendered":"Visual Studio Code C++ Extension April 2021 Update: CUDA C\/C++ IntelliSense and Apple Silicon Support"},"content":{"rendered":"<p><span data-contrast=\"auto\">The April 2021 update of the\u202f<\/span><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\"><span data-contrast=\"none\">Visual Studio Code C++ extension<\/span><\/a><span data-contrast=\"auto\">\u202fis now available!\u00a0This latest release\u00a0offers\u00a0brand\u00a0new features\u2014such as IntelliSense for CUDA\u00a0C\/C++ and\u00a0native\u00a0language\u00a0server\u00a0support for Apple Silicon\u2014\u00a0along with a bunch of enhancements and bug fixes.\u00a0To find out more about all the enhancements, check out\u00a0our\u202f<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/releases\/tag\/1.3.0\"><span data-contrast=\"none\">release notes on GitHub.<\/span><\/a><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\"><b><span data-contrast=\"auto\">CUDA C\/C++ IntelliSense<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">We\u2019re excited to announce that the C++ extension now provides IntelliSense for CUDA C\/C++! CUDA is a parallel programming platform, enabling developers to interact with the GPU. Microsoft and NVIDIA have partnered together to light up the CUDA C\/C++ development experience in VS Code. IntelliSense for CUDA C\/C++ is currently available with <a href=\"https:\/\/code.visualstudio.com\/insiders\/\">Visual Studio Code Insiders<\/a>. Build and debug support for GPU kernels is coming soon with NVIDIA Nsight Visual Studio Code Edition\u2014 check out <\/span><a href=\"https:\/\/developer.nvidia.com\/blog\/announcing-nvidia-nsight-visual-studio-code-edition-new-addition-to-the-nsight-developer-tools-suite\"><span data-contrast=\"none\">NVIDIA\u2019s Developer Blog<\/span><\/a><span data-contrast=\"auto\"> to learn more!<\/span><\/p>\n<h2 aria-level=\"1\"><b><span data-contrast=\"auto\">Apple Silicon ARM64 support<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">In February, Visual Studio Code\u00a0announced\u00a0<\/span><a href=\"https:\/\/code.visualstudio.com\/updates\/v1_54#_apple-silicon\"><span data-contrast=\"none\">its first release of stable Apple Silicon builds<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-contrast=\"auto\">\u00a0With this\u00a0latest release,\u00a0the C++ extension\u2019s language server binaries also run natively on Apple Silicon.\u00a0Running the\u00a0language server\u00a0natively on Apple Silicon is more efficient\u00a0than running it with an\u00a0emulator, leading to\u00a0better performance and longer battery life.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">The C++ extension language server provides IntelliSense (code editing features like Quick Info and Autocomplete), code navigation (Go to Definition\/Declaration, Find All References), and some refactoring features (like Rename symbol). Debugging C++ projects natively on Apple Silicon will be supported in the future, and you can check out this <\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/7035\"><span data-contrast=\"none\">GitHub issue (#7035)<\/span><\/a><span data-contrast=\"auto\"> for updates.<\/span><\/p>\n<h2 aria-level=\"1\"><b><span data-contrast=\"auto\">Additional enhancements<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">In addition to\u00a0supporting CUDA C\/C++ IntelliSense and Apple Silicon ARM64 architecture, the\u00a0April\u00a02021\u00a0update\u00a0comes\u00a0with\u00a0a bunch\u00a0of enhancements!\u00a0We\u2019re especially excited about\u00a0<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/882\"><span data-contrast=\"none\">Auto-adding parentheses for function calls (#882)<\/span><\/a><span data-contrast=\"auto\">,\u00a0which\u00a0was\u00a0one of our\u00a0top\u00a0voted GitHub\u00a0issues!<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">To\u00a0enable\u00a0automatically adding\u00a0parentheses\u00a0after function calls,\u00a0go to\u202f<\/span><b><span data-contrast=\"auto\">File<\/span><\/b><span data-contrast=\"auto\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"auto\">Preferences<\/span><\/b><span data-contrast=\"auto\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"auto\">Settings<\/span><\/b><span data-contrast=\"auto\">\u202fand under\u202f<\/span><b><span data-contrast=\"auto\">Extensions<\/span><\/b><span data-contrast=\"auto\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"auto\">C\/C++,\u00a0<\/span><\/b><span data-contrast=\"auto\">check the box under<\/span><b><span data-contrast=\"auto\">\u00a0\u201cC_cpp: Autocomplete Add Parentheses.\u201d\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-27891\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis.png\" alt=\"Screenshot of the C++ extension's setting called Autocomplete Add Parenthesis in VS Code's Preferences UI. The setting is enabled by marking the checkbox.\" width=\"1812\" height=\"193\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis.png 1812w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis-300x32.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis-1024x109.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis-768x82.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/auto-add-parenthesis-1536x164.png 1536w\" sizes=\"(max-width: 1812px) 100vw, 1812px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW229310597 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">Then, when you insert a function call,\u00a0<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">parentheses will\u00a0<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">be added automatically<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">,<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">\u00a0with the cursor placed inside or outside depending on\u00a0<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">whether<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">\u00a0the function requires\u00a0<\/span><span class=\"NormalTextRun SCXW229310597 BCX8\" data-ccp-parastyle=\"heading 3\">parameters.<\/span><\/span><span class=\"EOP SCXW229310597 BCX8\" data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/completion-list-parentheses.gif\"><img decoding=\"async\" class=\"alignnone size-full wp-image-27892\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2021\/04\/completion-list-parentheses.gif\" alt=\"GIF that shows a member function being selected from a completion list, and then parentheses being added automatically after the function call\" width=\"1816\" height=\"1020\" \/><\/a><\/p>\n<p><span data-contrast=\"auto\">The April 2021 release\u00a0also\u00a0offers:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\">Highlighting of matching conditional preprocessor statements.\u202f<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/2565\"><span data-contrast=\"none\">#2565<\/span><\/a><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:60,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\">Commands for navigating to matching preprocessor directives in conditional groups.\u202f<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/4779\"><span data-contrast=\"none\">#4779<\/span><\/a><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:60,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"1\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><span data-contrast=\"auto\">Auto-closing of include completion brackets.\u202f<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/issues\/7054\"><span data-contrast=\"none\">#7054<\/span><\/a><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:60,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">And more!\u00a0Check out\u00a0our\u202f<\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/releases\/tag\/1.3.0\"><span data-contrast=\"none\">release notes<\/span><\/a><span data-contrast=\"auto\">\u202fto learn about additional enhancements and over 25 bug fixes.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:60,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h2 aria-level=\"1\"><b><span data-contrast=\"auto\">What do you\u202fthink?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559738&quot;:240,&quot;335559739&quot;:0,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.cpptools\"><span data-contrast=\"none\">Download the C++ extension for Visual Studio Code<\/span><\/a><span data-contrast=\"auto\">\u202ftoday, give it a try, and let us know what you think. If you run into any issues, or have any suggestions, please report them in the\u202f<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-cpptools\/issues\"><span data-contrast=\"none\">Issues section of our GitHub repository<\/span><\/a><span data-contrast=\"auto\">. You can also join our Insiders program and get access to early builds of our release by going to\u202f<\/span><b><span data-contrast=\"auto\">File<\/span><\/b><span data-contrast=\"auto\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"auto\">Preferences<\/span><\/b><span data-contrast=\"auto\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"auto\">Settings<\/span><\/b><span data-contrast=\"auto\">\u202fand under\u202f<\/span><b><span data-contrast=\"auto\">Extensions<\/span><\/b><span data-contrast=\"auto\">\u202f&gt;\u202f<\/span><b><span data-contrast=\"auto\">C\/C++,<\/span><\/b><span data-contrast=\"auto\">\u202fchange the \u201c<\/span><b><span data-contrast=\"auto\">C_Cpp: Update Channel<\/span><\/b><span data-contrast=\"auto\">\u201d to \u201c<\/span><b><span data-contrast=\"auto\">Insiders<\/span><\/b><span data-contrast=\"auto\">.\u201d Then under\u202f<\/span><b><span data-contrast=\"auto\">Features\u202f<\/span><\/b><span data-contrast=\"auto\">&gt;\u202f<\/span><b><span data-contrast=\"auto\">Extensions<\/span><\/b><span data-contrast=\"auto\">, enable \u201c<\/span><b><span data-contrast=\"auto\">Extensions<\/span><\/b><span data-contrast=\"auto\">:<\/span><b><span data-contrast=\"auto\">\u202fAuto Update<\/span><\/b><span data-contrast=\"auto\">.\u201d<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We can be reached via the comments below or in email at\u202f<\/span><a href=\"mailto:visualcpp@microsoft.com\"><span data-contrast=\"none\">visualcpp@microsoft.com<\/span><\/a><span data-contrast=\"auto\">. You can also find our team on Twitter at\u202f<\/span><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">@<\/span><\/a><a href=\"https:\/\/twitter.com\/visualc\"><span data-contrast=\"none\">VisualC<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:true,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The April 2021 update of the\u202fVisual Studio Code C++ extension\u202fis now available!\u00a0This latest release\u00a0offers\u00a0brand\u00a0new features\u2014such as IntelliSense for CUDA\u00a0C\/C++ and\u00a0native\u00a0language\u00a0server\u00a0support for Apple Silicon\u2014\u00a0along with a bunch of enhancements and bug fixes.\u00a0To find out more about all the enhancements, check out\u00a0our\u202frelease notes on GitHub.\u00a0 CUDA C\/C++ IntelliSense\u00a0 We\u2019re excited to announce that the C++ extension now [&hellip;]<\/p>\n","protected":false},"author":27203,"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-27888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus"],"acf":[],"blog_post_summary":"<p>The April 2021 update of the\u202fVisual Studio Code C++ extension\u202fis now available!\u00a0This latest release\u00a0offers\u00a0brand\u00a0new features\u2014such as IntelliSense for CUDA\u00a0C\/C++ and\u00a0native\u00a0language\u00a0server\u00a0support for Apple Silicon\u2014\u00a0along with a bunch of enhancements and bug fixes.\u00a0To find out more about all the enhancements, check out\u00a0our\u202frelease notes on GitHub.\u00a0 CUDA C\/C++ IntelliSense\u00a0 We\u2019re excited to announce that the C++ extension now [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/27888","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\/27203"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=27888"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/27888\/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=27888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=27888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=27888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}