You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement outlineViewType setting that changes the Project Outline View (#3799) (#4538)
* Implement outlineViewType setting that changes the Project Outline View (#3799)
* fixing lint errors
* Fix outlineViewType setting to properly toggle between tree and list views
- Move onChange subscription from workspace-level to per-project
ConfigurationReader, fixing resource-scoped setting detection and
multi-project refresh (Bugs #1 and #2 from audit)
- Branch in WorkspaceFolderNode.updateCodeModel() to restore the
pre-1.15 multi-project outline in tree mode, bypassing the
populateViewCodeModel() flattening (Bug #3)
- Revert ProjectNode to original 3-param constructor (remove
ConfigurationReader dependency)
- Revert ProjectNode.update() to standard folder-based target
grouping (tree structure comes from separate ProjectNodes)
- Add CHANGELOG entry
Co-authored-by: Copilot <[email protected]>
---------
Co-authored-by: Dimitar Ushatov <[email protected]>
Co-authored-by: Hannia Valera <[email protected]>
Co-authored-by: Copilot <[email protected]>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,6 +20,7 @@ Features:
20
20
- Complete Bookmarks context menu with "Set Build Target", "Set Launch/Debug Target", "Open CMakeLists.txt", and "Run Utility Target" actions to match the Project Outline. [#4788](https://github.com/microsoft/vscode-cmake-tools/issues/4788)
21
21
- Relax `intelliSenseMode` validation in CMake Presets. [#4815](https://github.com/microsoft/vscode-cmake-tools/issues/4815)[@halflifefan](https://github.com/halflifefan)
22
22
- Support string arrays in kit `cmakeSettings` to pass CMake lists without escaping semicolons (e.g., `"LLVM_ENABLE_PROJECTS": ["clang", "lld"]`). [#4503](https://github.com/microsoft/vscode-cmake-tools/issues/4503)
23
+
- Add `cmake.outlineViewType` setting to toggle the Project Outline between a flat list view and the prior hierarchical tree view that shows each CMake project separately. [#3799](https://github.com/microsoft/vscode-cmake-tools/issues/3799)[#4538](https://github.com/microsoft/vscode-cmake-tools/pull/4538)[@ar1m4n](https://github.com/ar1m4n)
23
24
24
25
Improvements:
25
26
- Run tests sequentially in alphabetical order (matching the Test Explorer display order) when `cmake.ctest.allowParallelJobs` is disabled. [#4829](https://github.com/microsoft/vscode-cmake-tools/issues/4829)
Copy file name to clipboardExpand all lines: docs/cmake-settings.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -77,6 +77,7 @@ Options that support substitution, in the table below, allow variable references
77
77
|`cmake.options.advanced`| Advanced options for CMake Tools. | See package.json | no |
78
78
|`cmake.options.statusBarVisibility`| Controls visibility of the status bar. |`hidden`| no |
79
79
|`cmake.outputLogEncoding`| Encoding to use for tool output. |`auto`| no |
80
+
|`cmake.outlineViewType`| Project Outline View`s type. |`["list", "tree"]`| no |
80
81
|`cmake.parallelJobs`| Specify the number of jobs run in parallel during the build. Using the value `0` will detect and use the number of CPUs. Using the value `1` will disable build parallelism. |`0`| no |
81
82
|`cmake.parseBuildDiagnostics`| If `true`, parse compiler output for diagnostics. |`true`| no |
82
83
|`cmake.pinnedCommands`| List of commands pinned to the command palette. |`["workbench.action.tasks.configureTaskRunner", "workbench.action.tasks.runTask"]`| no |
Copy file name to clipboardExpand all lines: package.nls.json
+1Lines changed: 1 addition & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -428,6 +428,7 @@
428
428
},
429
429
"cmake-tools.configuration.cmake.launchBehavior.newTerminal.markdownDescriptions": "A new terminal instance is created and the target is launched in it. Existing terminals are not automatically cleaned up.",
430
430
"cmake-tools.configuration.cmake.loadCompileCommands.description": "Controls whether the extension reads compile_commands.json to enable single file compilation.",
431
+
"cmake-tools.configuration.cmake.outlineViewType.description": "Project Outline View`s type. Available options are: \"list\" and \"tree\".",
431
432
"cmake-tools.command.cmake.projectStatus.update.title": "Refresh the project status",
432
433
"cmake-tools.command.cmake.pinnedCommands.add.title": "Add a CMake command to pin",
0 commit comments