risposta-alla-domanda-sullo-sviluppo-web-bd.com

C'è un modo per cancellare tutti i commenti in un file usando Notepad ++?

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.

19
Cos

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 ...

enter image description here

In NP ++, è necessario 

Segna le linee che contengono '//'. Assicurarsi che l'opzione del segnalibro sia abilitata.

enter image description here

Quindi, scegli dal menu NP ++ Cerca> Segnalibro> Rimuovi righe segnalibro

enter image description here


EDIT: Un'altra soluzione dopo @Chris Mirno suggerimento è la seguente: Usa l'espressione regolare. Guarda l'immagine qui sotto. È auto esplicativo enter image description here

Per capirlo meglio, fai riferimento a questi

30
Stat-R

enter image description here

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.

16
SenG

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.

9
Chris Mirno

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 :)

6
Jamil

Ho avuto un po 'di fortuna eseguendo una macro per quanto sopra. Fondamentalmente:

  • cerca // (F3)
  • selezionare fino alla fine della riga (shift+end)
  • elimina (delete)

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.

2
Anton Largiader

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.

1
dev101

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)

0
DigiDon

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). 

  1. Notepad ++ Menu di ricerca> Trova 
  2. Scheda 'Segna': compilare come di seguito.
  3. Seleziona "Segna tutti" (cancella tutti i segni se usato in precedenza).

Regex ^ [#}

inserisci qui la descrizione dell'immagine

  1. Menu di ricerca> segnalibro> Rimuovi (o fai qualsiasi cosa sulla lista con Loro)
  2. Cancella tutti i segni da ripristinare

È possibile selezionare non commenti solo codice eseguendo le seguenti operazioni:

Regex ^ [^ #}

inserisci qui la descrizione dell'immagine

0
Pete