2017-09-30 9 views
0

Comment puis-je trouver la méthode foo avec le type de retour boolean dans mon exemple en utilisant Recherche structurelle de PhpStorm?IntelliJ Recherche structurelle dans PhpStorm pour trouver des méthodes avec des types spécifiques de retour

<?php 

class test { 

    public function hello() { 
     return true; 
    } 

    /** 
    * @return bool 
    */ 
    public function foo(): boolean { 
     return true; 
    } 

} 

$t = new test(); 
$t->foo(); 

J'ai essayé le modèle de recherche suivant:

class $a$ { 
public function $show$(): boolean { 
    $content$ 
} 
} 

Où puis-je en savoir plus sur ces codes/modèles de recherche?

+0

Ce que vous fournissez est le code PHP mais vous parler de IntelliJ (sans s) et ce pour Java. Si vous aimez avoir quelque chose pour PHP, utilisez PhpStorm. Là vous aurez l'achèvement automatique pour PHP https://www.jetbrains.com/phpstorm/features/. Je ne sais pas que vous pouvez faire des trucs PHP dans intellij-idea – Webdesigner

+0

Désolé, je ne voulais pas dire ça. J'ai ajusté ma question. –

Répondre

2

J'ai récemment été en contact avec le support de JetBrains à propos de l'implémentation de la recherche structurelle dans PhpStorm. Le problème est que ce n'est que partiellement mis en œuvre. Des choses comme les types de retour, l'héritage, et d'autres choses qui rendent la recherche structurelle utile ne sont pas disponibles pour le moment (les options sont là, mais grisées et elles ne fonctionnent pas).

Cela rend le nombre de cas d'utilisation pour la recherche structurelle extrêmement limité, il est généralement préférable d'utiliser différents types de recherches.

Il y a un billet ouvert à ce sujet: https://youtrack.jetbrains.com/issue/IDEA-174921


Pour votre cas d'utilisation (recherche de fonctions avec un type booléen de retour), je recommande de faire une recherche d'expression régulière:

  • Go à Modifier ->Rechercher ->Trouvez dans Chemin.
  • Assurez-vous que Regex est cochée et Match case e est décoché.
  • Entrez le regex suivant: function[^}]+:\s*bool