AHK++ is available for: VS Code | Theia IDE | VSCodium | any other IDE that supports *.vsix extensions
Download from a trusted source: Visual Studio Marketplace | Open VSX Registry | GitHub releases
AHK++ 6 incorporates AutoHotkey v2 Language Support by thqby, providing full support for AHK v2, including:
Ctrl + F1
) opens language-specific help (and includes your text selection)For all changes, including breaking changes, see the changelog
As always, please π report any issues
π Special thanks again to thqby, as this would not have been possible without thqby's open-source AutoHotkey v2 Language Support!
With AHK++, you can compile, debug, and run your scripts with keyboard shortcuts. You can also run a selection as a standalone script.
Ctrl + Shift + F9
Ctrl + Alt + F9
Ctrl + F1
Ctrl + F9
Ctrl + F8
Ctrl + F6
There are some known issues with the debugger. If you need an advanced setup, we recommend zero-plusplus.vscode-autohotkey-debug for now. Please open an issue if the built-in debugger does not support your needs. As
zero-plusplus.vscode-autohotkey-debug
is closed-source, we will be working to introduce advanced debugger features to ensure an open-source, collaborative, complete extension is available to the AHK community π
Ctrl + Alt + F9
.The debugger supports breakpoints, stack tracing, and variable watching
Output message: You can use OutputDebug
command instead of MsgBox
to log values.
Evaluate: Set and get variable values through the debug console.
This extension provides basic debugging functions. If you need more debugging functions (such as conditional breakpoints), you can add an additional extension: Install vscode-autohotkey-debug.
Select a symbol, then:
Find All References
.Shift + F12
.Usage: Hover over symbol to see IntelliSense documentation.
Assign name to block of code via double semicolon comment ;;Name
and go to it from outline.
Custom folding regions:
;region
MsgBox % "Collapse me!"
;endregion
; Block comments with regions
/* ;region
Collapse me!
*/ ;endregion
Supports standard VS Code formatting with a few options.
Formatter directives instruct the formatter to behave a certain way on sections of code.
FormatBlockComment
:
;@AHK++FormatBlockCommentOn
/*
;All text inside block comment will be formatted like regular code.
*/
;@AHK++FormatBlockCommentOff
AlignAssignment
:
;@AHK++AlignAssignmentOn
a = 5 ; number five
str = legacy text = with equal symbol
inputFile := "movie.mkv"
abc := "abc" ; string
abc := a + b
;@AHK++AlignAssignmentOff
This extension relies heavily on open-source code. A huge thank you to all these open-source contributors who made the extension what it is today!