Подчеркивать имена файлов, которые не соответствуют имени типа

Я только что переустановил Visual Studio 2019 с ReSharper и обнаружил, что в моей среде отсутствует одно правило проверки кода: имена файлов, не соответствующие имени типа.

Я не помню, было ли это правило проверки кода встроенным в VS, правилом ReSharper или даже расширением VS. ReSharper позволяет мне Rename file to match type name щелкнуть правой кнопкой мыши класс с несовпадающим именем файла, но в моем редакторе класс не подчеркнут. В моей предыдущей установке VS, когда возникала эта проблема с проверкой кода, класс не выделялся.

Кто-нибудь может сказать мне, как я могу включить это правило проверки кода, будь то в ReSharper, VS или расширении VS?


person Darxis    schedule 30.01.2021    source источник
comment
Использовали ли вы CodeRush раньше?   -  person Kannan Suresh    schedule 01.02.2021
comment
@KannanSuresh Спасибо за ваш ответ. Нет, я не использовал это.   -  person Darxis    schedule 01.02.2021


Ответы (2)


Ни Visual Studio, ни ReSharper не выделяют эту проблему, но обе предлагают быстрое решение для ее устранения.

При добавлении пакета NuGet StyleCop.Analyzers будут добавлены предупреждения SA1649. (и волнистыми чертами).

Использование Visual Studio 2019 (16.8.4) с ReSharper 2020.3.2, консольного приложения C# с использованием .net 5 и пакета NuGet StyleCop.Analyzers v1.2.0-beta.321 дает мне следующее:

введите здесь описание изображения

Если вы посмотрите под своим проектом в обозревателе решений, в разделе Dependencies->Analyzers->StyleCop.Analyzers вы увидите длинный список всех правил StyleCop, прокрутите вниз до SA1649, щелкните его правой кнопкой мыши и выберите Set Severity->Warning.

Существует также расширение StyleCop для ReSharper, но некоторое время назад у меня были некоторые проблемы с некоторыми новыми функциями языка C#.

person Piers Myers    schedule 01.02.2021
comment
У меня однажды был установлен StyleCop, но я думаю, что это было давно. Основываясь на вашем предложении, я только что установил расширение StyleCop для ReSharper и расширение VS, но, к сожалению, они не выделяют это правило по умолчанию. Наверняка я не настраивал параметры StyleCop в прошлом. - person Darxis; 01.02.2021
comment
Я добавил еще некоторые детали. Вы используете те же версии, что и я? Это должно работать и без ReSharper. - person Piers Myers; 02.02.2021
comment
Попробуйте пакет NuGet, а не расширение. У вас также может быть старый файл настроек StyleCop (Settings.StyleCop), который отключает некоторые правила. - person Piers Myers; 02.02.2021
comment
Я никогда не использовал пакет StyleCop.Analysers и хотел бы избежать его использования. Мне не нравится идея устанавливать этот пакет nuget для каждого проекта. - person Darxis; 02.02.2021
comment
Преимущество пакета NuGet в том, что вам нужно применять его только к тем проектам, которые вы хотите, в то время как расширение StyleCop применяется ко всему, что вы используете, откройте какой-нибудь устаревший код, и вы будете по уши в волнистых линиях. Этот метод также будет работать для обеспечения соблюдения стандартов кодирования для всех пользователей, а не для тех, у кого есть расширение ReSharper/StyleCop. - person Piers Myers; 02.02.2021

Я не использую ReSharper. Я использую анализатор .NET по умолчанию и Roslynator. Оба они не показывают этот осмотр.

Похоже, это проверка кода от ReSharper. Возможно, вы отключили его.

См. URL-адреса ниже.

https://www.jetbrains.com/help/resharper/Refactorings__Move_Types_into_Matching_Files.html

https://www.jetbrains.com/help/resharper/StyleCop_Styles.html#applying-settings-from-settings-stylecop-files

person Kannan Suresh    schedule 01.02.2021
comment
Правильно, есть правило проверки кода, но я не могу заставить его включить подсветку - person Darxis; 01.02.2021
comment
Проверьте этот файл справки. слишком. Похоже на конфигурацию. Поскольку Resharper у меня нет, я не могу попробовать со своей стороны. - person Kannan Suresh; 02.02.2021