Install from VS Code or install from VS Code Marketplace.
AHK++ 6 now incorporates AutoHotkey v2 Language Support by thqby, meaning full AHK v2 support:
- Running, debugging, and stopping v1 and v2 scripts without changing settings
- Full syntax highlighting for v2 scripts
- "Open help" (
Ctrl + F1
) opens language-specific help (and includes your text selection) - Unique icons for AHK v1 (blue) and v2 (green)
- Rich IntelliSense support with snippets, hover text, and suggestions
- Formatting files with many customized options
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!
When adding all the new settings, VS Code's setting UX became overwhelming. Settings are now organized into flat objects, which should improve UX and reduce the need for breaking changes in the future! See the changelog for details.
With AHK++, you can compile, debug, and run your scripts with keyboard shortcuts. You can also run a selection as a standalone script.
- Compile:
Ctrl + Shift + F9
- Debug:
Ctrl + Alt + F9
- Open help:
Ctrl + F1
- Run:
Ctrl + F9
- Run selection:
Ctrl + F8
- Stop:
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 π
-
Click the debug button in the editor title menu (at the top right of the editor) or press
Ctrl + Alt + F9
. -
The debugger supports breakpoints, stack tracing, and variable watching
-
Output message: You can use
OutputDebug
command instead ofMsgBox
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.
Supports IntelliSense for variables and functions.
- You can add a comment to the function using a semicolon on the line above the function declaration
- Supports navigation to symbol definition.
- Usage: Ctrl-click on the symbol to navigate to its definition.
Select a symbol, then:
- Right-click and select
Find All References
. - Or press
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 participants who made the extension what it is today!
- AutoHotkey Plus by cweijan: AHK++ is a fork of AutoHotkey Plus by cweijan (Weijan Chen)
- Contributions to AHK++ by kyklish: Greatly improved formatting and snippets by both fixing bugs and adding features
- AutoHotkey v2 Language Support by thqby: The source of the v2 grammar and other great contributions
- Lexikos/vscode-auto-select: The core code for automatically switching AHK versions
- AutoHotkey by stef-levesque: AutoHotkey Plus is a fork of stef-levesque's original AutoHotkey extension, which provided the original grammar and snippets for AHK