Отметить все классы в указанной папке c как устаревшие - PullRequest
1 голос
/ 15 января 2020

Я выполняю рефакторинг большого C# проекта, и мне нужно пометить многие классы как устаревшие, ie. украсьте их устаревшим атрибутом. Файлы классов расположены в нескольких папках, и все классы из этих папок могут быть помечены как устаревшие без исключения.

Есть ли способ сделать это с помощью Visual Studio 2019, не открывая все файлы один за другим? Я не знаю, помогает ли это, но я также использую Resharper.

При использовании сценария некоторые классы являются абстрактными, некоторые - частными, поэтому для поиска правильной позиции атрибута недостаточно найти ключевое слово класса.

1 Ответ

1 голос
/ 15 января 2020

Быстрый (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

Анализирует все файлы в каталогах для определения классов и вставляет атрибут в начало строки, содержащей ключевое слово.

...