2012-01-05 66 views
18

Notepad ++ obviamente reconoce todos los comentarios como tales. ¿Hay alguna manera de simplemente eliminar todo?¿Hay alguna manera de eliminar todos los comentarios en un archivo usando Notepad ++?

Editar: El método de marcadores de Stat-R ha sido de gran ayuda, no solo para eliminar comentarios, sino también para eliminar líneas de manera condicional.

+1

Si aún quieres una respuesta ... ¿Quieres eliminar las líneas que se comentan? –

+0

Por favor, dígalo. – Cos

+0

Hola Cos, verifica mi respuesta para el comentario de la línea. – Jamil

Respuesta

27

Para un archivo general, antes que nada necesita saber el operador del comentario del idioma en el que está escribiendo el archivo. Por ejemplo, en el script java, el operador de comentario es //. Para el siguiente código ...

enter image description here

En NP ++, tiene que

Marque las líneas que contiene '//'. Asegúrese de que la opción de marcador esté habilitada.

enter image description here

A continuación, elegir NP ++ menú de búsqueda> Marca> Eliminar líneas Bookmarked

enter image description here


EDIT: Otra solución después @Chris Mirno 's sugerencia es la siguiente: Usa expresiones regulares Ver la imagen a continuación. Que se explica por sí enter image description here

Para entenderlo mejor, consulte these

+0

@Cos, también puede ver [esta respuesta] (http://stackoverflow.com/questions/918158/how-to-delete-specific-lines-on-notepad/918225#918225) –

+3

qué pasa si/* líneas nuevas */y códigos // comentario existe en la misma línea –

+3

@IvanWang eliminar/* */primero, luego // –

9

advertencia a todos utilizando la solución de Stat-R:
Este método eliminará líneas de código si formateado como esto:

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

Siguiendo este método, se eliminará la línea completa . Por lo tanto, asegúrese de revisar y hacer estos comentarios, su propia línea antes de hacer este método.

+0

(+1) Gracias por señalar esto. Consulte mis ediciones –

+0

. También podría usar regex para buscar, por lo tanto, active la funcionalidad de expresiones regulares y agregue^delante del código de comentario para buscar el comienzo de la línea. La expresión resultante será algo así como^\% (\ escapes del carácter%). – pypmannetjies

+0

Para comentario en línea Compruebe mi respuesta – Jamil

2

He tenido algo de suerte al ejecutar una macro para lo anterior. Básicamente:

  • búsqueda de // (F3)
  • de selección hasta el final de la línea (cambio + finales)
  • eliminar (eliminar)

Deja // en el diálogo de búsqueda simplemente buscándolo una vez. Luego registre los tres pasos en una macro, luego reprodúzcalos hasta EOF.

La primera vez que lo hice tuve un problema, pero luego funcionó, no estoy seguro de lo que hice de manera diferente.

+0

mejor respuesta aquí – djb

-3

Introduzca Ctrl + Shift + K para eliminar el comentario

+5

Creo que esto elimina el comentario, '//', pero no elimina la línea real (y todos los comentarios) como el OP preguntó. – ahren

0

Como alguien sugirió en otro post, el más simple y más fiable es tal vez para exportar el todo el texto en formato RTF usando el plugin de Menú -> NppExport -> Exportar a RTF y luego:

-Abrir el archivo recién creado en Word

: seleccione cualquier parte de cualquier comentario

-En la parte superior derecha de la Palabra click Select -> Seleccionar todos los textos con formato similar

-Eliminar los comentarios seleccionados de una vez (o del corte si no funciona)

+0

Quizás esto funcione, pero definitivamente debe evitar usar Microsoft Word o cualquier otro editor de texto enriquecido para la edición de código. – dev101

14

enter image description here

En el cuadro de diálogo Reemplazar Encuentra &, ponga la siguiente expresión regular y ajustar las opciones de búsqueda, como se muestra.

/\*.*?\*/ 

Reemplazar con: (vacío)

Seleccionar modo:. Expresión regular y (punto) partidos de nueva línea

Esto debería eliminar todos sus comentarios de estilo C se extendieron a través de líneas.

+0

Esto no parece funcionar si el comentario comienza (/ *) está en una línea diferente a su final (* /). – userx

+2

¡Malo! Olvidé mencionar. (Punto) coincide con la opción de nueva línea también debe ser seleccionada. Editó la respuesta para corregir esto. Tenga en cuenta que el soporte multilínea para regex se introdujo recientemente en Notepad ++, así que asegúrese de tener instalada la última versión – SenG

1

La respuesta de Anton Largiader fue la más confiable, incluidos los complejos comentarios en línea.

Sin embargo, dejará muchas líneas vacías, incluyendo aquellos con caracteres vacíos (espacio, tabulaciones ...) por lo que acaba de añadir un paso más para que sea casi perfecta:

Después de ejecutar la macro, acaba de hacer :

Editar> operaciones de línea> Quitar líneas vacías

O

Edición> operaciones de línea> eliminar las líneas vacías (que contiene caracteres en blanco)

primera opción es buena si desea eliminar sólo realmente líneas vacías 2ª opciones eliminará todas las líneas de vacío que contiene incluso el espacio, etc por lo que hay ya no habrá espacio real entre los bloques de código. La primera opción podría ser la más segura con una limpieza manual posterior.

6

Star-R y Chris Mirno La respuesta también es Correcta y buena.

Pero para la línea de comentario:

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

Explicación:

// será la posición inicial

.*? habrá ningún carácter

(?=\r?$) buscará hasta el final de la línea (como se requiere en l comentario INE)

Nota: pero todavía comprobar cada uno de la línea porque por ejemplo si el código contiene formato similar al jabón

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

se captará a esta línea ya que la partida es // y va al final de la línea, así que ten cuidado con esto :)

+2

Esta fue la mejor respuesta para mí, al menos, sin embargo, todavía tenía un error al detectar cosas como 'url: http: // some -link/'. Para solucionar esto simplemente use: expresión regular '^ //. *? (? = \ R? $)'. Esto asegurará que solo las líneas de comentarios verdaderos se marquen. – dev101

Cuestiones relacionadas