{"id":32202,"date":"2023-05-15T19:12:59","date_gmt":"2023-05-15T19:12:59","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/cppblog\/?p=32202"},"modified":"2023-05-15T19:12:59","modified_gmt":"2023-05-15T19:12:59","slug":"whats-new-for-makefile-tools-in-vs-code-version-0-7-0-variable-expansion-and-more","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/whats-new-for-makefile-tools-in-vs-code-version-0-7-0-variable-expansion-and-more\/","title":{"rendered":"What\u2019s New for Makefile Tools in VS Code Version 0.7.0 \u2013 Variable Expansion and more\u2026"},"content":{"rendered":"<p><span data-contrast=\"auto\">The Makefile Tools team in VS Code has shipped <\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-makefile-tools\/releases\/tag\/v0.7.0\"><span data-contrast=\"none\">the latest 0.7.0 version of the extension<\/span><\/a><span data-contrast=\"auto\">. In this version, we have enabled variable expansion for your Makefile projects in settings, so you no longer need to write plain paths for your Makefiles in the settings.json for the extension and can instead utilize variables that the Makefile extension can detect and replace values for. This allows for easier sharing of settings.json and improved consistency. Also, this allows for parameterization, so that you can define one setting and don\u2019t need to constantly change its value if you toggle between different configurations and\/or build targets.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We have also improved the user experience for when Makefile, Make and build.log are not found and added new support for C++23. The details of all that is new with this release can be found here in <\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-makefile-tools\/blob\/main\/CHANGELOG.md\"><span data-contrast=\"none\">this change log<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<h2>Variable Expansion<\/h2>\n<p><span data-contrast=\"auto\">The macros that are now supported to work from any setting entry-point are:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"1\" data-aria-level=\"1\"><code><span data-contrast=\"auto\">${workspaceFolder} <\/span><\/code><span data-contrast=\"auto\">and \u00a0<\/span><code><span data-contrast=\"auto\">${workspaceRoot}<\/span><\/code><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"2\" data-aria-level=\"1\"><code><span data-contrast=\"auto\">${workspaceFolderBasename}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"3\" data-aria-level=\"1\"><code><span data-contrast=\"auto\">${userHome}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"4\" data-aria-level=\"1\"><code><span data-contrast=\"auto\">${env:ENVIRONMENT_VARIABLE}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/li>\n<li data-leveltext=\"\uf0b7\" data-font=\"Symbol\" data-listid=\"2\" data-list-defn-props=\"{&quot;335552541&quot;:1,&quot;335559684&quot;:-2,&quot;335559685&quot;:720,&quot;335559991&quot;:360,&quot;469769226&quot;:&quot;Symbol&quot;,&quot;469769242&quot;:[8226],&quot;469777803&quot;:&quot;left&quot;,&quot;469777804&quot;:&quot;\uf0b7&quot;,&quot;469777815&quot;:&quot;hybridMultilevel&quot;}\" aria-setsize=\"-1\" data-aria-posinset=\"5\" data-aria-level=\"1\"><code><span data-contrast=\"auto\">${config:ANY_EXTENSION_SCOPE.ANY_SETTING_ID}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/li>\n<li><code><span data-contrast=\"auto\">${command:ANY_EXTENSION_SCOPE.ANY_COMMAND_ID}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/li>\n<li><code><span data-contrast=\"auto\">${configuration} <\/span><\/code><span data-contrast=\"auto\">and\u00a0 <\/span><code><span data-contrast=\"auto\">${command:makefile.getConfiguration}<\/span><\/code><\/li>\n<li><code><span data-contrast=\"auto\">${buildTarget} <\/span><\/code><span data-contrast=\"auto\">and \u00a0<\/span><code><span data-contrast=\"auto\">${command:makefile.getBuildTarget}<\/span><\/code><\/li>\n<\/ul>\n<p><span data-contrast=\"auto\">You can use this syntax in your settings.json, and the Makefile extension will automatically detect and populate the relevant information for these variables. Below are a few examples of using these macros to substitute your existing plain text.<\/span><\/p>\n<table style=\"border-collapse: collapse; width: 100%; height: 252px;\">\n<tbody>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><strong>Variable Example<\/strong><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><strong>Expanded Variable Example<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span class=\"TextRun SCXW205874148 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW205874148 BCX8\">\u201c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">makefile<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">extens<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">ionOut<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">putFolder<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">\u201d: <\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">\u201c<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">${<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">us<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">erHome<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">}\/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">M<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">y<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">Output<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">${<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">workspace<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW205874148 BCX8\">FolderBasename<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">}<\/span><span class=\"NormalTextRun SCXW205874148 BCX8\">\u201d<\/span><\/span><span class=\"EOP SCXW205874148 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code><span class=\"TextRun SCXW169994093 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW169994093 BCX8\">C:\/<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">U<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">sers<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">P<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">ublic<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">M<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">y<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">Out<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">put<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">M<\/span><span class=\"NormalTextRun SCXW169994093 BCX8\">yProject<\/span><\/span><span class=\"EOP SCXW169994093 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span class=\"TextRun SCXW140079895 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW140079895 BCX8\">\u201c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">makefile<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">make<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">Path<\/span><span class=\"NormalTextRun SCXW140079895 BCX8\">\u201d: <\/span><span class=\"NormalTextRun SCXW140079895 BCX8\">\u201c<\/span><span class=\"NormalTextRun SCXW140079895 BCX8\">${<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">env<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">:<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">P<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW140079895 BCX8\">rogramFiles<\/span><span class=\"NormalTextRun SCXW140079895 BCX8\">(x86<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">)<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">}<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">\/<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">GnuWin32<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">\/<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">b<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed SCXW140079895 BCX8\">in\/make.exe<\/span><span class=\"NormalTextRun SCXW140079895 BCX8\">\u201d<\/span><\/span><span class=\"EOP SCXW140079895 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:1,&quot;335559740&quot;:240}\">\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code>C<span class=\"TextRun SCXW132061989 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW132061989 BCX8\">:<\/span><span class=\"NormalTextRun SCXW132061989 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW132061989 BCX8\">Program Files (x<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">86<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">)<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">\/<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">GnuWin32<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">\/<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">bin<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">\/<\/span><span class=\"NormalTextRun ContextualSpellingAndGrammarErrorV2Themed GrammarErrorHighlight SCXW132061989 BCX8\">make.exe<\/span><\/span><span class=\"EOP SCXW132061989 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span class=\"TextRun SCXW123553267 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW123553267 BCX8\">\u201c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW123553267 BCX8\">makefile.e<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW123553267 BCX8\">xtensionLog<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">\u201d: \u201c<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">ext<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">ension<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">_${configuration<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">}<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">_${<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW123553267 BCX8\">buildT<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW123553267 BCX8\">arget<\/span><span class=\"NormalTextRun SCXW123553267 BCX8\">}.log\u201d<\/span><\/span><span class=\"EOP SCXW123553267 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code><span class=\"TextRun SCXW143946593 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW143946593 BCX8\">extension_<\/span><span class=\"NormalTextRun SCXW143946593 BCX8\">deb<\/span><span class=\"NormalTextRun SCXW143946593 BCX8\">ug_x<\/span><span class=\"NormalTextRun SCXW143946593 BCX8\">86.<\/span><span class=\"NormalTextRun SCXW143946593 BCX8\">log<\/span><span class=\"NormalTextRun SCXW143946593 BCX8\">\u00a0<\/span><\/span><span class=\"EOP SCXW143946593 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span class=\"TextRun SCXW172848783 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW172848783 BCX8\">\u201c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">makefile.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">configuration<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">Cache<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">Pat<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">h<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">\u201d: \u201c<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">c<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">ache<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">_<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">$<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">{<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">command:<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">makefi<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">le<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">getConfigu<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">ration<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">}<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">_${<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">command:makefile<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">get<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">BuildT<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW172848783 BCX8\">arget<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">}<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">.<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">log<\/span><span class=\"NormalTextRun SCXW172848783 BCX8\">\u201d<\/span><\/span><span class=\"EOP SCXW172848783 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code><span class=\"TextRun SCXW19608647 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW19608647 BCX8\">c<\/span><span class=\"NormalTextRun SCXW19608647 BCX8\">ache<\/span><span class=\"NormalTextRun SCXW19608647 BCX8\">_<\/span><span class=\"NormalTextRun SCXW19608647 BCX8\">debu<\/span><span class=\"NormalTextRun SCXW19608647 BCX8\">g_x86.log<\/span><span class=\"NormalTextRun SCXW19608647 BCX8\">\u00a0<\/span><\/span><span class=\"EOP SCXW19608647 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span class=\"TextRun SCXW185183533 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW185183533 BCX8\">\u201c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">makefile.compile<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">CommandsPa<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">th<\/span><span class=\"NormalTextRun SCXW185183533 BCX8\">\u201d: <\/span><span class=\"NormalTextRun SCXW185183533 BCX8\">\u201c<\/span><span class=\"NormalTextRun SCXW185183533 BCX8\">$<\/span><span class=\"NormalTextRun SCXW185183533 BCX8\">{<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">onfig:C_Cpp<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">.defaul<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">t.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">co<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">mpileComma<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW185183533 BCX8\">nds<\/span><span class=\"NormalTextRun SCXW185183533 BCX8\">}<\/span><span class=\"NormalTextRun SCXW185183533 BCX8\">\u201d<\/span>\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code><span class=\"TextRun SCXW145267983 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW145267983 BCX8\">C:\/<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">g<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">ithub\/projects\/<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">M<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">yP<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">roject\/build\/<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">compile<\/span><span class=\"NormalTextRun SCXW145267983 BCX8\">_commands.json<\/span><\/span><span class=\"EOP SCXW145267983 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span class=\"TextRun SCXW7653429 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW7653429 BCX8\">\u201c<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW7653429 BCX8\">makefile.<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW7653429 BCX8\">make<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW7653429 BCX8\">filePath<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">\u201d: <\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">\u201c<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">${<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW7653429 BCX8\">workspa<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW7653429 BCX8\">ceFolder<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">}<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">\/<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW7653429 BCX8\">Makefiles<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">\/<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">makefile<\/span><span class=\"NormalTextRun SCXW7653429 BCX8\">.in\u201d<\/span>\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code><span class=\"TextRun SCXW236614778 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW236614778 BCX8\">C:\/github\/p<\/span><span class=\"NormalTextRun SCXW236614778 BCX8\">rojects\/<\/span><span class=\"NormalTextRun SCXW236614778 BCX8\">MyP<\/span><span class=\"NormalTextRun SCXW236614778 BCX8\">roject\/<\/span><span class=\"NormalTextRun SCXW236614778 BCX8\">Makefiles\/<\/span><span class=\"NormalTextRun SCXW236614778 BCX8\">makefile.in<\/span><\/span><span class=\"EOP SCXW236614778 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<\/tr>\n<tr style=\"height: 28px;\">\n<td style=\"width: 60.317%; height: 28px;\"><code><span data-contrast=\"auto\">\u201cmakefile.launchConfigurations\u201d:{[\u2026\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0 \u201cbinaryPath\u201d: \u201c${workspaceRoot}\/test.exe\u201d,<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">\u00a0\u00a0\u00a0\u00a0 \u201cbinaryArgs\u201d: [<\/span><span data-contrast=\"none\">\\\\${buildTarget}<\/span><span data-contrast=\"auto\">, \u201c${buildTarget}\u201d]<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/p>\n<p><code><span data-contrast=\"auto\">\u2026]}<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559740&quot;:278}\">\u00a0<\/span><\/code><\/td>\n<td style=\"width: 39.683%; height: 28px;\"><code>te<span class=\"NormalTextRun SCXW211268360 BCX8\">st<\/span><span class=\"NormalTextRun SCXW211268360 BCX8\">.exe <\/span><span class=\"NormalTextRun SCXW211268360 BCX8\">$<\/span><span class=\"NormalTextRun SCXW211268360 BCX8\">{<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW211268360 BCX8\">buildT<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW211268360 BCX8\">arget<\/span><span class=\"NormalTextRun SCXW211268360 BCX8\">}<\/span><span class=\"NormalTextRun SCXW211268360 BCX8\"> x86<\/span><\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><span class=\"TextRun SCXW88614092 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW88614092 BCX8\" data-ccp-parastyle=\"heading 2\">Improved messaging when <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW88614092 BCX8\" data-ccp-parastyle=\"heading 2\">Makefile<\/span><span class=\"NormalTextRun SCXW88614092 BCX8\" data-ccp-parastyle=\"heading 2\">, Make and Build.log are not <\/span><span class=\"NormalTextRun SCXW88614092 BCX8\" data-ccp-parastyle=\"heading 2\">found<\/span><\/span><span class=\"EOP SCXW88614092 BCX8\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span class=\"TextRun SCXW68232236 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW68232236 BCX8\">Now, <\/span><span class=\"NormalTextRun SCXW68232236 BCX8\">you can see the status of all critical components used in activating the extension<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\"> in<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\"> the left<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\">&#8211;<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\">side<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW68232236 BCX8\">Makefile<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\"> Tools<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\"> project outline<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\"> including the newly added <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW68232236 BCX8\">Makefile<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\">, Make, and Build Log<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\">. <\/span><span class=\"NormalTextRun CommentStart SCXW68232236 BCX8\">When<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SpellingErrorHighlight SCXW68232236 BCX8\">Makefile<\/span><span class=\"NormalTextRun SCXW68232236 BCX8\">, Make, and Build.log are not found, the extension has a \u201cnot found\u201d status integrated into this side panel next to each item. <\/span><\/span><span class=\"EOP SCXW68232236 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-094633.png\"><img decoding=\"async\" class=\"size-full wp-image-32203 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-094633.png\" alt=\"Makefile Tools Project Outline with targets not found\" width=\"909\" height=\"430\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-094633.png 909w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-094633-300x142.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-094633-768x363.png 768w\" sizes=\"(max-width: 909px) 100vw, 909px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW175956168 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun CommentStart SCXW175956168 BCX8\">By clicking on the pencil icon on each missing item<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> in the latest pre-release version<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\">, you <\/span><span class=\"NormalTextRun SCXW175956168 BCX8\">can<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> specify the path to these files <\/span><span class=\"NormalTextRun SCXW175956168 BCX8\">so that the extension can find them and<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> activate <\/span><span class=\"NormalTextRun SCXW175956168 BCX8\">all capabilities<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> fully<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> as well as show the <\/span><span class=\"NormalTextRun AdvancedProofingIssueV2Themed SCXW175956168 BCX8\">current status<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> of the project<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\">.<\/span><span class=\"NormalTextRun SCXW175956168 BCX8\"> Once you select a path for each item, you can view the active path and status in the side panel.<\/span><\/span><span class=\"EOP SCXW175956168 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095819.png\"><img decoding=\"async\" class=\"size-full wp-image-32204 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095819.png\" alt=\"path to make tool in settings\" width=\"1191\" height=\"267\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095819.png 1191w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095819-300x67.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095819-1024x230.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095819-768x172.png 768w\" sizes=\"(max-width: 1191px) 100vw, 1191px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095909.png\"><img decoding=\"async\" class=\"size-full wp-image-32205 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095909.png\" alt=\"Set a path to your build log in your settings in VS code\" width=\"1188\" height=\"232\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095909.png 1188w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095909-300x59.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095909-1024x200.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-095909-768x150.png 768w\" sizes=\"(max-width: 1188px) 100vw, 1188px\" \/><\/a><\/p>\n<h2><span class=\"TextRun SCXW93720741 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW93720741 BCX8\" data-ccp-parastyle=\"heading 2\">Pre-release<\/span><span class=\"NormalTextRun SCXW93720741 BCX8\" data-ccp-parastyle=\"heading 2\"> Version<\/span><span class=\"NormalTextRun SCXW93720741 BCX8\" data-ccp-parastyle=\"heading 2\">s now available for <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93720741 BCX8\" data-ccp-parastyle=\"heading 2\">M<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW93720741 BCX8\" data-ccp-parastyle=\"heading 2\">akefile<\/span> <span class=\"NormalTextRun SCXW93720741 BCX8\" data-ccp-parastyle=\"heading 2\">Tools<\/span><\/span><span class=\"EOP SCXW93720741 BCX8\" data-ccp-props=\"{&quot;134245418&quot;:true,&quot;134245529&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:160,&quot;335559739&quot;:80,&quot;335559740&quot;:278}\">\u00a0<\/span><\/h2>\n<p><span class=\"TextRun SCXW120008696 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW120008696 BCX8\">We <\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">have also<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\"> set up a pre-release pipeline, so you can get earlier access before a<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">n <\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">official release ship<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\"> to any bug fixes and releases that users merge to the<\/span> <span class=\"NormalTextRun SpellingErrorV2Themed SCXW120008696 BCX8\">M<\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW120008696 BCX8\">akefile<\/span> <span class=\"NormalTextRun SCXW120008696 BCX8\">T<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">ools repository.<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\"> All you need to do <\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">is click the<\/span> <span class=\"NormalTextRun SCXW120008696 BCX8\">\u201cS<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">witch to <\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">P<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">re-<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">R<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">elease <\/span><span class=\"NormalTextRun SCXW120008696 BCX8\">version\u201d<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\"> under the <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW120008696 BCX8\">Makefile<\/span><span class=\"NormalTextRun SCXW120008696 BCX8\"> Tools extension.<\/span><\/span><span class=\"EOP SCXW120008696 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101133.png\"><img decoding=\"async\" class=\"size-full wp-image-32206 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101133.png\" alt=\"Image to select to switch to pre-release version in VS code makefile tools extension \" width=\"1186\" height=\"273\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101133.png 1186w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101133-300x69.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101133-1024x236.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101133-768x177.png 768w\" sizes=\"(max-width: 1186px) 100vw, 1186px\" \/><\/a><\/p>\n<p><span class=\"TextRun SCXW218701990 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW218701990 BCX8\">Some <\/span><span class=\"NormalTextRun SCXW218701990 BCX8\">new f<\/span><span class=\"NormalTextRun SCXW218701990 BCX8\">unctionality <\/span><span class=\"NormalTextRun SCXW218701990 BCX8\">is <\/span><span class=\"NormalTextRun SCXW218701990 BCX8\">available in the latest pre-releas<\/span><span class=\"NormalTextRun SCXW218701990 BCX8\">e, including<\/span><span class=\"NormalTextRun SCXW218701990 BCX8\"> the ability to open <\/span><span class=\"NormalTextRun SpellingErrorV2Themed SCXW218701990 BCX8\">Makefile<\/span><span class=\"NormalTextRun SCXW218701990 BCX8\"> and Build Log using new buttons<\/span><span class=\"NormalTextRun SCXW218701990 BCX8\"> in the <\/span><span class=\"NormalTextRun SCXW218701990 BCX8\">project outline.<\/span><\/span><span class=\"EOP SCXW218701990 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101430.png\"><img decoding=\"async\" class=\"size-full wp-image-32207 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101430.png\" alt=\"Open Makefile File button in the latest pre-release version\" width=\"1095\" height=\"223\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101430.png 1095w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101430-300x61.png 300w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101430-1024x209.png 1024w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2023\/05\/Screenshot-2023-05-15-101430-768x156.png 768w\" sizes=\"(max-width: 1095px) 100vw, 1095px\" \/><\/a><\/p>\n<h2>Future Work<\/h2>\n<p><span class=\"TextRun SCXW50133875 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW50133875 BCX8\">Next, we will be investigating some of your most highly up-<\/span><span class=\"NormalTextRun CommentStart SCXW50133875 BCX8\">voted suggestions including <\/span><\/span><a class=\"Hyperlink SCXW50133875 BCX8\" href=\"https:\/\/github.com\/microsoft\/vscode-makefile-tools\/issues\/90\" target=\"_blank\" rel=\"noreferrer noopener\"><span class=\"TextRun Underlined SCXW50133875 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"none\"><span class=\"NormalTextRun SCXW50133875 BCX8\" data-ccp-charstyle=\"Hyperlink\">support for m<\/span><span class=\"NormalTextRun SCXW50133875 BCX8\" data-ccp-charstyle=\"Hyperlink\">ulti-root <\/span><span class=\"NormalTextRun SCXW50133875 BCX8\" data-ccp-charstyle=\"Hyperlink\">repositories<\/span><\/span><\/a><span class=\"TextRun SCXW50133875 BCX8\" lang=\"EN-US\" xml:lang=\"EN-US\" data-contrast=\"auto\"><span class=\"NormalTextRun SCXW50133875 BCX8\">.<\/span><\/span><span class=\"EOP SCXW50133875 BCX8\" data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:278}\">\u00a0<\/span><\/p>\n<h2>What do you think?<\/h2>\n<p><a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-vscode.makefile-tools\"><span data-contrast=\"none\">Download the Makefile Tools extension for Visual Studio Code<\/span><\/a><span data-contrast=\"none\">\u202ftoday, give the latest version a try, and let us know what you think. Check out <\/span><a href=\"https:\/\/github.com\/microsoft\/vscode-makefile-tools\/blob\/main\/README.md\"><span data-contrast=\"none\">our README documentation<\/span><\/a><span data-contrast=\"none\"> to learn more about activating the extension and getting started.<\/span><span data-ccp-props=\"{&quot;134233117&quot;:false,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">If you run into any issues, or have any suggestions, please report them in the\u202f<\/span><a href=\"https:\/\/github.com\/Microsoft\/vscode-makefile-tools\/issues\"><span data-contrast=\"none\">Issues section of our GitHub repository<\/span><\/a><span data-contrast=\"none\">.\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">We can be reached via the comments below or in email at\u202f<\/span><a href=\"mailto:VisualC@microsoft.com\"><span data-contrast=\"none\">VisualC@microsoft.com<\/span><\/a><span data-contrast=\"none\">. 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;:false,&quot;134233118&quot;:true,&quot;201341983&quot;:0,&quot;335559738&quot;:0,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Makefile Tools team in VS Code has shipped the latest 0.7.0 version of the extension. In this version, we have enabled variable expansion for your Makefile projects in settings, so you no longer need to write plain paths for your Makefiles in the settings.json for the extension and can instead utilize variables that the [&hellip;]<\/p>\n","protected":false},"author":85413,"featured_media":32203,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,275],"tags":[],"class_list":["post-32202","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","category-visual-studio-code"],"acf":[],"blog_post_summary":"<p>The Makefile Tools team in VS Code has shipped the latest 0.7.0 version of the extension. In this version, we have enabled variable expansion for your Makefile projects in settings, so you no longer need to write plain paths for your Makefiles in the settings.json for the extension and can instead utilize variables that the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/32202","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=32202"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/32202\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/32203"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=32202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=32202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=32202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}