Visual Studio 2017 Power Commands无法格式化XAML?求解决办法
解决Power Commands保存时无法格式化XAML的问题
我太懂这种纠结了——Power Commands的保存自动格式化用着超顺手,结果偏偏XAML不在它的支持列表里,明明手动按Ctrl+K, Ctrl+D能正常格式化,这反差感真的闹心!下面给你几个实用的解决思路和替代方案,应该能帮你搞定:
优先试试Visual Studio原生设置(2022及以上版本)
从VS2022开始,微软已经把“保存时格式化”做成了原生功能,完全不需要依赖第三方工具:
- 打开 工具 > 选项 > 文本编辑器 > XAML > 格式化 > 常规
- 勾选「保存时自动格式化文档」选项
- 确认设置后,下次保存XAML文件时就会自动触发格式化,效果和手动按
Ctrl+K, Ctrl+D一模一样
用第三方扩展替代Power Commands的格式化功能
如果你的VS版本比较旧,或者需要更灵活的配置,这两个扩展亲测好用:
- Format Document on Save:这个扩展支持几乎所有VS能识别的文件类型(包括XAML),安装后可以在设置里精准指定哪些文件需要开启保存自动格式化,完美替代Power Commands的这个功能
- CodeMaid:这是个功能更全面的代码整理工具,除了保存时格式化XAML,还能帮你清理冗余注释、整理using语句、优化代码结构,自定义程度拉满
自己动手写个简单宏(适合不想装扩展的用户)
如果你偏好原生环境,不想额外装扩展,可以写个小宏实现这个功能:
- 打开 工具 > 宏 > 宏资源管理器(如果找不到,先去「工具 > 选项」里启用宏功能)
- 创建新的宏模块,粘贴以下代码:
Sub FormatXamlOnSave() Dim activeDoc As Document = DTE.ActiveDocument If activeDoc IsNot Nothing AndAlso activeDoc.Name.EndsWith(".xaml", StringComparison.OrdinalIgnoreCase) Then DTE.ExecuteCommand("Edit.FormatDocument") End If End Sub
- 绑定宏到保存事件:右键点击刚创建的宏,选择「事件绑定」,勾选「DocumentSaved」事件
- 保存设置后,每次保存XAML文件时就会自动执行格式化命令
小补充
要是你还想继续用Power Commands,可以去它的官方反馈渠道提需求,但这个工具的更新频率不算高,可能得等一阵子才有修复。不过上面的几个方案都能立刻解决你的问题,选最适合你的就行~
内容的提问来源于stack exchange,提问作者Marijke
相关产品推荐
相关产品推荐

