工具/技巧来replace整个VS解决scheme的所有文件中的选项卡
我的解决scheme(30+项目)在混合选项卡和空格时有点混乱,我想用一个简单的步骤来解决这个问题。
有没有人知道一个技巧/工具一步完成整个解决scheme?
编辑:不完全是我的意思。 我希望文件格式良好。 只要find/replace不会做..文件仍然是一团糟。 我需要格式 – >高级 – >格式文档命令
万一如果你的文件包含空格作为解决scheme(即每个选项卡4个空格)等宽的标签,那么你应该使用普通VS的Quick replace
工具。 为了遵循StyleCop
的格式化规则,你应该使用空格而不是制表符,所以转到Quick replace
(CTRL-h),selectUse wildcard
,然后在Find what
字段中可以使用\t
符号,用4个空格replace所有的解决scheme( Look in
领域)。
但是,如果您的解决scheme文件包含由不同宽度的空格组成的选项卡,或者您想要应用单一格式的格式 ,那么您绝对应该使用Resharper的function来重新格式化代码。 这个function被称为代码清理 。 要将code cleanup
应用到整个解决scheme或选定的项目,请转到解决scheme资源pipe理器,然后select上下文菜单中的Cleanup code
。 但是,在整个解决scheme启动重新格式化之前,请尝试将其调整到一个文件中,在Resharper的设置中有很多选项。
在Windows中工作时,我会在我的path中保留一个unix工具目录,仅用于这种紧急情况。 例如,在c:\ myproject目录中的任何.cs文件或它的子目录中,这将replace所有具有4个空格的制表符。
find c:\myproject -name *.cs -exec sed -i -e "\"s/\t/ /g\"" {} ";"
你去那里:
using System; using System.IO; class _Runner { static void Main(string[] args) { var root=args[0]; var filePaths = Directory.GetFiles(root, "*.cs", SearchOption.AllDirectories); int updated = 0; foreach (var path in filePaths) { var content = File.ReadAllText(path); var replaced = content.Replace(" ", "\t"); if (replaced == content) { continue; } ++updated; Console.WriteLine("fixing " + path); File.WriteAllText(path, replaced); } Console.WriteLine("fixed {0} files", updated); } }
保存为spaces-to-tabs.cs
,然后运行:
C:>c:\Windows\Microsoft.NET\Framework\v3.5\csc spaces-to-tab.cs C:>spaces-to-tabs.exe C:\path\to\your\solution
ctrl-h,设置“查看:”到“整个解决scheme”
你也可以录制一个macros。
一个简单而快捷的方法是在记事本+ +中打开文件,并手动将其replace(打开“显示所有字符”和选项卡将突出显示),或自动更换(必须使用“设置”)
- Visual Studio构build失败:无法将exe文件从obj \ debug复制到bin \ debug
- 断点无法绑定 – Visual Studio 2015
- 即时窗口中的换行符
- 在Visual Studio中默认从项目中删除安全警告(_CRT_SECURE_NO_WARNINGS)
- 多个错误安装Visual Studio 2015年社区版
- Visual Studio 2010说,更改源文件后,生成失败,没有任何错误
- TF30063:您无权访问collections。 Nuget和Tfs冲突
- 有没有免费的Visual Studio插件的Nunit?
- 如何手动卸载Visual Studio 2010扩展?