; INTRO ; This script allows a section of lines to be easily commented out or uncommented by ; automatically inserting a leading semicolon in front of each. The hotkeys it uses ; seem somewhat standard, at least among Microsoft Visual products (maybe Borland and ; other visual source code editors use them too). ; ; USAGE ; When the right type of window is active (see the first few lines of the script): ; Pressing Ctrl-K followed by Ctrl-C will comment out the currently selected lines. ; Pressing Ctrl-K followed by Ctrl-U will uncomment the currently selected lines. ; ; NOTES ; It uses the clipboard because some editors (e.g. Metapad) aren't compatibible with ; "ControlGet Selected". If your editor is something with a normal edit field, you ; could try using "ControlGet, selected" instead. ; Requires AutoHotkey v1.0.21 and Windows NT/2000/XP or later. $^k:: SetTitleMatchMode, 2 IfWinNotActive, pad ; Replace this with whatever filtering criteria you want. { Send ^k return } Transform, CtrlC, chr, 3 Transform, CtrlU, chr, 21 Input, input, L1 M if input = %CtrlC% { ; Doesn't get the right text in Metapad, perhaps due to being RichEdit: ;ControlGet, selected, selected clipboard = Send ^c ClipWait, 1 if ErrorLevel <> 0 return NewClip = WaitingForFirstCharOfLine = y AutoTrim, off Loop, parse, clipboard { if WaitingForFirstCharOfLine = y { if A_LoopField not in %A_Space%,%A_Tab% { NewClip = %NewClip%; WaitingForFirstCharOfLine = n } } else if A_LoopField = `n WaitingForFirstCharOfLine = y NewClip = %NewClip%%A_LoopField% } clipboard = %NewClip% Send, ^v } else if input = %CtrlU% { clipboard = Send ^c ClipWait, 1 if ErrorLevel <> 0 return NewClip = WaitingForFirstCharOfLine = y AutoTrim, off Loop, parse, clipboard { if WaitingForFirstCharOfLine = y { if A_LoopField not in %A_Space%,%A_Tab% { if A_LoopField <> `; NewClip = %NewClip%%A_LoopField% WaitingForFirstCharOfLine = n } else NewClip = %NewClip%%A_LoopField% } else { if A_LoopField = `n WaitingForFirstCharOfLine = y NewClip = %NewClip%%A_LoopField% } } clipboard = %NewClip% Send, ^v } return
Comment out (or uncomment) the currently selected lines
Started by
Chris
, Oct 22 2004 09:54 PM
1 reply to this topic
Here is a little script that some might find useful.
#1
-
Posted 22 October 2004 - 09:54 PM
I was looking for a script that did exactly this, but while testing I noticed that Notepad++ already does this for you by pressing CTRL+Q. Also, it supports a lot of different languages (which will be based on the file extension, or your selection in the "Language" menu).
But without trying to implement this script, I would probably never have realized it - I should play around in the menus more often :oops:
(I realize that the original post is almost six years old, but this reply might be helpful for others.)
But without trying to implement this script, I would probably never have realized it - I should play around in the menus more often :oops:
(I realize that the original post is almost six years old, but this reply might be helpful for others.)
#2
-
Posted 17 June 2010 - 05:18 PM