Trouver des annotations dans IntelliJ IDEA
-
25-09-2019 - |
Question
Je peux facilement trouver toutes les mentions d'une annotation dans mon projet en utilisant SSR (recherche structurelle et remplacer). Par exemple, j'ai code suivant à base de printemps:
class DashboardController {
@RequestMapping("/dashboard")
public void doDashboard() {
[...]
}
}
Si je recherche par modèle org.springframework.web.bind.annotation.RequestMapping
que je trouverai mon code. Mais si je veux trouver des méthodes portant l'annotation paramétrisé, afin de trouver seule méthode avec annotations @RequestMapping
pour url « / tableau de bord »?
Je peux simplement une recherche par chaîne de @RequestMapping("/dashboard")
, mais l'annotation peut être écrit de plusieurs façons:
@RequestMapping("/dashboard")
@RequestMapping(value = "/dashboard", method = {RequestMethod.POST})
@RequestMapping(headers = "content-type=application/*", value = "/dashboard")
etc.
La solution
Utilisez la recherche structurelle et remplacer dans IntelliJ IDEA 14. Copiez le modèle existant méthodes annotées et ajouter « / tableau de bord » comme un argument à l'annotation comme ceci:
class $Class$ {
@$Annotation$("/dashboard")
$MethodType$ $MethodName$($ParameterType$ $ParameterName$);
}
Vous pouvez également modifier la variable Annotation $ et $ donner le texte / regexp « RequestMapping » Cela devrait trouver tous les formats possibles de l'annotation (sur les méthodes uniquement).
Autres conseils
Pourquoi ne cherchez-vous pas ceci:
@RequestMapping\(((.*?)value\s*=\s*)?"/dashboard"(.*?)\)
Pourquoi ne pas simplement faire une recherche de texte pour @RequestMapping("/dashboard")
, il est peu probable de donner que de nombreux faux positifs.