Comment échapper des caractères dans la recherche de code GitHub?

102

Je suis en train d'utiliser la recherche de code GitHub pour rechercher des lignes de caractères contenant du code comme =, +, etc.

Je comprends de https://help.github.com/articles/searching-code/#considerations-for-code-search que ces caractères sont des jokers et doivent être échappés, sinon ils seront ignorés.

Voici un exemple: "if \ (done is True \)" , et un autre: "if (done is True)" .

Les deux renvoient le même "your query contains a character that is ignored"avertissement sur le côté droit de la barre de recherche. Mon évasion ne semble rien faire et les résultats que j'obtiens sont avec les personnages ignorés.

Eli Rose - REINSTATE MONICA
la source

Réponses:

121

Je ne pense pas que vous puissiez échapper aux personnages pour github

À partir du document de code de recherche :

Vous ne pouvez pas utiliser les caractères génériques suivants dans le cadre de votre requête de recherche: . ,:; / \ `'" = *!? # $ & + ^ | ~ <> () {} [] . La recherche ignorera simplement ces symboles.

ChintanShah25
la source
11
Oui, j'ai vu ça. N'y a-t-il aucun moyen d'échapper à ces personnages? Cela signifie que si je veux rechercher mon dépôt, x += 2il n'y a aucun moyen de le faire?
Eli Rose - REINSTATE MONICA
1
non, je pense que github a configuré elasticsearch de cette manière uniquement pour réduire la complexité
ChintanShah25
14
Et quoi @?
Utilisateur
18
est tombé sur ceci; recherche de code inutile ! J'ai besoin de trouver toutes les instances de :oket :lockeddans une base de code Ruby on Rails. La recherche merdique de Github ne le permet pas.
2
@User: Selon ce problème , @a été mentionné comme ne figurant pas sur la liste, mais aucune réponse pour le moment.
Quantum Mechanic
4

Vous devrez le faire localement. Voici quelques options, de https://stackoverflow.com/a/38288679/362202 :

Ces stratégies ne fonctionneraient pas pour les recherches github-wide, ce qui est dommage.

Ran Ever-Hadani
la source
2
Et si vous avez plus de 1000 référentiels à parcourir?
hfm
Et si je voulais partager les résultats avec quelqu'un d'autre ... comme on l'attend d'un site comme github censé être collaboratif?
Christian le
1

il y a encore une semi -solution / solution de contournement (certains pourraient dire honteuse) : Utiliser google ...

Dans le champ de recherche, saisissez site:repo-urlen plus de vos mots-clés.

Je cherchais action$dans le repo redux-logic et j'étais au moins capable de filtrer tous les autres résultats indésirables action(sans le signe dollar) qui apparaissaient dans la recherche github. Dans Google, j'ai tapé (faites attention aux citations):

site: https: //github.com/jeffbski/redux-logic "action $"

Malheureusement, Google ne répertorie pas tous les résultats. C'est pourquoi j'ai écrit semi au début. Donc, vous pouvez tenter votre chance rapidement avec google, si vous ne trouvez pas ce que vous cherchiez, revenez à la vérification de git repo + search avec des outils hors ligne comme vscode, intellij ou cmd-line-tools comme suggéré par @Ran Ever-Hadani

J'espère que github proposera bientôt une toute nouvelle fonctionnalité de recherche, que ses utilisateurs peuvent aimer au lieu de détester.

farukg
la source