Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>C# 项目管家New to Visual Studio Code? Get it now.
C# 项目管家

C# 项目管家

fireasy

|
2 installs
| (0) | Free
列出工作区中的所有 .csproj 项目,支持勾选管理、关键词/正则过滤、批量编译和一键生成多项目调试配置
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

C# 项目管家

一个 VS Code 插件,用于管理工作区中的所有 .csproj 项目文件。支持勾选、过滤、一键编译、一键生成多项目调试配置,帮助你在大型 .NET 解决方案中快速定位和操作项目。

✨ 功能特色

  • 🔍 自动扫描:递归扫描工作区所有 .csproj 文件(自动跳过 node_modules、bin、obj 等目录)。
  • ☑️ 勾选管理:在侧边栏列表中点按项目前的圆圈即可切换勾选状态,勾选状态自动保存,重启 IDE 后依然保留。
  • ⚡ 批量编译:点击标题栏的 编译图标 (⚡) 即可一次性编译所有被勾选的项目。
  • ▶️ 一键生成调试配置:点击 调试图标 (▶️) 自动为所有勾选的项目生成 launch.json 和复合调试配置,实现多项目同时启动调试。
  • 🖱️ 右键快捷操作:
    • 在项目节点上右键,可快速执行 "编译此项目",或一键 选择所有项目、反选其他项目,或点击 "只显示勾选项目"(开启后仅显示已勾选项目,菜单项变为 "显示全部项目",点击可恢复;状态存内存不落盘,重启后恢复默认;无勾选时自动显示全部,避免列表为空无法关闭该开关)。
  • 📄 配置文件子节点:展开项目节点可查看其下的 appsettings*.json(含 appsettings.Development.json、appsettings.uat.json 等环境变体)与 Properties/launchSettings.json,单击即可打开编辑(可通过配置项 "加载主要配置文件" 开关控制,默认开启)。
  • 🔎 实时过滤:点击 搜索图标 输入关键词,按文件名或路径过滤项目列表。停止输入 1 秒后自动过滤,回车立即过滤并关闭输入框。
  • 🎯 持久化正则过滤:在设置中配置 csharpProjectsManager.filterRegex,使用正则表达式永久过滤项目(仅显示匹配项),修改后立即生效。
  • ⚙️ 一键跳转设置:点击 配置图标 直接打开本插件的设置界面。
  • 🔄 手动刷新:点击 刷新图标 重新扫描项目文件(当文件有变动时使用)。

📦 安装

  1. 下载 .vsix 安装包。
  2. 在 VS Code 中,打开扩展面板(Ctrl+Shift+X)。
  3. 点击右上角 ... → "从 VSIX 安装...",选择下载的 .vsix 文件。
  4. 重启 IDE 即可使用。

🧭 使用方式

  1. 打开一个包含 .csproj 文件的工作区。
  2. 在侧边栏 资源管理器 下方找到 "C# 项目列表" 视图。
  3. 在列表中点击项目前的 ○ 圆圈 切换勾选状态(变为 ✔ 勾选)。
  4. 使用视图标题栏的按钮:
    • ⚡ 编译:一键编译所有勾选项目
    • ▶️ 调试:为所有勾选项目生成调试配置
    • 🔄 刷新:重新扫描项目
    • 🔍 搜索:输入关键词实时过滤(停止输入 1 秒自动过滤,回车立即过滤并关闭)
    • ⚙️ 配置:打开设置界面
  5. 在项目节点上 右键 可执行:
    • 编译此项目:编译当前项目
    • 选择所有项目 / 反选其他项目:一键全选或反选所有项目
    • 只显示勾选项目:仅显示已勾选项目(开启后菜单项变为 显示全部项目,点击可恢复;无勾选时自动显示全部,避免列表为空无法关闭)
  6. 展开项目节点可查看配置文件(appsettings*.json 及 Properties/launchSettings.json),单击子节点直接在编辑器中打开。

▶️ 多项目调试配置生成

点击调试图标后,插件会自动:

  1. 读取所有被勾选的项目。
  2. 检测每个项目的目标框架(从 .csproj 中读取 <TargetFramework>)。
  3. 为每个项目生成独立的调试配置(type: coreclr)。
  4. 创建复合调试配置(compounds),将所有项目组合在一起。
  5. 更新或创建 .vscode/launch.json 文件。

使用生成的调试配置:

  1. 在 VS Code 的 "运行和调试" 侧边栏顶部下拉菜单中,选择 Launch All Selected。
  2. 点击绿色 "开始调试" 按钮或按 F5。
  3. 所有项目将同时启动,并在同一个调试界面中统一控制。

提示:生成的调试配置通过 preLaunchTask 自动执行对应项目的编译任务,编译成功后才启动调试,无需手动先执行 dotnet build。

⌨️ 命令列表

所有命令均可通过命令面板(Ctrl+Shift+P)执行:

命令 ID 说明
csharp-projects-manager.buildSelected 编译所有选中的项目
csharp-projects-manager.buildProject 编译右键点击的单个项目
csharp-projects-manager.generateLaunchConfig 为选中的项目生成调试配置
csharp-projects-manager.selectAll 选择所有项目
csharp-projects-manager.invertSelection 反选其他项目
csharp-projects-manager.toggleShowCheckedOnly 只显示勾选项目(开启后菜单项变为“显示全部项目”)
csharp-projects-manager.disableShowCheckedOnly 显示全部项目(退出“只显示勾选项目”模式)
csharp-projects-manager.refresh 重新扫描 .csproj 文件
csharp-projects-manager.filterProjects 打开输入框进行实时过滤(停止输入 1 秒自动过滤)
csharp-projects-manager.toggleCheck 切换项目勾选状态(点击项目时触发)
csharp-projects-manager.openSettings 打开本插件设置页

⚙️ 配置

在 VS Code 的设置中搜索 csharpProjectsManager,可配置:

📂 显示与过滤

  • csharpProjectsManager.loadMainConfigFiles:布尔类型,默认 true。

    • 开启后,项目节点下显示 appsettings*.json(含环境变体)与 Properties/launchSettings.json 子节点,单击可打开编辑;关闭后项目节点不可展开,不显示配置文件子节点。
    • 修改后立即生效,无需重启。
  • csharpProjectsManager.filterRegex:字符串类型,默认 ""。

    • 设置一个正则表达式(不区分大小写),只有文件名或相对路径匹配该正则的项目才会显示。
    • 示例:(Core|Tests) 显示名称包含 Core 或 Tests 的项目;Tests$ 显示名称以 Tests 结尾的项目。
    • 留空表示不过滤。
    • 修改后立即生效,无需重启。

🛠️ 构建任务

  • csharpProjectsManager.buildTaskType:字符串类型,默认 shell。

    • 可选值:shell(Shell 类型任务,推荐,自动处理路径和引号)、process(Process 类型任务,更底层,需要手动处理路径)。
    • 控制生成的 tasks.json 中构建任务的类型。
  • csharpProjectsManager.buildTaskProblemMatcher:字符串类型,默认 $msCompile。

    • 构建任务使用的 problem matcher,用于解析编译输出中的错误和警告。
  • csharpProjectsManager.additionalBuildArgs:字符串类型,默认 ""。

    • 为所有构建任务添加额外的 dotnet build 参数,多个参数用空格分隔。
    • 示例:--no-restore -c Release。

▶️ 调试配置

  • csharpProjectsManager.targetFramework:字符串类型,默认 ""。

    • 生成调试配置时使用的目标框架版本。留空则自动从项目文件(csproj/Import/Directory.Build.props)检测;填写则所有项目强制使用指定值,例如 net8.0。
  • csharpProjectsManager.configUpdateMode:字符串类型,默认 incremental。

    • 可选值:incremental(增量更新:保留用户手动添加及勾选过项目的配置,只追加新勾选的项目配置)、overwrite(完全覆盖:重新生成 tasks.json 和 launch.json,清空所有已有内容)。
    • 控制生成 tasks.json 和 launch.json 时的更新模式。
  • csharpProjectsManager.consoleType:字符串类型,默认 internalConsole。

    • 可选值:internalConsole(调试控制台,只输出,不支持输入)、integratedTerminal(集成终端,支持输入输出交互)、externalTerminal(外部终端,独立的终端窗口)。
    • 控制调试时程序输出显示的位置。
  • csharpProjectsManager.autoOpenBrowser:布尔类型,默认 true。

    • 对于 Web 项目,调试启动后是否自动打开浏览器。
  • csharpProjectsManager.launchStopAtEntry:布尔类型,默认 false。

    • 调试时是否在程序入口点(Main 方法)自动暂停。
  • csharpProjectsManager.additionalLaunchArgs:字符串类型,默认 ""。

    • 为所有调试配置添加额外的命令行参数,多个参数用空格分隔。

提示:“只显示勾选项目”为会话内临时状态(不写入配置文件),重启 VS Code 后自动恢复为显示全部。

🧪 要求

  • VS Code 版本 ^1.80.0(兼容的 VS Code 内核版本)。
  • .NET SDK(用于编译项目:dotnet build;调试通过 VS Code 的 C# 调试器执行)。
  • C# 扩展(推荐安装 ms-dotnettools.csharp,用于调试支持)。

🐛 故障排除

  • 无法看到 "C# 项目列表" 视图:请确保工作区内至少有一个 .csproj 文件(插件会递归扫描整个工作区)。视图显隐在窗口启动时检测,如已存在项目仍不显示,请重新加载窗口。
  • 项目列表为空:尝试点击 刷新 按钮,或确认项目不在被跳过的目录(node_modules、bin、obj、packages、.git)中。
  • 正则表达式无效:插件会弹出错误提示,请检查设置中的正则语法。
  • 编译失败:请检查终端输出,确保项目依赖完整且目标框架正确。
  • 调试配置无法启动:
    • 确保已安装 C# 扩展(ms-dotnettools.csharp)。
    • 检查 launch.json 中的 program 路径是否正确指向 .dll 文件。
    • 确保项目已编译(dotnet build)且目标框架与配置一致。
    • 多个 Web 项目启动时若端口冲突,请在配置的 args 或 env 中设置不同的端口。

📄 许可

MIT License

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft