Passenger:C# 与 .NET 开源 IDE
一款免费开源的 C#/.NET 集成开发环境,自带调试器、性能分析与 XAML 工具,支持 Windows、macOS 和 Linux。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v0.2.4
- 平台
- Windows、macOS、Linux
详细介绍
项目简介
Passenger 是一款基于 Avalonia 构建的开源 C# 与 .NET IDE,可在 Windows、macOS 和 Linux 上运行,采用 MIT 许可证,免费开源。它不需要账号、许可证密钥,也不收集遥测数据,个人项目和工作项目都可以使用。
Passenger 自带由 Roslyn 驱动的编辑器、自己的调试器(含 Hot Reload)、CPU 与内存性能分析器、Avalonia 与 WPF 的 XAML 工具,以及一个供编码智能体使用的 MCP server。它默认为 Visual Studio 的键位。
主要功能
容器与 Docker Compose。 每个 compose 文件(含 override)、带 Dockerfile 的项目、以及 Docker Compose 项目(.dcproj)在解决方案打开时就是一个运行配置。默认由 Passenger 自己构建 .NET 服务并将其挂载进镜像的运行时阶段,改代码无需重建镜像,Rerun 只重启构建有变化的服务。Debug 会把每个 .NET 服务停在起点并在容器内附加,每个服务有独立的 Debug 标签页,日志作为其控制台。Hot Reload 可覆盖所有服务。Containers 窗口列出 Compose 项目及其服务、其他容器、镜像、卷和网络,并显示日志、统计、文件与详情。Dockerfile 与 compose 文件也有语言服务、BuildKit 检查与 Compose 解析。
Aspire。 AppHost(项目或单文件 apphost.cs)就是一个运行配置,Aspire 的编排器会让 Passenger 启动每个项目资源,因此 Run、Debug、Run with Hot Reload 和 Profile 都能作用于每个服务。Aspire 窗口显示资源状态、健康、地址、结构化日志与追踪,资源名可补全、可重命名。
Web 应用与其数据。 Requests 窗口显示运行中的 Web 应用处理的请求及每个请求执行的数据库命令、耗时和行数,重复执行的命令(N+1)或慢查询会被标记,请求可跳到其 handler 或结束它的异常。Migrations 窗口列出各 DbContext 的迁移,并在执行 dotnet ef 前发现并修复会导致失败的问题(工具缺失或版本不符、Design 包缺失、数据库提供程序等)。Endpoints 窗口列出 .http 文件中的请求和 Web 项目的路由(minimal API、控制器、Razor Pages、Blazor、SignalR、gRPC),可直接发送到运行中的应用。
Avalonia 与 WPF 的 XAML 工具。 .axaml 文件获得与 C# 相同的帮助:控件、属性、值、资源、选择器和绑定路径的补全,XAML 编译器的错误,跳转到 C# 声明,x:Name 重命名,Reformat Code,Extract Resource / Extract Style 等。XAML Preview 在编辑器旁实时绘制文件。调试 Avalonia 应用时,Live Visual Tree 显示控件实际状态、属性值来源与样式生效原因,绑定值与断点可直接写在 XAML 中。WPF 项目在各系统上都能得到相同的 XAML 帮助,绑定路径按设计时数据上下文检查。
性能分析。 基于运行时 EventPipe 的采样分析器,可从程序第一条指令开始或附加到已在运行的进程:调用树、热点、火焰图、分配与垃圾回收,可按时间线任意区间筛选。内存快照按类型统计堆,给出对象的 retained size 和使其存活的引用路径,两次快照对比可看出新增、销毁和存活的对象。
面向智能体的 MCP server。 Passenger 本身是 Claude Code、Codex、OpenCode 等 MCP 智能体的 MCP server,智能体可以通过 IDE 构建、测试、调试和性能分析,并试跑它正在写的应用。
其他。 Git 冲突的三方合并、Local History、标记有漏洞版本的 NuGet、四种测试框架、内置终端,以及十二种外观(每种都有明暗两套)。
安装与使用
下载入口见官网 passenger-ide.net,Linux 的安装说明见 passenger-ide.net/linux,历史版本见 Releases。
新建解决方案或新建项目时,为新的 web、API、worker、Blazor 或 gRPC 服务(以及 Aspire 的 AppHost)会自动写出 Dockerfile 或 compose 文件与启动配置,直接 Run 或 Debug 即可。Passenger 通过你自己的 docker 命令工作,因此其 context 能访问的 Docker Desktop、Colima、OrbStack、Rancher Desktop、Podman 或远程引擎都可以使用。
注意事项
- 在 Windows 上,XAML Preview 可以绘制 WPF 文件;调试 WPF 应用时,Live Visual Tree、Break When Value Changes 和失败绑定提示可用。其他系统上,WPF 或 Windows Forms 项目只能构建并提供代码帮助,并会提示这些项目只能在 Windows 运行。
- Debug 会暂停每个 .NET 服务并将其附加到容器内部;如需重建镜像,可选择按 Compose 构建的方式运行镜像。
- 版本 0.2.3 引入了从任意
dotnet new项目模板执行 Add › New Item、模板的全部选项、新服务的 Docker 与 Aspire 设置等能力。
本作品整理自 GitHub 开源项目 Zaneris/passenger,原作者 @Zaneris,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.2.4当前版本
0.2.4 是 0.2.3 的热修复:修复 New Solution、New Project 与 New Item 中模板选项名称显示为空的问题,并修复被预览窗口大于面板时 XAML 预览文字模糊的问题。
- v0.2.2
修复与提速版本:跟进 .NET 11,支持文件式程序、解决方案筛选器、C# 15 unions、QUERY 端点与 EF Core 11 工具;编辑器、撤销、终端、分析器及 Hot Reload 性能明显优化。
评论