Поиск аннотаций в IntelliJ IDEA



Я могу легко найти все упоминания о некоторых аннотациях в моем проекте, используя SSR (structural search and replace). Например, у меня есть следующий код на основе весны:



class DashboardController {

@RequestMapping("/dashboard")
public void doDashboard() {
[...]
}
}


Если я буду искать по шаблону org.springframework.web.bind.annotation.RequestMapping, то я найду свой код. Но что делать, если я хочу найти методы, аннотированные параметризованной аннотацией, поэтому найти только метод с аннотациями @RequestMapping для url" /dashboard"?



Я могу просто искать по строке @RequestMapping("/dashboard"), но аннотации могут быть написаны несколькими способы:



@RequestMapping("/dashboard")
@RequestMapping(value = "/dashboard", method = {RequestMethod.POST})
@RequestMapping(headers = "content-type=application/*", value = "/dashboard")


И т. д.

716   3  

3 ответов:

Используйте структурный поиск и замените в IntelliJ IDEA 14. Скопируйте существующий шаблон аннотированные методы и добавьте "/ dashboard " в качестве аргумента к аннотации следующим образом:

class $Class$ {
  @$Annotation$("/dashboard")
  $MethodType$ $MethodName$($ParameterType$ $ParameterName$);
}

Вы также можете отредактировать переменную $Annotation$ и дать ей текст / регулярное выражение " RequestMapping" Это должно найти все возможные форматы аннотации (только для методов).

Почему бы вам не поискать это:

@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)

Почему бы просто не сделать текстовый поиск для @RequestMapping("/dashboard"), его вряд ли даст так много ложных срабатываний.

Comments

    Ничего не найдено.