Is there a plugin or tool in IntelliJ that will strip all comments out of your source .java files? I've read about an ANT task that can do this.. was looking to do the same from within the IDE. Alternatively a TextPad plugin would work as well..
You can use the "Replace" (or "Replace in Path" if you want to remove comments in multiple files) in the regular expression mode and then use this regular expression in the "Text to find" field:
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/|[ \t]*//.*)
and replace it with an empty string. Then press "All" to apply this replacement to the entire file or all the selected files. This will remove all block comments and line comments from your file. If you want only block comments to be removed, use this regex instead:
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)
And if you want to just remove line comments, you can use this regex:
([ \t]*//.*)
However, I should warn that this works only %99.99 of times. You might have a string variable defined in your file like:
String myStr = "/** I am not a comment */";
This regex will turn this to:
String myStr = "";
Late to the party but there is "Structural Search and Replace Dialogs" option that can be used to search different kind of comments and replace them
Go to Edit => Find => Replace Structurally...
- Enter one of below in "Search Template:"
Single line
// $CommentContent$
Multi line
/*
$CommentContent$
*/
Javadoc
/**
$CommentContent$
*/
Leave the "Replacement Template:" blank
Select appropriate Scope
Click 'Find' and then 'Replace all'
you Should see no more comments
Note: that this might mess up formatting so you will have to reformat affected code
Press ctrl + r
and in first textbox type //.*\n
and then press replace all button. Then reformat the file by ctrl + alt + l
.
.*
button on the right of the text box to enable Regex mode to use this solution. –
Cosmopolis The Comment Java Preprocessor allows to cut all commentaries from Java sources (the /R option) http://code.google.com/p/java-comment-preprocessor/
Press control + r to open replace and replace all box
type //.* in first box, keep in second box empty and then select Regex. Select replace or replace all
That's it.
Enjoy 😎
My solution is:
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;" \;
//
were, so I played with it a bit and got this change to the perl bit: perl -0pe 's#/\*(.|\n)*?\*/##g; s|[^\S\r\n]*//.*?\n||g; s|//.*?\n|\n|g'
–
Pelisse © 2022 - 2024 — McMap. All rights reserved.
^[ ]*/?\*+/? ?
– Nappe