diff --git a/Extension/CHANGELOG.md b/Extension/CHANGELOG.md index fb0554ed87..f9cefdbd74 100644 --- a/Extension/CHANGELOG.md +++ b/Extension/CHANGELOG.md @@ -1,67 +1,18 @@ # C/C++ for Visual Studio Code Change Log -## Version 0.27.0-insiders5: March 26, 2019 -* Fix the configuration UI showing errors when an older version of `cl.exe` is set in the `compilerPath`. [#5151](https://github.com/microsoft/vscode-cpptools/issues/5151) -* Fix tag parsing not working on Windows 7 without SP1. [#5155](https://github.com/microsoft/vscode-cpptools/issues/5155) -* Fix debugger not working until the extension is reinstalled after macOS High Sierra or older is upgraded to a newer OS. [#5171](https://github.com/microsoft/vscode-cpptools/issues/5171) -* Fix the `Open File…` scenario without a workspace showing "Tag Parser initializing" (all symbol operations fail). [#5176](https://github.com/microsoft/vscode-cpptools/issues/5176) -* Fix `updateChannel` being settable per-workspace. [PR #5185](https://github.com/microsoft/vscode-cpptools/pull/5185) -* Fix opened files external to the workspace folder being removed from the database during loading. [#5190](https://github.com/microsoft/vscode-cpptools/issues/5190) -* Fix crash for workspaces with no workspace folders. [#5192](https://github.com/microsoft/vscode-cpptools/issues/5192) -* Fix environment variables used for the RunInTerminal Request. [MIEngine#979](https://github.com/microsoft/MIEngine/issues/979) - -## Version 0.27.0-insiders4: March 23, 2019 -### Bug Fixes -* Fix `Go to Symbol in Workspace` not applying `search.exclude` settings. [#5099](https://github.com/microsoft/vscode-cpptools/issues/5099) -* Fix some settings not being editable in the UI. [PR #5126](https://github.com/microsoft/vscode-cpptools/pull/5126) -* Fix `cpp_properties.json` error squiggles not appearing. [#5131](https://github.com/microsoft/vscode-cpptools/issues/5131) -* Fix the wrong workspace folder settings being used. [#5134](https://github.com/microsoft/vscode-cpptools/issues/5134) -* Fix the "Open File…" scenario without a workspace folder (again). [#5136](https://github.com/microsoft/vscode-cpptools/issues/5136) -* Fix changes to `files.exclude` having no effect if they're identical to the previous workspace folder's. [#5138](https://github.com/microsoft/vscode-cpptools/issues/5138) -* Fix the debugger not working for macOS High Sierra or older. [#5146](https://github.com/microsoft/vscode-cpptools/issues/5146) -* Fix `search.exclude` not applying if there are > 1 symbols matching in the excluded file. [#5152](https://github.com/microsoft/vscode-cpptools/issues/5152) -* Fix tag parsing (workspace symbol searching) not working on Windows 7. [#5155](https://github.com/microsoft/vscode-cpptools/issues/5155) -* Fix a race condition that could cause the Outline, `Find All References`, etc. to stop working. -* Fix `Rescan Workspace` running an extra time per workspace folder. -* Fix a random crash after settings change. - -### Known Issues -* The configuration UI and json shows errors when an older version of `cl.exe` is set in the `compilerPath`. [#5151](https://github.com/microsoft/vscode-cpptools/issues/5151) -* The debugger doesn't work until the extension is reinstalled after macOS High Sierra or older is upgraded to a newer OS. [#5171](https://github.com/microsoft/vscode-cpptools/issues/5171) -* The Outline view may sometimes be incorrect for files outside the workspace. [#3949](https://github.com/microsoft/vscode-cpptools/issues/3949) - -## Version 0.27.0-insiders3: March 16, 2019 -### Bug Fixes -* Fix update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174) -* Add new setting `C_Cpp.debugger.useBacktickCommandSubstitution` to fix debugging when CShell is the remote default shell. [#4015](https://github.com/microsoft/vscode-cpptools/issues/4015) - * @Helloimbob [PR #5053](https://github.com/microsoft/vscode-cpptools/pull/5053) -* Fix Outline view not updating fast enough after switching branches. [#4894](https://github.com/microsoft/vscode-cpptools/issues/4894) -* Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. [#4989](https://github.com/microsoft/vscode-cpptools/issues/4989) -* Fix completion results appearing after numeric literals. [#5019](https://github.com/microsoft/vscode-cpptools/issues/5019) -* Fix crashes that sometimes occur after adding multiple workspace folders. [#5059](https://github.com/microsoft/vscode-cpptools/issues/5059) -* Add URI's to the debug logging for messages (e.g. `fileChanged`). [#5062](https://github.com/microsoft/vscode-cpptools/issues/5062) -* Fix crashes that sometimes occurs after switching color themes. [#5063](https://github.com/microsoft/vscode-cpptools/issues/5063) -* Fix `clang_format_sortIncludes` setting not getting used. [#5068](https://github.com/microsoft/vscode-cpptools/issues/5068) -* Fix error after updating a document too soon after startup. [#5076](https://github.com/microsoft/vscode-cpptools/issues/5076) -* Fix IntelliSense process crashing on macOS 10.12 or older after a settings change. [#5090](https://github.com/microsoft/vscode-cpptools/issues/5090) -* Fix Pause (break all) not working on Mac with Attach debugging. -* Other language server crash fixes. - -## Version 0.27.0-insiders2: March 4, 2020 -### Bug Fixes -* Fix the `Open File...` scenario (without a workspace folder). [#5049](https://github.com/microsoft/vscode-cpptools/issues/5049) -* Fix `browsePath` null reference that can occur with some configuration providers. [PR #5055](https://github.com/microsoft/vscode-cpptools/pull/5055) - -## Version 0.27.0-insiders: March 3, 2020 +## Version 0.27.0: March 30, 2020 ### Enhancements * Improved multi-root implementation with a single language server process and database for the entire workspace (shared between workspace folders). Fixes most [multi-root bugs](https://github.com/microsoft/vscode-cpptools/issues?q=is%3Aopen+is%3Aissue+label%3A%22Feature%3A+Multiroot%22+label%3A%22fixed+%28release+pending%29%22+milestone%3A0.27.0). * Update to clang-format 9.0.1 (and without shared library dependencies). [#2887](https://github.com/microsoft/vscode-cpptools/issues/2887), [#3174](https://github.com/microsoft/vscode-cpptools/issues/3174) +* Add new setting `C_Cpp.debugger.useBacktickCommandSubstitution` to fix debugging when CShell is the remote default shell. [#4015](https://github.com/microsoft/vscode-cpptools/issues/4015) + * @Helloimbob [PR #5053](https://github.com/microsoft/vscode-cpptools/pull/5053) * Rename language server processes to `cpptools` and `cpptools-srv` (IntelliSense process). [#4364](https://github.com/microsoft/vscode-cpptools/issues/4364) * Add support for `-iframework` in `compile_commands.json`. [#4819](https://github.com/microsoft/vscode-cpptools/issues/4819) * Add `cpptools.setActiveConfigName` command. [#4870](https://github.com/microsoft/vscode-cpptools/issues/4870) * @aleksey-sergey [PR #4893](https://github.com/microsoft/vscode-cpptools/pull/4893) * Default to the bundled `clang-format` if its version is newer. [#4963](https://github.com/microsoft/vscode-cpptools/issues/4963) -* Include only `lldb-mi` for macOS. +* Add URI's to the debug logging for messages (e.g. `fileChanged`). [#5062](https://github.com/microsoft/vscode-cpptools/issues/5062) +* Use `lldb-mi` for macOS Mojave or newer. * Fix visualization of standard library types in lldb. [#1768](https://github.com/microsoft/vscode-cpptools/issues/1768) * Enable debugging support on macOS Catalina. [#3829](https://github.com/microsoft/vscode-cpptools/issues/3829) * Support '`' in addition to '-exec' for sending gdb commands [PR MIEngine#967](https://github.com/microsoft/MIEngine/pull/976) @@ -77,8 +28,20 @@ * Fix IntelliSense parsing bugs and crashes. [#4717](https://github.com/microsoft/vscode-cpptools/issues/4717), [#4798](https://github.com/microsoft/vscode-cpptools/issues/4798) * Fix configuration UI disabling `compilerPath` if no default compiler is found. [#4727](https://github.com/microsoft/vscode-cpptools/issues/4727) * Fix issue with providing custom configurations for files specified using URIs schemes we do not recognize. [#4889](https://github.com/microsoft/vscode-cpptools/issues/4889) +* Fix Outline view not updating fast enough after switching branches. [#4894](https://github.com/microsoft/vscode-cpptools/issues/4894) * Fix failure to detect CL.exe if VS Installer files are stored on a drive other than the system drive. [#4929](https://github.com/microsoft/vscode-cpptools/issues/4929) +* Fix extension randomly getting stuck while communicating with the IntelliSense process on Mac. [#4989](https://github.com/microsoft/vscode-cpptools/issues/4989) +* Fix completion results appearing after numeric literals. [#5019](https://github.com/microsoft/vscode-cpptools/issues/5019) * Fix issue with cancellation of a `Rename` operation causing subsequent `Find All References` and `Rename` operations to fail. [#5022](https://github.com/microsoft/vscode-cpptools/issues/5022) +* Fix some settings not being editable in the UI. [PR #5126](https://github.com/microsoft/vscode-cpptools/pull/5126) +* Fix `cpp_properties.json` error squiggles not appearing. [#5131](https://github.com/microsoft/vscode-cpptools/issues/5131) +* Fix `search.exclude` not applying if there are > 1 symbols matching in the excluded file. [#5152](https://github.com/microsoft/vscode-cpptools/issues/5152) +* Fix tag parsing not working on Windows 7 without SP1. [#5155](https://github.com/microsoft/vscode-cpptools/issues/5155) +* Fix `updateChannel` being settable per-workspace. [PR #5185](https://github.com/microsoft/vscode-cpptools/pull/5185) +* Fix opened files external to the workspace folder being removed from the database during loading. [#5190](https://github.com/microsoft/vscode-cpptools/issues/5190) +* Fix invalid `c_cpp_properties.json` and configuration UI warning `Compiler path with spaces and arguments is missing double quotes`. [#5215](https://github.com/microsoft/vscode-cpptools/issues/5215) +* Fix environment variables used for the RunInTerminal Request. [MIEngine#979](https://github.com/microsoft/MIEngine/issues/979) +* Fix a race condition that could cause the Outline, `Find All References`, etc. to stop working. ## Version 0.26.3: January 22, 2020 ### Bug Fixes diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index ca8584af80..adecdcbd33 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -1036,7 +1036,7 @@ export class CppProperties { // Error when the compiler's path has spaces without quotes but args are used. // Except, exclude cl.exe paths because it could be for an older preview build. let compilerPathNeedsQuotes: boolean = - compilerPathAndArgs.additionalArgs && + (compilerPathAndArgs.additionalArgs && compilerPathAndArgs.additionalArgs.length > 0) && !resolvedCompilerPath.startsWith('"') && compilerPathAndArgs.compilerPath !== undefined && compilerPathAndArgs.compilerPath.includes(" "); @@ -1315,7 +1315,7 @@ export class CppProperties { continue; } // Squiggle when the compiler's path has spaces without quotes but args are used. - compilerPathNeedsQuotes = compilerPathAndArgs.additionalArgs + compilerPathNeedsQuotes = (compilerPathAndArgs.additionalArgs && compilerPathAndArgs.additionalArgs.length > 0) && !resolvedPath.startsWith('"') && compilerPathAndArgs.compilerPath.includes(" "); resolvedPath = compilerPathAndArgs.compilerPath;