2010-04-10 45 views
24

¿Hay algún complemento o herramienta en IntelliJ que elimine todos los comentarios de los archivos .java de origen? He leído acerca de un ANT task que puede hacer esto ... estaba buscando hacer lo mismo desde dentro del IDE. Alternativamente, un complemento TextPad funcionaría también ...¿Quitar los comentarios del archivo fuente usando IntelliJ?

+2

Por qué no basta con ejecutar la tarea de Ant en IntelliJ y lo llaman un día? – duffymo

+0

Duffymo que tiene demasiado sentido ;-) –

+0

Bueno, sí tiene sentido, me encantaría encontrar un pequeño complemento IntelliJ que pueda usar fácilmente en cualquier archivo viejo que abra y en el que quiera borrar los comentarios. –

Respuesta

67

Puede usar "Reemplazar" (o "Reemplazar en la ruta" si desea eliminar comentarios en varios archivos) en el modo de expresión regular y luego usar esta expresión regular en el campo "Texto para buscar":

(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*) 

y reemplazarlo por una cadena vacía. A continuación, presione "Todo" para aplicar este reemplazo al archivo completo o a todos los archivos seleccionados. Esto eliminará todos los comentarios de bloque y los comentarios de línea de su archivo. Si sólo desea bloquear los comentarios que ser eliminado, utilice esta expresión regular en su lugar:

(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/) 

Y si desea eliminar sólo los comentarios de línea, puede utilizar esta expresión regular:

([ \t]*//.*) 

Sin embargo, debo advertir que esto solo funciona% 99.99 de veces. Es posible que tenga una variable de cadena se definen en el archivo como:

String myStr = "/** I am not a comment */"; 

Esta expresión regular a su vez, esto a:

String myStr = ""; 

: D

Espero que esto ayude.

+0

Buena idea ... pero ese RegEx no parece funcionar para mí ... –

+0

¿El primero? Lo comprobé doblemente en IDEA 9.0.1 y está funcionando para mí. – Behrang

+0

Hmmm ... Estoy probando este archivo http://pastebin.com/u0fQub8j ... parece que no funciona. ¿Algunas ideas? Estoy en IntelliJ 8. –

0

Mi solución es:

find . -name *.java -type f -exec sh -c "perl -0pe 's#/\*(.|\n)*?\*/##g; s|//.*?\n|\n|g' '{}' > temp.java; cat temp.java > {} ; rm temp.java;" \; 
+1

Indique y estilice su código :) –

2

tarde a la fiesta, pero hay "Structural Search and Replace Dialogs" opción que puede se utilizará para buscar diferentes tipos de comentarios y reemplazarlos

Ir a Editar => Buscar => Reemplazar Estructuralmente ...

  • Introduzca uno de continuación en "búsqueda de plantillas:"

sola línea

// $CommentContent$ 

línea Multi

/* 
    $CommentContent$ 
*/ 

Javadoc

/** 
    $CommentContent$ 
*/ 
  • salir de la "plantilla de sustitución:" blanco

  • Seleccionar apropiada Ámbito

  • Haga clic en 'Buscar' y luego 'Reemplazar todos'

  • usted S hould ver no hay más comentarios

Nota: que este lío fuerza hasta el formato por lo que tendrá que volver a formatear código afectado

+0

la mejor respuesta para mí – otaviodecampos

Cuestiones relacionadas