web-dev-qa-db-fra.com

Existe-t-il un moyen de supprimer tous les commentaires d'un fichier à l'aide de Notepad ++?

Notepad ++ reconnaît évidemment tous les commentaires en tant que tels. Existe-t-il un moyen de tout supprimer?

Éditer: La méthode des signets de Stat-R a beaucoup aidé, non seulement pour supprimer les commentaires, mais également pour supprimer sous condition les lignes en général.

19
Cos

Pour un fichier général, vous devez tout d'abord connaître l'opérateur de commentaire de la langue dans laquelle vous écrivez. Par exemple, dans un script Java, l'opérateur de commentaire est //.Pour le code suivant ...

enter image description here

En NP ++, vous devez 

Marquez les lignes qui contiennent '//'. Assurez-vous que l'option de signet est activée.

enter image description here

Ensuite, choisissez dans le menu NP ++ Recherche> Signet> Supprimer les lignes signées

enter image description here


EDIT: Une autre solution après la suggestion de @Chris Mirno est la suivante: Utilisez une expression régulière. Voir l'image ci-dessous. C'est explicite enter image description here

Pour mieux le comprendre, reportez-vous à ceux-ci

30
Stat-R

enter image description here

Dans la boîte de dialogue Rechercher et remplacer, placez la expression rationnelle suivante et ajustez les options de recherche comme indiqué.

/\*.*?\*/

Remplacer par: (vide)

Mode de sélection: Expression rationnelle ET (le point) correspond à la nouvelle ligne

Cela devrait supprimer tous vos commentaires de style C répartis sur plusieurs lignes.

16
SenG

Avertissement à tous ceux qui utilisent la solution de Stat-R:
Cette méthode supprimera les lignes de code si elle est formatée comme ceci: 

echo "hello"; //This comment will be detected

Suivant sa méthode, le tout ligne sera supprimée . Par conséquent, assurez-vous de passer en revue et de faire ces commentaires, leur propre ligne avant de faire cette méthode.

9
Chris Mirno

Star-R et Chris Mirno Answer sont également corrects et bons.

Mais pour le commentaire:

//.*?(?=\r?$)

Explication:

//sera la position de départ

.*?Sera n'importe quel caractère

(?=\r?$)recherchera jusqu'à la fin de la ligne (comme il est requis dans le commentaire de la ligne)

Note: Mais vérifiez quand même chaque ligne car par exemple si votre code contient un format soap comme

//www.w3.org/2001/XMLSchema-instance\x2......");

il va capturer cette ligne car le début est//et il va en fin de ligne alors faites attention à cela :)

6
Jamil

J'ai eu de la chance en exécutant une macro pour ce qui précède. Fondamentalement:

  • rechercher // (F3)
  • sélectionnez jusqu'à la fin de la ligne (shift+end)
  • effacer (delete)

Mettez // dans le dialogue de recherche en le recherchant une fois. Enregistrez ensuite les trois étapes dans une macro, puis reproduisez-la jusqu'à EOF.

La première fois que je l'ai fait, j'ai eu un problème, mais ensuite cela a fonctionné, sans savoir ce que j'ai fait différemment.

2
Anton Largiader

La réponse d'Anton Largiader était la plus fiable, avec des commentaires en ligne complexes.

Cependant, il laissera beaucoup de lignes vides, y compris des lignes avec des caractères vides (espace, tabulations ...) donc je voudrais juste ajouter une autre étape pour le rendre presque parfait:

Après avoir exécuté la macro, il suffit de faire:

Édition> Opérations sur les lignes> Supprimer les lignes vides

OR

Édition> Opérations sur les lignes> Supprimer les lignes vides (contenant des caractères vides)

La 1ère option est utile si vous souhaitez supprimer uniquement vraiment les lignes vides La 2ème option supprimera toutes les lignes vides, même celles contenant de l'espace, etc. La première option pourrait être la plus sûre avec un nettoyage manuel par la suite.

1
dev101

Comme suggéré dans un autre article, le plus simple et le plus fiable est peut-être d'exporter tout le texte au format .RTF à l'aide de Menu Plugin -> NppExport -> Exporter vers RTF, puis:

-Ouvrir le fichier nouvellement créé dans Word

-Sélectionnez n'importe quelle partie d'un commentaire

-Sur le côté supérieur droit de Word, cliquez sur Sélectionner -> Sélectionner tous les textes au format similaire

-Retirer tous les commentaires sélectionnés à la fois (supprimer ou couper si ne fonctionne pas)

0
DigiDon

Pour supprimer les commentaires Powershell si quelqu'un le trouve utile:

Supprimer un commentaire dans un Powershell à l'aide de Notepad ++ Trouver uniquement les lignes commençant par # (et non par # ailleurs dans la ligne). 

  1. Notepad ++ SEARCH Menu> Rechercher 
  2. Onglet "Marquer" - remplissez comme ci-dessous.
  3. Sélectionnez "Marquer tout" (effacez toutes les marques si elles ont été utilisées précédemment).

Regex ^ [#}

entrez la description de l'image ici

  1. RECHERCHE Menu> signet> Supprimer (ou effectuez n'importe quoi sur la liste avec Les)
  2. Effacer toutes les marques pour réinitialiser

Vous pouvez sélectionner aucun commentaire simplement du code en procédant comme suit:

Regex ^ [^ #}

entrez la description de l'image ici

0
Pete