宇宙开发神器Visual Studio大家都知道,有非常多效率功能,本人使用多年也能不断地在使用中发现让我炸裂的新功能。今天又发现了一个觉得有必要分享的功能“代码清理”。之前一直用代码清理来整理项目里面的代码格式,去掉using和排序using等非常方便。但随着.NET走上了开源的高速路之后,发了春似的更新版本,C#语法也各种升级更新。那今天我将介绍怎么使用“代码清理”一键升级我们的老代码语法糖。
配置代码规则
使用代码清理前,需要配置一些自己需要的代码规则。因为VS中会对新的语法糖有建议提醒,我们就可以利用这一点进行一键代码语法升级。
在以上位置进行代码样式的一些配置,注意这里如果需要使用一键升级的地方要设置为“警告”。这里我以文件范围限定方式的命名空间为例。
利用代码清理一键升级
配置好自己喜欢的代码规则后,我们还需要把代码清理配置进行调整。
在配置代码清理中,我们需要把配置的代码规则也作为清理的内容。在可修复的程序中选择“修复 EditorConfig 中设置的所有警告和错误”。
配置好规则之后再对需要的项目运行“分析和代码清理”,稍作等待即可将所有代码升级最新语法糖了。
补充:全局using
在C#10中,可以使用全局using,避免了每个页面需要各种冗余的using负担。那么对于庞大的代码文件,要怎么去提取全局using呢。这里我写了一个批处理文件,一键生成全局using文件,非常方便快捷。只是在使用之后有些代码会需要限定命名空间来明确引用。
@echo off
set "GlobalUsingsFile=_GlobalUsing.cs"
rem 删除现有的全局using文件
del %GlobalUsingsFile%
rem 遍历所有的.cs文件
for /r %%i in (*.cs) do (
echo Processing file: %%i
findstr /R /C:"^using [^ ]*;$" "%%i" >> %GlobalUsingsFile%
)
rem 在每一行前加上 global
for /f "delims=" %%a in (%GlobalUsingsFile%) do (
echo global %%a >> tempFile
)
rem 去重和排序(使用 PowerShell)
powershell -Command "& {Get-Content tempFile | Sort-Object -Unique -Descending | Set-Content %GlobalUsingsFile%}"
rem 删除临时文件
del tempFile /q
echo "Using statements have been consolidated to %GlobalUsingsFile%"
将以上脚本放在自己项目的目录,比如“GlobalUsing.bat”双击运行,这样就可以在目录中生成一个“_GlobalUsing.cs”的全局引用文件。
大家如有更好的方法欢迎留言,我们一起让搬砖效率更高。
本博客所有文章如无特别注明均为原创
如果觉得对你有帮助,可以通过下方打赏对作者表示鼓励
本文采用知识共享署名-非商业性使用-相同方式共享
如若转载,请注明出处:《巧用“代码清理”一键升级代码语法糖》https://www.fangsi.net/2251.html