2010-04-10 11 views
24

Czy istnieje wtyczka lub narzędzie w IntelliJ, które usunie wszystkie komentarze z plików źródłowych .java? Czytałem o ANT task, który może to zrobić .. chciał zrobić to samo z wewnątrz IDE. Alternatywnie wtyczka TextPad też by działała ..Usunąć komentarze do plików źródłowych za pomocą IntelliJ?

+2

Dlaczego nie wystarczy uruchomić Ant zadanie w IntelliJ i nazywają to dzień? – duffymo

+0

Duffymo, które ma zbyt wiele sensu ;-) –

+0

Cóż, ma to sens, chciałbym znaleźć małą wtyczkę IntelliJ, którą mogę łatwo wykorzystać na każdym starym pliku, który otwieram, i chcę usunąć komentarze. –

Odpowiedz

67

Możesz użyć "Zamień" (lub "Zamień w ścieżce", jeśli chcesz usunąć komentarze w wielu plikach) w trybie wyrażeń regularnych, a następnie użyj tego wyrażenia regularnego w pole "Tekst do znalezienia":

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

i zastąp je pustym ciągiem. Następnie naciśnij "Wszystkie", aby zastosować ten zamiennik do całego pliku lub wszystkich wybranych plików. Spowoduje to usunięcie wszystkich komentarzy blokowych i linii z Twojego pliku. Jeśli chcesz zablokować tylko komentarze do usunięcia, użyj tego regex zamiast:

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

A jeśli chcesz po prostu usunąć komentarze linii, można użyć tego wyrażenia regularnego:

([ \t]*//.*) 

Muszę jednak ostrzec że działa to tylko% 99,99 razy. Można mieć zmienną string zdefiniowany w pliku jak:

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

To wyrażenie regularne będzie włączyć do tego:

String myStr = ""; 

: D

Nadzieja to pomaga.

+0

Dobry pomysł .. ale ten Regex nie działa dla mnie .. –

+0

Pierwszy? Właśnie dwukrotnie sprawdziłem to w IDEA 9.0.1 i działa to dla mnie. – Behrang

+0

Hmmm .. Próbuję na tym http://pastebin.com/u0fQub8j pliku .. nie wydaje się działać. Jakieś pomysły? Jestem na IntelliJ 8. –

0

Moje rozwiązanie to:

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

Proszę wcięcia i stylizacji kodu :) –

2

późno do partii, ale jest "Structural Search and Replace Dialogs" opcja, że ​​można służy do wyszukiwania różnego rodzaju komentarzy i zastępowania ich.

Przejdź do Edycja => Znajdź => Zastąp konstrukcyjnie ...

  • Wpisz jeden z poniżej "szukaj Template:"

pojedynczej linii

// $CommentContent$ 

kilka linii

/* 
    $CommentContent$ 
*/ 

Javadoc

/** 
    $CommentContent$ 
*/ 
  • Pozostawić "Szablon Zamiennik:" puste

  • Wybierz odpowiedni Zakres

  • Kliknij 'Znajdź', a następnie 'Replace all'

  • ty S hould widzę żadnych więcej komentarzy

Uwaga:, że może to zepsuć formatowanie więc trzeba będzie sformatować kod dotkniętych

+0

najlepsza odpowiedź dla mnie – otaviodecampos