除了 IDE,C#/WPF 开发者每天离不开的 10 个工具
开头
写 C# 和 WPF 这些年,我越来越认同一句话:IDE 只是你的主武器,真正拉开效率差距的,往往是那些"顺手的小工具"。
排查一个布局错位、验证一段 LINQ 逻辑、看一个第三方 DLL 里到底怎么实现的、找那个忘了放在哪的文件------这些琐碎小事,如果每次都靠 IDE 硬啃或者翻文件夹,一天就被吃掉两三个小时。
这篇文章我按"我自己的使用频率"排序,列出日常真正在用、且对 WPF 开发特别有价值的 10 个工具,全部免费或有免费方案,附典型场景和获取方式。
1. Snoop ------ WPF 运行时可视化树调试神器
用途:调试 WPF 界面布局、样式、绑定的第一神器。
WPF 最头疼的就是"为什么这个控件跑到了奇怪的位置""为什么这个样式没生效"。Snoop 能在程序运行时注入,让你:
- 实时查看整个可视化树,点击界面元素直接反查它在树里的位置。
- 查看和临时修改 任意元素的属性、
Style、DataContext、绑定来源。 - 用"放大镜/十字准星"精确选中某个像素点上的控件。
典型场景:绑定失效、
DataTemplate没套上、Grid列宽被谁撑开------Snoop 一开,现场立刻清楚。获取:GitHub 搜snoopwpf,开源免费。
2. LINQPad ------ C# 代码片段即时验证
用途:不建项目,秒级跑一段 C#/LINQ。
有时候你只想验证一个 LINQ 查询、一个正则、一段排序逻辑,犯不着新建项目、dotnet run。LINQPad 打开就能写:
csharp
var list = Enumerable.Range(1, 100);
list.Where(x => x % 7 == 0).Select(x => x * 2).Dump();
Dump() 会把结果结构化可视化输出,集合、对象、甚至复杂类型都能直观展开。它还支持引用你自己的 DLL,做快速实验特别顺手。
获取:
linqpad.net,免费版够用,专业版解锁更多数据库/自动补全能力。
3. dnSpy ------ .NET 反编译与调试
用途:看第三方库/老程序集内部实现、无源码调试。
接手没有源码的 DLL、或者想搞清楚某个 NuGet 包内部逻辑时,dnSpy 是救星:
- 直接反编译成 C# 源码,可读性很高。
- 能下断点、单步调试无源码的程序集。
- 支持修改 IL、重新保存(打补丁)。
典型场景:怀疑某个第三方控件的 bug、确认一个 API 的内部实现、排查"为什么这个老 exe 崩溃"。注意:反编译仅用于学习和排查,别拿去做违规的事。获取:GitHub 搜
dnSpy,开源免费。
4. Git(命令行)------ 版本控制的底裤
用途:版本管理,命令行才是真·可控。
图形化 Git 工具(GitKraken、SourceTree)虽然直观,但关键时刻还是命令行最可靠------尤其遇到复杂的 rebase、cherry-pick、找回误删提交时:
bash
git reflog # 找回"丢失"的提交
git stash # 临时存起来切分支
git rebase -i HEAD~5 # 整理提交历史
建议:装 Git for Windows (自带 Git Bash),日常提交可以用 IDE 集成的,但至少要把
log、reflog、reset、stash这几个救命命令练熟。
5. Windows Terminal + PowerShell ------ 顺手的终端
用途:统一的现代化终端。
Windows Terminal 一个窗口里管理多个标签页:PowerShell、PowerShell 7、Git Bash、甚至 WSL,颜值和字体都好调。配合 PowerShell,日常构建、跑脚本、批量操作文件效率都很高:
powershell
dotnet build
dotnet run --project .\MyApp
Get-ChildItem -Recurse | Measure-Object
建议:把 PowerShell 7 设为默认 shell,勾上"半透明 + 亚克力"效果,再把常用命令做成函数存进 Profile,终端体验立刻上一个档次。
6. PowerToys ------ Windows 效率套件
用途:一堆小工具,解决 Windows 的"反人类"细节。
微软官方的开源效率套件,我最常用的三个模块:
- FancyZones:自定义窗口分区,把屏幕划成左右/田字格,拖动窗口自动吸附------多窗口对照写代码、看文档特别爽。
- PowerRename :右键批量重命名,支持正则替换,比如把
Order_1.cs统一改成Order_001.cs。 - PowerToys Run :
Alt+Space呼出快速启动器,搜应用、算数、执行命令,比开始菜单快一个量级。
获取:GitHub 搜
PowerToys或直接 Store 安装,微软官方免费。
7. Everything ------ 文件秒级搜索
用途:按文件名找文件,毫秒级出结果。
Windows 自带的搜索慢得让人怀疑人生,Everything 则是基于 NTFS 索引的即时文件名搜索:
- 输入关键词,几乎零延迟列出所有匹配文件。
- 支持通配符、正则、按类型/大小/日期过滤。
- 配合 HTTP/命令行接口,还能被脚本调用。
典型场景:忘了把某个
.config或图片塞到哪个目录了,Everything 一敲即中。获取:voidtools.com,免费。
8. Beyond Compare ------ 代码/文件对比与合并
用途:对比文件、目录,解决合并冲突。
对比两份代码差异、对比两个版本的配置文件、解决 Git 冲突、同步目录,Beyond Compare 都是标准答案:
- 文本对比,差异高亮清晰,支持语义级别对比。
- 三方合并 :处理
merge冲突时,左中右三栏一目了然。 - 目录对比与同步,快速找出两边文件夹的差异。
典型场景:升级框架后对比前后配置、确认某次改动到底改了什么。获取:
scootersoftware.com,付费但提供 30 天试用;免费的 WinMerge 可以替代基础对比需求。
9. Process Explorer(Sysinternals)------ 进程与系统排查
用途:看进程、句柄、DLL,定位"谁锁住了文件"。
程序崩了、文件被占用删不掉、句柄泄漏,Process Explorer 都能帮上忙:
- 查看完整进程树,谁启动了谁。
- Find → Find Handle or DLL :输入文件名,直接告诉你是哪个进程占用了它。
- 查看进程加载的 DLL、句柄、网络连接。
典型场景:编译报"文件被占用"、DLL 加载失败、怀疑句柄泄漏导致内存涨。获取:微软 Sysinternals 套件,免费。
10. DevToys ------ 开发者瑞士军刀
用途:JSON/正则/编码等一堆小工具,一个窗口搞定。
微软开源的开发者工具箱,把散落各处的小功能集中在一起,离线可用:
- JSON/YAML 格式化与校验、JSON 转 C# 类。
- 正则测试器:实时看匹配结果。
- Base64 / URL / Hash 编解码、JWT 解码、UUID 生成、时间戳转换等。
典型场景:调试接口时格式化一段 JSON、转个 Base64、快速验证正则。获取:GitHub 搜
DevToys或 Store 安装,免费。
顺带一提(备选)
- Postman / Insomnia:调试 HTTP 接口、管理环境变量。
- ShareX / Snagit:截图、录屏、录 GIF,写文档/提 issue 必备。
- 7-Zip:解压各种格式,无广告。
- VS Code:轻量编辑、写 Markdown、改 JSON/脚本,比开 IDE 快。
- Docker Desktop:跑依赖服务(数据库、Redis、消息队列),本地环境隔离。
总结
我用一句话概括这套组合:IDE 写代码,Snoop 调界面,LINQPad 验逻辑,dnSpy 看源码,Git 管版本,Everything 找文件,PowerToys 提效率。
如果预算/精力有限、只能先装 3 个,我的推荐是:Snoop (WPF 必备)、Everything (立竿见影)、PowerToys(免费且全家桶)。这三个一装,日常工作的"卡顿感"会立刻少很多。
工具再多,最终还是要用起来、练成肌肉记忆才有价值。你现在日常最离不开的工具是哪个?欢迎评论区聊聊,我看看有没有更香的可以换掉我清单里的某个。
如果这篇文章对你有帮助,点个赞让更多 WPF 同行看到。