Меню

Как установить плагин checkstyle для intellij idea

Как установить плагин checkstyle для intellij idea

GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.

GitHub is where the world builds software

Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.

checkstyle-idea / README.md

© Copyright 2006-2020 CheckStyle-IDEA Contributors

A plug-in for JetBrains’ IntelliJ IDEA 2019-20 which provides real-time feedback against a given CheckStyle profile by way of an inspection.

Once installed, a new inspection will be available in the group ‘CheckStyle’. The ‘Inspections’ item in the preferences panel will allow you to turn this on and to configure it.

Project exceptions are treated a little oddly. Because CheckStyle demands these to be on the current classpath, errors will appear if these have not as yet been compiled. Further, because we cache the real-time checkers for performance reasons, real-time scans may continue to show the errors after a compilation. A static scan will force a reload of the Checker and should resolve this.

Configuration is available under the Settings dialogue. This controls configuration for both the inspection and static scanning.

The main configuration option is that of the CheckStyle file. Multiple CheckStyle file may be added, and swapped between by using the checkbox. Files may be added using the ‘Add’ button.

The Scan Test Classes checkbox will enable scanning of Java files under test source roots. If disabled, these files will be ignored.

If a custom file is being used and properties are available for definition then these will accessible using the ‘Edit Properties’ button.

Eclipse-CS Variable Support

The following variables will be available if you have not otherwise overridden their values:

Third Party Checks

This tab allows you to specify any third-party checks which your configuration file makes use of. All selected directories/JAR files will be added to CheckStyle’s classpath.

Copy libraries from project directory

The option «Copy libraries from project directory» will tell Checkstyle-IDEA to do the following when creating custom classloaders:

The internal classloaders will then use those copied libraries, thus preventing them from getting locked in the file system. Since this is mainly a problem on Windows, this feature is activated by default on Windows. If you know that all your libraries reside outside of the project (as is often the case when build tools such as Maven or Gradle are used), then you can disable this feature. Since it slows down checker creation, you might want to keep it disabled until necessary. After changing this option, it may be necessary to restart IDEA to see the effects.

sevntu.checkstyle offers a number of useful checks written by students of the Sevastopol National Technical University (SevNTU). They’re also kind enough to offer instructions on setting them up with this plugin.

Checkstyle Addons offers additional Checkstyle checks not found in other Checkstyle extensions, and it’s easy to set up in Checkstyle-IDEA.

Читайте также:  Драйвера на принтер canon mp280 как установить

You can then easily build via Gradle:

To run it in a sandboxed IDEA, run:

To debug the plugin, import the plugin into IDEA as a Gradle project, and then use the runIdea Gradle target in debug mode.

Frequently Asked Questions

If you’re on OS X, use IDEA with the bundled JVM. Otherwise, please ensure IDEA is running using Java 8 or later. Jetbrains offer a support document on this subject.

CheckStyle is unable to retrieve information on exceptions in your project until you have built it. Build your project in IDEA and then rescan.

I need debug information!

This plug-in owes its existence to both the style-overlords at work mandating compliance with a CheckStyle configuration, and the Eclipse-CS authors for making me jealous of the real-time scan support available for Eclipse.

Thanks to those who have contributed work and effort directly to this project:

And also thanks are due to the authors and contributors of:

This code is released under a BSD licence, as specified in the accompanying LICENCE file.

Источник

Запускаем инспекции IntelliJ IDEA на Jenkins

IntelliJ IDEA на сегодня обладает наиболее продвинутым статическим анализатором кода Java, по своим возможностям оставившим далеко позади таких «ветеранов», как Checkstyle и Spotbugs. Её многочисленные «инспекции» проверяют код в различных аспектах, от стиля кодирования до характерных багов.

Однако пока результаты анализа отображаются лишь в локальном интерфейсе IDE разработчика, от них мало пользы для процесса разработки. Статический анализ необходимо выполнять в качестве первого шага конвейера сборки, его результаты должны определять quality gates, а сборка должна фейлиться, если quality gates не пройдены. Известно, что TeamCity CI интегрирован с IDEA. Но даже если вы не используете TeamCity, вы вполне можете попробовать запускать инспекции IDEA в любом другом CI-сервере. Предлагаю посмотреть, как это можно сделать, используя IDEA Community Edition, Jenkins и Warnings NG plugin.

Шаг 1. Запускаем анализ в контейнере и получаем отчёт

Поначалу затея запускать IDE (десктопное приложение!) внутри CI-системы, не имеющей графического интерфейса, может показаться сомнительной и очень хлопотной. К счастью, разработчики IDEA предоставили возможность запускать форматирование кода и инспекции из командной строки. Причём для запуска IDEA в таком режиме не требуется графическая подсистема и эти задачи можно выполнять на серверах с текстовой оболочкой.

Запуск инспекций осуществляется при помощи скрипта bin/inspect.sh из установочной директории IDEA. В качестве параметров требуются:

Кроме того, ожидается, что

Сам собою напрашивается выход запаковать JDK вместе с IDEA Community Edition в контейнер в виде, готовом к «натравливанию» на анализируемые проекты. Выберем подходящий базовый контейнер, и вот какой у нас получится Dockerfile:

Перед тем, как двинуться дальше, проверим запуск анализатора IDEA в контейнере:

Теперь больше нет никаких сомнений в том, что анализатор IDEA может быть запущен в автономном режиме в любом CI-окружении, и мы переходим ко второму шагу.

Шаг 2. Отображаем и анализируем отчёт

В этом нам поможет Jenkins Warnings NG Plugin, релиз которого был сделан в январе 2019 года. С его появлением многие отдельные плагины для работы с результатами статического анализа в Jenkins (CheckStyle, FindBugs, PMD и т. п.) теперь помечены как устаревшие (obsolete).

Читайте также:  Как установить перенос по словам в excel

Плагин состоит из двух частей:

В перечне того, что умеет анализировать Warnings NG, находятся в том числе предупреждения компилятора Java и предупреждения из логов выполнения Maven: хотя они постоянно на виду, их редко когда целенаправленно анализируют. Отчёты IntelliJ IDEA также входят в перечень распознаваемых форматов.

Т. к. плагин новый, он изначально хорошо взаимодействует Jenkins Pipeline. Шаг сборки с его участием будет выглядеть следующим образом (мы просто говорим плагину, какой формат отчёта распознаём и какие файлы следует просканировать):

Интерфейс отчёта выглядит так:

Удобно, что этот интерфейс является универсальным для всех распознаваемых анализаторов. Он содержит интерактивную диаграмму распределения находок по категориям и график динамики изменения количества находок. В гриде внизу страницы можно выполнять быстрый поиск. Единственное, что для испекций IDEA не заработало корректно — возможность браузить код непосредственно в Jenkins (хотя для других отчётов, например Checkstyle, этот плагин умеет это делать красиво). Похоже, это баг парсера отчётов IDEA, который предстоит починить.

Среди возможностей Warnings NG — возможность агрегировать в одном отчёте находки из разных источников и программировать Quality Gates, в том числе — «храповик» по референтной сборке. Некоторая документация по программированию Quality Gates доступна здесь — впрочем, она не полная, и приходится смотреть в исходники. С другой стороны, для полного контроля над происходящим «храповик» можно реализовать и самостоятельно (см. мой предыдущий пост на эту тему).

Заключение

Перед тем, как начать готовить данный материал, я решил поискать: а не писал ли уже кто-нибудь на эту тему на Хабре? Я нашёл лишь интервью 2017 года с lany, где он говорит:

Насколько мне известно, интеграции с Jenkins или maven-плагина нету [. ] В принципе, любой энтузиаст мог бы подружить IDEA Community Edition и Jenkins, многие бы от этого только выиграли.

Что же: спустя два года у нас есть Warnings NG Plugin, и наконец-то эта дружба осуществилась!

Источник

Как сделать мир прекрасней с помощью Intellij IDEA и дополнениями к CheckStyle

Многие в курсе, что Intellij IDEA на то и Intellij чтобы предугадывать наши мысли. Во многом это благодаря встроенным проверкам (инспекциям). Инспекции — это средства для статического анализа кода, которые помогают найти слабые места нашего кода и улучшить его структуру. А как на счет читаемости кода для дальнейшей его поддержки? В этом нам поможет CheckStyle-IDEA plugin.

Данная статья содержит размышления об автоматической проверке кода и описание процесса подключения кастомных (non-standard) чеков для плагина Checkstyle-IDEA в Intellij IDEA. Всех тех, кому это может быть интересно, прошу под кат.

Многие знают, что выражать свои мысли на бумаге нужно грамотно и понятно. Нужно соблюдать правила пунктуации и грамматики, владеть языком, на котором ты общаешься с читателем. Все знают, но мало кто умеет это делать на практике. Зачастую только потому, что некому проверить. Ошибки, опечатки случайным образом появляются и внимание на них не заостряется, когда идет благословенный поток мыслей. Грамматику и орфографию еще можно проверить машинным способом — например словарем, а стиль повествования или структуру текста, понятность, доходчивость, простоту излагаемой мысли — самому проверить трудно, а зачастую и невозможно. И не потому, что ты невнимательный или глупый, не потому что ты уже три ночи пишешь и пишешь. И не потому, что твой начальник дурак, а в стране беспорядок … нет, просто твой взгляд замылен.

Читайте также:  Opera tv store как установить на телевизор samsung

Все эти проблемы я встретил при написании кода. Компилятор проверял мои “орфографические ошибки”, а хорошим наставником для проверки моего стиля программирования стал Checkstyle. По мере изучения правил чистого стиля, я писал новые проверки для Checkstyle в рамках проекта Sevntu-Checkstyle, которыe работали в Eclipse и во время сборки использовались Maven-ом. Но, так как на моей работе рекомендовано работать на IDEA, я решил адаптировать мной написанные проверки для этой замечательной среды разработки и начинать внедрять свои наработки в рабочий процесс.

Данная адаптация будет интересна тем, кто работает под IDEA, пишет на Java и хочет контролировать качество кода с помощью Checkstyle плагина. Также вы увидите на примере, как расширять возможности плагина с помощью самописных правил специфичных для ваших проектов и командных требований.

Собственные проверки я написал при участии в проекте под названием «SevNTU-Checkstyle». (для справки: СевНТУ — Севастопольский Национальный Технический Университет).

Установка CheckStyle-IDEA.

1. Открываем file>Settings>IDE Settings>plugins.
Жмем кнопку Browse repositories…
Ищем «Checkstyle-idea» и устанавливаем плагин.

Конфигурация CheckStyle-IDEA. Добавление новых проверок.

1. Качаем sevntu-checkstyle-idea-extension-X.XX.X.jar из репозитория. Файл содержит дополнительные проверки от проекта «SevNTU-Checkstyle».
2. Качаем стандартную конфигурацию этих проверок checkstyle-default-configuration.xml
3. Открываем file>Settings>IDE Settings>CheckStyle

4. Добавляем сторонние проверки(Third-Party checks), скачанные ранее.

5. Добавляем файл конфигурации для third-party Cheks.

Конфигурируем инспектор(Inspection).

По умолчанию IDEA проверяет код множеством встроенных проверок. Для того чтобы настроить IDE под свои потребности, нужно создать и настроить новый профиль. В данном случае, для демонстрации, мы оставляем включенный только Checkstyle.

1. Открываем: Analyze > Inspect Code…

2. Добавляем новый профиль.

3. Выбираем все интересующие нас инспекторы, или как в нашем случае, только Checkstyle.
4. Жмем «Apply» и «ok».

Активизируем CheckStyle-IDEA

1. Открываем Analyze>Inspect code…
2. Выбираем нужный профиль, область анализа и жмем «ok».

3. Как результат, получаем анализ нашего кода

Заключение

SevNTU Checkstyle проект может служить примером того, как внедрять в CheckStyle-IDEA плагин самостоятельно написанные проверки или использовать наши.

На данном этапе идет активная работа в области интегрирования кастомных чеков в IDEA. Наше решение предоставляет возможность использовать единый стандарт, вне зависимости от используемой среды разработки (Eclipse или IDEA) и является шагом в сторону создания универсального решения.

Надеемся, наши наработки будут вам полезны и помогут в написании чистого и легко читаемого кода. А возможно мы смогли вас вдохновить на написание собственных проверок, которые сделают этот мир прекраснее!

Более подробная инструкция: How to use SevNTU Checkstyle in Intellij IDEA.
Google группа для разработчиков: sevntu-checkstyle
Проект на GitHub: SevNTU-Checkstyle содержит 25 дополнительных проверок
CheckStyle-IDEA плагин: checkstyle-idea

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

Источник