Поиск аннотаций в IntelliJ IDEA - PullRequest
5 голосов
/ 31 августа 2010

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

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")

и т.д.

Ответы [ 3 ]

3 голосов
/ 19 декабря 2014

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

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

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

1 голос
/ 31 августа 2010

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

@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)
0 голосов
/ 31 августа 2010

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

...