Поиск шаблонов проектирования с помощью статического анализа кода C#, создав плагин для Resharper?
-
24-10-2019 - |
Вопрос
Я хотел проверить несколько шаблонов проектирования в коде C# с помощью статического анализа. Я обнаружил, что, создав плагин для Resharper, я могу проверить шаблоны на лету, пока я кодирую. Но я не нашел хорошую документацию, связанную с ее открытыми API. Есть ли ссылки, где я могу найти подходящую документацию.
Я использую шаблон MVVM, поэтому я хочу проверить, что классы модели представления не имеют никакой зависимости от классов или элементов пользовательского интерфейса (элементы WPF).
Решение
эта статья Похоже, это может помочь. Есть прохождение для создания плагина с контекстом. Это продолжается здесь.
Я считаю, что вторая статья наиболее актуальна для вас, поскольку она охватывает использование шаблона посетителей, чтобы зацепить демоны Resharper - и выполнить некоторую полезную работу.
Эта страница является корнем открытой документации API.
Hth
Другие советы
Resharper 5 представил каталог шаблонов, как и структурный поиск и заменить. Это позволяет легко создавать быстрые исправления и контекстные действия, не записывая свой собственный плагин RESHARPER. Я бы порекомендовал проверить это, чтобы увидеть, будет ли этого достаточно для ваших потребностей, прежде чем вступить в написание плагина. Вы можете найти обзор здесь:
http://blogs.jetbrains.com/dotnet/2010/04/introducing-resharper-50 Структура-и-replace/
Jetbrains также предоставляет образец каталога, который демонстрирует некоторые крутые вещи, которые вы можете сделать, на их странице загрузки:
Документация в настоящее время несколько фрагментирована. Чтобы начать, взгляните на Руководство по расширению Resharper Что я думаю, нацелен на версию 4.5, но все еще является хорошим началом. Как упомянул другой плакат, Блог Хади Харири является хорошим источником для поиска информации о написании плагинов RESHARPER. Кроме того, проверьте Resharper PowerToys Для некоторого образца кода.
Наконец, есть (очень немногие, пока еще) статьи о разработке плагинов Resharper 6 доступны здесь. Анкет Скоро будет добавлено больше контента.