Remove source file comments using IntelliJ?

2020-01-26 23:58发布

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..

5条回答
在下西门庆
2楼-- · 2020-01-27 00:24

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 = "";

:D

Hope this helps.

查看更多
ゆ 、 Hurt°
3楼-- · 2020-01-27 00:26

Press ctrl + r and in first textbox type //.*\n and then press replace all button. Then reformat the file by ctrl + alt + l.

查看更多
Explosion°爆炸
4楼-- · 2020-01-27 00:35

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

查看更多
混吃等死
5楼-- · 2020-01-27 00:35

The Comment Java Preprocessor allows to cut all commentaries from Java sources (the /R option) http://code.google.com/p/java-comment-preprocessor/

查看更多
叛逆
6楼-- · 2020-01-27 00:42

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;" \;
查看更多
登录 后发表回答