Notepad ++ ovviamente riconosce tutti i commenti in quanto tali. C'è un modo per cancellare semplicemente tutto?
Modifica: Il metodo di segnalibro di Stat-R ha aiutato notevolmente, non solo per rimuovere commenti, ma per rimuovere in modo condizionale le linee in generale.
Per un file generale, prima di tutto è necessario conoscere l'operatore di commento della lingua in cui si sta scrivendo il file. Ad esempio, nello script Java l'operatore di commento è //.Per il codice seguente ...
In NP ++, è necessario
Segna le linee che contengono '//'. Assicurarsi che l'opzione del segnalibro sia abilitata.
Quindi, scegli dal menu NP ++ Cerca> Segnalibro> Rimuovi righe segnalibro
EDIT: Un'altra soluzione dopo @Chris Mirno suggerimento è la seguente: Usa l'espressione regolare. Guarda l'immagine qui sotto. È auto esplicativo
Per capirlo meglio, fai riferimento a questi
Nella finestra di dialogo Trova e sostituisci, inserisci la regex seguente e regola le opzioni di ricerca come illustrato.
/\*.*?\*/
Sostituisci con: (vuoto)
Seleziona Modalità: Espressione regolare E. (Punto) corrisponde a nuova riga
Questo dovrebbe rimuovere tutti i commenti in stile C distribuiti su più righe.
Avviso a tutti utilizzando la soluzione di Stat-R:
Questo metodo rimuoverà le righe di codice se formattato in questo modo:
echo "hello"; //This comment will be detected
Seguendo il suo metodo, il intero la riga sarà rimossa. Quindi assicurati di passare e fare questi commenti, la loro linea prima di fare questo metodo.
Star-R e Chris Mirno Answer sono anche corretti e buoni.
Ma per il commento in linea:
//.*?(?=\r?$)
Spiegazione:
//
sarà la posizione iniziale
.*?
Sarà qualsiasi carattere
(?=\r?$)
cercherà fino alla fine della riga (come richiesto nel commento di riga)
Nota: Ma controlla comunque ciascuna linea, ad esempio se il tuo codice contiene un formato soap
//www.w3.org/2001/XMLSchema-instance\x2......");
catturerà questa linea perché l'avvio è//
e va alla fine della linea quindi fai attenzione a questo :)
Ho avuto un po 'di fortuna eseguendo una macro per quanto sopra. Fondamentalmente:
//
(F3)Inserisci //
nella finestra di ricerca cercando solo una volta. Quindi registra i tre passaggi in una macro, quindi riproducilo fino a EOF.
La prima volta che l'ho fatto ho avuto un problema, ma poi ha funzionato, non sono sicuro di quello che ho fatto in modo diverso.
La risposta di Anton Largiader era la più affidabile, compresi i complessi commenti in linea.
Tuttavia, lascerà molte linee vuote, incluse quelle con caratteri vuoti (spazio, schede ...), quindi aggiungerei un altro passaggio per renderlo quasi perfetto:
Dopo aver eseguito la macro, fai semplicemente:
Modifica> Operazioni in linea> Rimuovi righe vuote
OR
Modifica> Operazioni in linea> Rimuovi righe vuote (contenenti caratteri vuoti)
La prima opzione è buona se si desidera rimuovere solo veramente linee vuote Le 2 opzioni rimuoveranno ogni riga vuota anche contenendo lo spazio ecc. Quindi non rimarrà più alcuna spaziatura effettiva tra i blocchi di codice. La prima opzione potrebbe essere la più sicura con qualche pulizia manuale in seguito.
Come qualcuno ha suggerito in un altro post, il più semplice e affidabile è forse quello di esportare tutto il testo in formato .RTF usando Menu Plugin -> NppExport -> Esporta in RTF e poi:
-Apri il file appena creato in Word
-Seleziona qualsiasi parte di qualsiasi commento
-Sul lato in alto a destra di Word fai clic su Seleziona -> Seleziona tutti i testi con una formattazione simile
-Rimuovere i commenti selezionati tutti in una volta (del o tagliare se non funziona)
Per rimuovere i commenti di PowerShell se qualcuno lo trova utile:
Rimozione di commenti in un PowerShell utilizzando Notepad ++ Per trovare solo le righe che iniziano con # (e non con # altrove nella riga).
Regex ^ [#}
inserisci qui la descrizione dell'immagine
È possibile selezionare non commenti solo codice eseguendo le seguenti operazioni:
Regex ^ [^ #}