在 IntelliJ IDEA 中查找注释

发布于 2024-09-16 20:21:44 字数 661 浏览 7 评论 0原文

我可以使用 SSR(结构搜索和替换)轻松找到项目中某些注释的所有提及。例如,我有以下基于 spring 的代码:

class DashboardController {

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

如果我按模式搜索 org.springframework.web.bind.annotation.RequestMapping ,我会找到我的代码。但是,如果我想查找带有参数化注释的方法,因此只查找带有“/dashboard”url 注释 @RequestMapping 的方法,该怎么办?

我可以简单地通过 @RequestMapping("/dashboard") 字符串进行搜索,但注释可以通过多种方式编写:

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

等等。

I can easily find all mentions of some annotation in my project using SSR (structural search and replace). For example I have following spring based code:

class DashboardController {

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

If I search by pattern org.springframework.web.bind.annotation.RequestMapping than I will find my code. But what if I want to find methods annotated with parametrized annotation, so find only method with annotations @RequestMapping for "/dashboard" url?

I can simply search by @RequestMapping("/dashboard") string, but annotation can be written in several ways:

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

etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

£噩梦荏苒 2024-09-23 20:21:44

在 IntelliJ IDEA 14 中使用结构搜索和替换。复制现有模板带注释的方法并将“/dashboard”作为参数添加到注释中,如下所示:

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

您可能还想编辑 $Annotation$ 变量并给它文本/正则表达式“RequestMapping”
这应该找到注释的所有可能格式(仅在方法上)。

Use Structural Search and Replace in IntelliJ IDEA 14. Copy the existing template annotated methods and add "/dashboard" as an argument to the annotation like so:

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

You might also want to edit the $Annotation$ variable and give it the text/regexp "RequestMapping"
This should find all possible formats of the annotation (on methods only).

玻璃人 2024-09-23 20:21:44

你为什么不搜索这个:

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

Why don't you search this :

@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)
内心激荡 2024-09-23 20:21:44

为什么不直接对 @RequestMapping("/dashboard") 进行文本搜索,它不太可能给出那么多误报。

Why not just do a text search for @RequestMapping("/dashboard"), its unlikely to give that many false positives.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文