将特定文件夹中的所有 类 标记为已过时
Mark all classes in a specific folder as obsolete
我正在重构一个大型 C# 项目,我需要将许多 classes 标记为过时,即。用 ObsoleteAttribute 装饰它们。 Class 文件位于几个文件夹中,这些文件夹中的所有 class 文件都可以标记为过时,无一例外。
有没有什么方法可以用 Visual Studio 2019 做到这一点,而无需一个一个地打开所有文件?我不知道它是否有帮助,但我也使用 Resharper。
使用脚本,有些class是抽象的,有些是私有的,所以寻找class关键字不足以找到正确的属性位置。
中的快速(imo,hacky)方法
$script = { Process {
(@(Get-Content -Path $PSItem.FullName) -replace '(?=.*?\sclass)', '[Obsolete] ') |
Set-Content -Path $PSItem.FullName
}}
# run from root folder containing files
Get-ChildItem -Recurse -File -Filter *.cs | & $script
解析 class 定义目录中的所有文件,并在包含关键字的行的开头插入属性。
我正在重构一个大型 C# 项目,我需要将许多 classes 标记为过时,即。用 ObsoleteAttribute 装饰它们。 Class 文件位于几个文件夹中,这些文件夹中的所有 class 文件都可以标记为过时,无一例外。
有没有什么方法可以用 Visual Studio 2019 做到这一点,而无需一个一个地打开所有文件?我不知道它是否有帮助,但我也使用 Resharper。
使用脚本,有些class是抽象的,有些是私有的,所以寻找class关键字不足以找到正确的属性位置。
$script = { Process {
(@(Get-Content -Path $PSItem.FullName) -replace '(?=.*?\sclass)', '[Obsolete] ') |
Set-Content -Path $PSItem.FullName
}}
# run from root folder containing files
Get-ChildItem -Recurse -File -Filter *.cs | & $script
解析 class 定义目录中的所有文件,并在包含关键字的行的开头插入属性。