2015-02-07 23 views
12

Ogni volta che cerco una funzione all'interno di centinaia di file, vedo così tante corrispondenze all'interno dei commenti che non hanno alcun effetto di codice.Testo sublime: esclude i commenti nella ricerca

Qualcuno può limitare l'ambito di ricerca di Sublime Text al codice reale ed escludere i commenti?

Uso Sublime Text 3 per lo sviluppo di un programma C++.

+1

Io sono la persona che ha offerto la taglia +100. Lascio questo commento solo nel caso qualcuno voglia usare un commento per chiedermi qualsiasi cosa. Puoi anche commentare la mia risposta se vuoi. – sergioFC

risposta

5

Ho creato un Plugin che cerca una determinata stringa all'interno di un dato ambito. Il selettore di ambito predefinito è -comment che ricerca efficacemente al di fuori dei commenti. Il testo da cercare è preso dalla selezione corrente. I risultati sono presentati nel menu a discesa

Fondamentalmente combinati due metodi API:

  • view.find_all(pattern) che cerca un modello nella vista determinato.
  • view.match_selector(position, scope_selecor) che controlla se la posizione data è all'interno dell'ambito specificato.
+0

La tua soluzione soddisfa tutti i requisiti di taglia in modo da meritare la taglia. Buon lavoro. – sergioFC

+0

Grazie, dimmi se hai bisogno di aiuto per modificarlo – gwenzek

+0

Prego. Stavo cercando di modificare il plugin per trovare nuove parole durante la digitazione, ma non ero in grado di farlo. Sarebbe bello, ma nota che non è davvero necessario, almeno per me. – sergioFC

3

È possibile utilizzare regex per trovare gli schemi che corrispondono alla regex che si danno. Progettare la regex in base al tuo.

Si può dare regex accendendo l' 'espressione regolare' bandiera

By this way you can search without comments

Esempio

Si può avere questo regex per abbinare il vostro caso, se si desidera far corrispondere solo in single commenti linea.

^(?!\/\/)([^\/\n]*)YOUR_SEARCH_TERM 

Se si desidera abbinare anche nei commenti su più righe, utilizzare questo.

^(?!(\/\/|(\/\*(.|\n)*([^\*])(?=\/))))YOUR_SEARCH_TERM 
+1

I commenti hanno la loro complessità. Potresti per favore dare una risposta completa? – barej

+0

Adesso guarda sopra. @barej –

+0

Ma ha cercato anche nei commenti per me: [immagine] (http://i.stack.imgur.com/uu8h0.png) – barej