Intellij Structural Поиск аннотаций и комментариев - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть кодовая база Java, где мне нужно и аннотировать параметры функции, и добавить определенную строку примечания в теге @param в комментарии к документу для этого параметра.Я хочу сделать пользовательскую проверку Intellij, которая будет отмечать случаи, когда заметка или аннотация отсутствуют.Примеры с @Foo в качестве аннотации и (and it's Foo'd!) в качестве примечания:

/**
 * This method should not be flagged, it has both.
 * @param paramName this is a parameter (and it's Foo'd!)
 */
void func1(@Foo Type paramName){}

/**
 * This method should be flagged. It is missing the note.
 * @param paramName this is a parameter
 */
void func2(@foo Type paramName){}

/**
 * This method should also be flagged. It is missing the annotation.
 * @param paramName this is a parameter (and it's Foo'd!)
 */
void func3(Type paramName){}

/**
 * This method also should not be flagged, it has neither.
 * @param paramName this is a parameter
 */
void func4(Type paramName){}

/**
 * This method should be flagged because the parameter name doesn't match.
 * @param paramName this is a parameter
 * @param otherParam this is a parameter (and it's Foo'd!)
 */
void func5(@Foo Type paramName, Type otherParam){}

Из документов , похоже, что предпочтительным способом сделать это является создание пользовательской структурнойпоиск.Я не могу понять, как заставить это работать правильно, все же.Я даже не могу заставить его соответствовать тегу @param с примечанием против тега @param без примечания.Некоторые вещи, которые я пробовал:

/** @param $paramName$ $Comment$ (and it's Foo'd!) */
/** @$paramTag$ $paramName$ $Comment$ $note$ */
/** $paramTagNoAt$ $paramName$ $Comment$ $note$ */

Возможно ли это с помощью функции поиска по структуре?Если нет, то как мне подойти к этому?

...