2012-01-05 77 views
18

Notepad ++顯然可以識別所有註釋。有沒有辦法簡單地刪除所有?有沒有辦法使用Notepad ++刪除文件中的所有註釋?

編輯: Stat-R的書籤方法非常有用,不僅用於刪除註釋,而且用於有條件地刪除行。

+1

如果你仍然想要一個答案...你想刪除行評論? – 2012-03-27 15:53:16

+0

請告訴。 – Cos 2012-03-27 20:18:25

+0

你好,檢查我的答案行評論。 – Jamil 2015-10-26 06:24:22

回答

27

對於一個通用文件,首先你需要知道你正在寫文件的語言的註釋操作符。例如,在java腳本中,註釋操作符是//。 對於下面的代碼...

enter image description here

在NP ++,你需要

馬克包含 '//' 的線。 確保書籤選項已啓用。

enter image description here

然後,選擇從NP ++菜單搜索>書籤>移除收藏線

enter image description here


編輯:@Chris Mirno 's建議另一種解決方案如下: 使用正則表達式。看到下面的圖片。它是自我解釋 enter image description here

爲了更好地理解它,請參閱these

+0

@Cos,你也可以看到[這個答案](http://stackoverflow.com/questions/918158/how-to-delete-specific-lines-on-notepad/918225#918225) – 2012-03-29 16:57:17

+3

如果/ *新行* /和 代碼//評論存在於同一行 – 2012-06-11 16:47:28

+3

@IvanWang刪除/ * * /第一,然後// – 2014-03-14 04:26:19

9

警告所有使用統計-R解決方案:
如果此格式此方法將刪除的代碼行:

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

按照他的方法,整行行將被刪除。 因此,請務必在完成此方法之前通過並做出這些評論,自己的行。

+0

(+1)感謝您指出這一點。請參閱我的編輯 – 2012-08-14 17:27:27

+0

您也可以使用正則表達式進行搜索,因此打開正則表達式功能並在註釋代碼前添加^以搜索行的開頭。您的結果表達式就像^ \%(\轉義%字符)。 – pypmannetjies 2014-01-24 11:33:58

+0

對於行評論檢查我的答案 – Jamil 2015-10-02 09:31:14

2

我有一些運氣爲上述運行宏。基本上:

  • 搜索//F3
  • 選擇到行尾的( +
  • 刪除(刪除

//只需搜索一次即可進入搜索對話框。然後在宏中記錄三個步驟,然後播放直到EOF。

第一次我做了它,我遇到了一個問題,但後來它工作,不知道我做了什麼不同。

+0

這裏最好的答案 – djb 2015-02-09 15:08:34

-3

輸入CTRL + SHIFT + K刪除評論

+5

我相信這會刪除評論,'/ /',但不會刪除實際行(和所有評論),因爲OP問。 – ahren 2013-11-09 11:52:45

0

正如有人在另一篇文章中建議,最簡單,最可靠的是也許使用菜單插件中的所有文本導出.rtf格式 - > NppExport - >導出到RTF,然後:

- 打開Word中

新創建的文件 - 選擇任何評論

-On右上側字集團公司選擇的任何部分 - >選擇所有文本具有相似的格式

- 刪除選中的評論一次性(del或者如果不工作切)

+0

也許這是有效的,但是您絕對應該避免使用Microsoft Word或任何其他富文本編輯器進行代碼編輯。 – dev101 2017-12-17 16:26:55

14

enter image description here

在查找&替換對話框,把下面的正則表達式,並調整搜索選項描述。

/\*.*?\*/ 

替換爲:(空)

選擇模式:正則表達式(點)匹配換行符

這應該刪除所有你的C風格的註釋跨行跨越。

+0

如果註釋開始(/ *)位於與結尾(* /)不同的行上,這似乎不起作用。 – userx 2015-01-20 22:49:29

+2

我的壞!我忘了提及。(點)匹配換行選項也應選擇。編輯答案以糾正此問題。請注意多行支持正則表達式最近在Notepad ++中引入,因此請確保您已安裝最新版本 – SenG 2015-01-24 11:43:00

1

安東Largiader的回答是最可靠的一個,包括複雜的內部註釋。

但是,它會留下許多空行,包括那些用空字符(空格,製表符...),所以我想補充的另一個步驟,使之近乎完美:

運行宏後,只是做:

編輯>行操作>刪除空行

OR

編輯>行操作>刪除空行(包括空白字符),如果你只想刪除真正空行 第二個選項將刪除所有的空行,即使收容空間等,讓有

第一種選擇是好的將不再有代碼塊之間的實際間隔。第一種選擇可能是最安全的,然後再進行一些手動清理。

6

星-R和克里斯Mirno答案也正確和良好的。

但對於行註釋:

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

說明:

//將起始位置

.*?會有任何字符

(?=\r?$)將搜索到該行的末尾(因爲它需要在l INE評論)

注: 但仍檢查每一行的,因爲,例如,如果你的代碼中包含像

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

肥皂格式,因爲起點是//,它會抓住這條線去行結束,所以要小心這:) :)

+2

這對我來說至少是最好的答案,但是它仍然有一些缺陷,比如'url:http:// some -link /'。要解決這個問題,只需使用:'^ //。*?(?= \ r?$)'正則表達式。這將確保只有真正的註釋行被標記。 – dev101 2016-03-08 06:38:02

相關問題