{"id":33368,"date":"2023-12-14T18:23:58","date_gmt":"2023-12-14T18:23:58","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=33368"},"modified":"2023-12-14T18:25:31","modified_gmt":"2023-12-14T18:25:31","slug":"whats-new-for-makefile-tools-in-visual-studio-code-release-0-8-post-configure-scripts-and-more","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-for-makefile-tools-in-visual-studio-code-release-0-8-post-configure-scripts-and-more\/","title":{"rendered":"What\u2019s New for Makefile Tools in Visual Studio Code Release 0.8: Post-Configure Scripts and more\u2026"},"content":{"rendered":"<p>The latest version 0.8 of Makefile Tools in Visual Studio Code has shipped and is now available. This release includes two new features: a setting to support <strong>adding<\/strong>\u00a0<strong>post-configure scripts<\/strong> and settings to add\u00a0<strong>argument support to parse into your pre- and post-configure scripts.\u00a0<\/strong>This release also features <a href=\"https:\/\/github.com\/microsoft\/vscode-makefile-tools\/blob\/main\/CHANGELOG.md\">several bug fixes and improvements, including one from our open-source community<\/a>. Thank you all for your contributions to this extension!<\/p>\n<p><div  class=\"d-flex justify-content-center\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.makefile-tools\" target=\"_blank\">Download the Makefile Tools Extension<\/a><\/div><\/p>\n<h3>Post-Configure Scripts<\/h3>\n<p>In your Visual Studio Code settings, you can now specify a post-configure script to run after your Makefile configure step.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-configure.png\"><img decoding=\"async\" class=\"size-full wp-image-33369 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-configure.png\" alt=\"A screenshot of the setting to specify a post configure script in VS Code\" width=\"873\" height=\"562\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-configure.png 873w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-configure-300x193.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-configure-768x494.png 768w\" sizes=\"(max-width: 873px) 100vw, 873px\" \/><\/a><\/p>\n<p>Once a post configure script is specified, you can select <strong>Makefile: Always Post Configure<\/strong> to automatically run this script after a Makefile configure.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/always-post-configure.png\"><img decoding=\"async\" class=\"size-large wp-image-33372 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/always-post-configure-1024x692.png\" alt=\"A screenshot of the setting to automatically run post configure script\" width=\"640\" height=\"433\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/always-post-configure-1024x692.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/always-post-configure-300x203.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/always-post-configure-768x519.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/always-post-configure.png 1258w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>To fire the specified post-configure script at any time, you can select <strong>Makefile: Post Configure<\/strong> from the VS Code command palette.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command.png\"><img decoding=\"async\" class=\"size-large wp-image-33373 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command-1024x174.png\" alt=\"Makefile Tools command to run post configure script\" width=\"640\" height=\"109\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command-1024x174.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command-300x51.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command-768x130.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command-1536x261.png 1536w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/post-confiugre-command.png 1804w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>Argument Support for Pre- and Post-Configure Scripts<\/h2>\n<p>Both Makefile pre- and post-configure scripts now support arguments that you can pass in from your VS Code settings on both a global level (<code>makefile.preConfigureArgs<\/code>and <code>makefile.postConfigureArgs<\/code>) and a per-configuration level (<code>makefile.configurations[].preConfigureArgs <\/code>and <code>makefile.configurations[].postConfigureArgs<\/code>).<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args.png\"><img decoding=\"async\" class=\"size-large wp-image-33374 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args-1024x390.png\" alt=\"VS Code settings for adding pre and post configure arguments\" width=\"640\" height=\"244\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args-1024x390.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args-300x114.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args-768x292.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args-1536x585.png 1536w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/command-args.png 1800w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p>An example of global pre-configure arguments and debug configuration-level post-configure arguments can be seen below for reference:<\/p>\n<pre>\u201cmakefile.preConfigureArgs\u201d : [\u201cinstall\u201d]\r\n\r\n\u201cmakefile.configurations\u201d: [\r\n\r\n    {\r\n\r\n        \u201cname\u201d: \u201cDebug\u201d,\r\n\r\n        \u201cpostConfigureArgs\u201d: [ \u201cdebug\u201d ]\r\n\r\n    }\r\n\r\n]<\/pre>\n<h2>Pre-release versions now available<\/h2>\n<p>Additionally, we have implemented a new pre-release cycle for the extension, so users can opt-in to try out the latest features as they ship before an official release. To opt in at any point, please select <strong>Switch to Pre-Release Version<\/strong> under Makefile Tools in the extension marketplace in Visual Studio Code.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/prerelease-makefile.png\"><img decoding=\"async\" class=\"size-large wp-image-33375 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/prerelease-makefile-1024x282.png\" alt=\"Option to Switch to pre-release version in Makefile Tools\" width=\"640\" height=\"176\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/prerelease-makefile-1024x282.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/prerelease-makefile-300x83.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/prerelease-makefile-768x212.png 768w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/12\/prerelease-makefile.png 1407w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h2>Other extension updates<\/h2>\n<p>The C++ extension also recently <a href=\"https:\/\/github.com\/microsoft\/vscode-cpptools\/releases\/tag\/v1.18.5\">shipped their 1.18 release<\/a> which has many new relevant features for C++ Makefile users. For example, if you are having a difficult time installing a compiler to get started with compiling with Makefile on a Mac or Linux machine, you can use the new automated compiler acquisition process. Ensure you have the C\/C++ extension downloaded in VS Code to access the latest features and check out <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/c-extension-in-vs-code-1-18-release-quick-fixes-for-missing-header-files-extract-to-function-more\/\">the latest blog post<\/a>\u00a0to learn more.<\/p>\n<h2>What do you think?<\/h2>\n<p><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.makefile-tools\">Download the Makefile Tools extension for Visual Studio Code<\/a>\u202ftoday, give the latest version a try, and let us know what you think. Check out\u00a0<a href=\"https:\/\/github.com\/microsoft\/vscode-makefile-tools\/blob\/main\/README.md\">our README documentation<\/a>\u00a0to learn more about activating the extension and getting started.<\/p>\n<p>If you run into any issues, or have any suggestions, please report them in the\u202f<a href=\"https:\/\/github.com\/Microsoft\/vscode-makefile-tools\/issues\">Issues section of our GitHub repository<\/a>.<\/p>\n<p>We can be reached via the comments below or in email at\u00a0<a href=\"mailto:VisualC@microsoft.com\">VisualC@microsoft.com<\/a>. You can also find our team\u2019s latest announcements on Twitter at <a href=\"https:\/\/twitter.com\/visualc\">@VisualC<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The latest version 0.8 of Makefile Tools in Visual Studio Code has shipped and is now available. This release includes two new features: a setting to support adding\u00a0post-configure scripts and settings to add\u00a0argument support to parse into your pre- and post-configure scripts.\u00a0This release also features several bug fixes and improvements, including one from our open-source [&hellip;]<\/p>\n","protected":false},"author":85413,"featured_media":33369,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,275],"tags":[],"class_list":["post-33368","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","category-visual-studio-code"],"acf":[],"blog_post_summary":"<p>The latest version 0.8 of Makefile Tools in Visual Studio Code has shipped and is now available. This release includes two new features: a setting to support adding\u00a0post-configure scripts and settings to add\u00a0argument support to parse into your pre- and post-configure scripts.\u00a0This release also features several bug fixes and improvements, including one from our open-source [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/33368","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\/85413"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=33368"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/33368\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/33369"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=33368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=33368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=33368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}