Solution Explorer
Visual Studio 2013–2026 Solution Explorer for Cursor and VS Code. Open a classic .sln (or a simple .slnx) and browse solution folders, C# projects, and C++ filters the way Visual Studio 2022 does.
面向 Cursor / VS Code 的解决方案资源管理器,支持 Visual Studio 2013–2026。打开经典 .sln(以及简单的 .slnx),按解决方案文件夹、C# 项目和 C++ 筛选器浏览。
The extension does not collect telemetry.
本扩展不收集遥测数据。
Install the VSIX in Cursor
From this repo, build the package (no publisher login required):
npm install
npm run package
That writes vs-solution-explorer-0.1.4.vsix in the repo root (gitignored). Publisher id is zhangissic.
In Cursor: Extensions → … → Install from VSIX…
Choose vs-solution-explorer-0.1.4.vsix.
Reload if Cursor asks you to.
Click Solution Explorer / 解决方案资源管理器 on the Activity Bar.
If the workspace root has exactly one .sln or .slnx, it opens automatically. Otherwise use Open Solution….
在 Cursor 中安装 VSIX
- 在本仓库执行
npm install 和 npm run package,得到 vs-solution-explorer-0.1.4.vsix。发布者 ID 为 zhangissic。
- Cursor:扩展 →
… → Install from VSIX…(从 VSIX 安装)。
- 选中该
.vsix,按提示重新加载。
- 打开活动栏中的 解决方案资源管理器。
- 工作区根目录若只有一个
.sln / .slnx,会自动打开;否则使用 打开解决方案…。
Open a solution
| Action |
How |
| Open |
Command Palette → Solution Explorer: Open Solution…, the folder button on the view, right-click a .sln → Open in Solution Explorer, or open the .sln in the editor. The view is focused after it loads. The last solution is restored next time if the file still exists. |
| Default path |
Setting solutionExplorer.defaultSolution (workspace-relative or absolute). Used when nothing is remembered from last time. |
| Auto-open |
solutionExplorer.autoLoad (default true) opens the only root .sln / .slnx |
| Search |
Box at the top, or Ctrl+; / Ctrl+F while the view is focused |
| Open a file |
Click it |
| Reveal |
Right-click → Reveal in Explorer / 在资源管理器中显示 |
| Reload |
Right-click the solution or a project, or the refresh button. The status bar and a window progress title show while a large solution loads. |
| Collapse all |
View title Collapse All (also the built-in tree action). It runs workbench.actions.treeView.solutionExplorer.collapseAll and collapses every expanded node back to the solution root. |
| Expand all |
View title Expand All |
| Loading |
While a solution is parsing, the status bar shows Loading solution… 12/44 / 正在加载解决方案… 12/44. That text means a parse is in progress. It disappears when loading finishes or fails. It is not a panel. |
| Close |
Solution Explorer: Close Solution |
| Language |
solutionExplorer.locale: auto (follows the editor), en, or zh-cn. Command titles use package.nls.json / package.nls.zh-cn.json. |
F5 sample
- Open this folder in Cursor.
npm install
- Press F5 → Run Extension (Sample Solution).
- The Extension Development Host opens
fixtures/SampleApp and loads SampleApp.sln.
- Expand HVAC → YbimHVACModel (Visual Studio 2017) to see filters (
ModelBuilder/风管, 头文件, 源文件) and the C# project SampleApp.
Run Extension (this folder) uses the repository as the workspace. Pick Open Solution… and choose:
fixtures/SampleApp/SampleApp.sln — C# + C++ with filters
fixtures/legacy/Vs2013.sln — VS 2013 header, v120 C++ project
fixtures/legacy/Vs2015.sln — VS 2015 header, old-style C# project
fixtures/yjkMEPBim/yjkMEPBim.sln — 44 C++ projects; sources are not in this repo
Supported range
Supported: Visual Studio 2013–2026 solutions in Cursor (and VS Code).
| Signal |
Label |
Solution comment # Visual Studio 2013, VisualStudioVersion 12.x |
Visual Studio 2013 |
# Visual Studio Version 14, ToolsVersion 14.0, toolset v140 |
Visual Studio 2015 |
VCProjectVersion / toolset v141 |
Visual Studio 2017 |
v142 / version 16 |
Visual Studio 2019 |
v143 / version 17 |
Visual Studio 2022 |
v145 / version 18 |
Visual Studio 2026 |
A header that literally says Visual Studio 2025 |
Visual Studio 2025 |
| A later major version (19+) |
Visual Studio (version N) — the tree still loads |
There was no shipping product named Visual Studio 2016. Version 14 is 2015; version 15 is 2017.
C++ suffix order: VCProjectVersion, then PlatformToolset (v120 through v145), then ToolsVersion (4.0 is ignored). Unknown item elements are skipped.
C# covers old-style projects (ToolsVersion 12.0 and 14.0, explicit Compile includes, TargetFrameworkVersion) and SDK-style projects.
Unknown project-type GUIDs become a generic project node. They do not fail the solution.
Known limitations
- Not a build or debug UI. No MSBuild, NuGet, designers, or refactor commands.
- The sidebar follows Visual Studio’s hierarchy. It is not a pixel copy of the VS theme; Cursor’s theme supplies colors.
- External Dependencies lists
AdditionalIncludeDirectories from the project file. A full header scan needs MSBuild.
.slnx reading is best-effort (folders and project paths).
- XML
.vcproj (VS 2005/2008) is best-effort. Non-XML .vcproj (Visual Studio 2010 and earlier) is not expanded. The project stays in the tree with Unsupported project format / 不支持的项目格式.
- If a
.vcxproj or .csproj is missing, the project node remains and says the file was not found.
- No source-control decorations.
Publish
Publisher id is zhangissic (Open VSX and Visual Studio Marketplace). Exact commands, with no tokens stored in the repo, are in PUBLISH.md. npm run package does not need a login.
Develop
npm install
npm test
npm run compile
npm run package
See ARCHITECTURE.md and CHANGELOG.md.
中文
能做什么
- 打开
.sln,树为:解决方案 → 解决方案文件夹 → 项目 → 筛选器或文件夹 → 文件。嵌套来自 NestedProjects。
- C#:SDK 风格默认通配,以及 VS2013–2015 的旧式
.csproj(ToolsVersion 12.0 / 14.0,显式 Compile Include)。
- C++:
.vcxproj 与旁边的 .vcxproj.filters。工具集 v120(2013)到 v145(2026)。有 VCProjectVersion 或工具集时显示 (Visual Studio 20xx)。
- 每个 C++ 项目都有 引用 和 外部依赖项。
- 单击文件即打开。右键:打开、在资源管理器中显示、复制路径、重新加载、全部折叠。
- 加载较大解决方案时,状态栏短暂显示「正在加载解决方案… 12/44」,结束后立即消失,不是常驻面板。
- 打开后默认展开解决方案和顶层解决方案文件夹,项目列表直接可见。每一层都是上一层的子节点,缩进比上一层深一档。
- 全部折叠 会真正收起树。全部展开 会按真实子节点逐层展开。
- 搜索框会过滤树并保留匹配项的父节点。
- 不支持的工程类型仍显示节点,不会让整个解决方案加载失败。
设置
solutionExplorer.autoLoad:没有记住的解决方案时,若根目录只有一个 .sln / .slnx 就打开它。
solutionExplorer.defaultSolution:启动时优先于自动检测的路径(仍低于上次打开的解决方案)。
solutionExplorer.locale:auto、en、zh-cn。
局限
- 不做 MSBuild 生成、调试、NuGet 或设计器。
- 非 XML 的
.vcproj(VS2010 及更早)只显示「不支持的项目格式」,不列出文件。
- 外部依赖项只来自项目文件里的包含目录,不是完整的头文件扫描。
- 没有源代码管理装饰。