Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mark-wiemer-org/ahkpp
AHK++ provides AutoHotkey v1 and v2 support for VS Code, Theia IDE, and more
https://github.com/mark-wiemer-org/ahkpp
ahk ahkv2 autohotkey autohotkey-v2 language-support theia theia-extension theia-ide theia-language-extension vscode vscode-extension vscodium vscodium-extension
Last synced: 6 days ago
JSON representation
AHK++ provides AutoHotkey v1 and v2 support for VS Code, Theia IDE, and more
- Host: GitHub
- URL: https://github.com/mark-wiemer-org/ahkpp
- Owner: mark-wiemer-org
- License: other
- Created: 2020-11-07T19:46:38.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-30T04:27:03.000Z (13 days ago)
- Last Synced: 2024-10-30T06:12:05.388Z (13 days ago)
- Topics: ahk, ahkv2, autohotkey, autohotkey-v2, language-support, theia, theia-extension, theia-ide, theia-language-extension, vscode, vscode-extension, vscodium, vscodium-extension
- Language: AutoHotkey
- Homepage: https://marketplace.visualstudio.com/items?itemName=mark-wiemer.vscode-autohotkey-plus-plus
- Size: 1.93 MB
- Stars: 169
- Watchers: 5
- Forks: 10
- Open Issues: 31
-
Metadata Files:
- Readme: readme.md
- Changelog: changelog.md
- Contributing: Contributing.md
- License: license.md
- Security: security.md
Awesome Lists containing this project
README
# AutoHotkey Plus Plus (AHK++)
AutoHotkey Plus Plus (AHK++) provides AutoHotkey v1 and v2 language support for VS Code. This includes:
- IntelliSense
- code highlighting
- debug support
- code formatting
- ...and more!## 5.0.0 - AutoHotkey v2 support now in preview!
AutoHotkey v2 support has been a [long-requested feature](https://github.com/mark-wiemer-org/ahkpp/issues/96), and this release now supports nearly all functionality!
Supported features include:
- Running and debugging v1 and v2 scripts without changing settings
- "Open help" (Ctrl + F1) opens language-specific help (and includes your text selection!)
- Full syntax highlighting for v2 scripts
- Unique icons for v1 (blue) and v2 (green)See the full changes at the [changelog](https://github.com/mark-wiemer-org/ahkpp/blob/main/Changelog.md).
As always, please [report any issues](https://github.com/mark-wiemer-org/ahkpp/issues/new/choose)!
## Contents
- [Why AutoHotkey Plus Plus?](#why-autohotkey-plus-plus)
- [Install](#install)
- [Commands](#commands)
- [Debug](#debug)
- [Language features](#language-features)
- [IntelliSense](#intellisense)
- [Function symbol](#function-symbol)
- [Go to definition](#go-to-definition)
- [Find references](#find-symbol-references)
- [Hover tip](#hover-tip)
- [Outline](#outline)
- [Folding](#folding)
- [Code format](#code-format)
- [Formatter directives](#formatter-directives)
- [Credits](#credits)
- [Links](#links)## Why AutoHotkey Plus Plus?
AutoHotkey Plus Plus is one of many extensions that offer VS Code language support. So why should you use this one?
- **Supports both v1 and v2**: AHK++ now has support for AutoHotkey v2 (in preview), making it the only extension to support both major versions of AutoHotkey!
- **Actively maintained**: Any issues encountered while using this extension can be reported and fixed. With other extensions, anything that's broken will stay broken forever. You can report any issues with AHK++ (and view all issues) through the [issue tracker](https://github.com/mark-wiemer/vscode-autohotkey-plus-plus/issues).
- **IntelliSense**: Smart code completion, syntax highlighting, code navigation, and more.
- **Debug support**: Run and debug AHK scripts from VS Code.
- **New features**: Another benefit to active maintenance is that AHK++ can add new features as users request them. For example, quick help, formatter directives, and custom new file templates were all added based on user feedback!## Install
Install from VS Code or install from VS Code Marketplace: [Install AutoHotkey Plus Plus](https://marketplace.visualstudio.com/items?itemName=mark-wiemer.vscode-autohotkey-plus-plus).
## Commands
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`## Debug
> There are some [known issues with the debugger](https://github.com/mark-wiemer/vscode-autohotkey-plus-plus/issues?q=is%3Aopen+is%3Aissue+label%3Adebugger). If you need an advanced setup, we recommend [zero-plusplus.vscode-autohotkey-debug](https://marketplace.visualstudio.com/items?itemName=zero-plusplus.vscode-autohotkey-debug).
1. Click the debug button in the editor title menu (at the top right of the editor) or press `Ctrl + Alt + F9`.
2. The debugger supports breakpoints, stack tracing, and variable watching![Debug](image/debug.gif)
### Debug features
1. **Output message**: You can use `OutputDebug` command instead of `MsgBox` to log values.
![Output](image/output.jpg)
2. **Evaluate**: Set and get variable values through the debug console.
![Evaluate](image/evalute.jpg)
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](https://marketplace.visualstudio.com/items?itemName=zero-plusplus.vscode-autohotkey-debug).
## Language Features
### IntelliSense
Supports IntelliSense for variables and functions.
### Function symbol
1. You can add a comment to the function using a semicolon on the line above the function declaration
### Go to definition
1. Supports navigation to symbol definition.
2. Usage: Ctrl-click on the symbol to navigate to its definition.![Goto Definition](image/gotoDefinition.jpg)
### Find symbol references
Select a symbol, then:
- Right-click and select `Find All References`.
- Or press `Shift + F12`.### Hover tip
Usage: Hover over symbol to see IntelliSense documentation.
![Hover](image/hover.png)
### Outline
Assign name to block of code via double semicolon comment `;;Name` and go to it from outline.
![Block Name](image/blockName.png)
### Folding
Custom folding regions:
```autohotkey
;region
MsgBox % "Collapse me!"
;endregion; Block comments with regions
/* ;region
Collapse me!
*/ ;endregion
```### Code format
Supports standard VS Code formatting with a few options.
![Code Format](image/codeFormat.jpg)
#### Formatter Directives
Formatter directives instruct the formatter to behave a certain way on sections of code.
1. `FormatBlockComment`:
```autohotkey
;@AHK++FormatBlockCommentOn
/*
;All text inside block comment will be formatted like regular code.
*/
;@AHK++FormatBlockCommentOff
```2. `AlignAssignment`:
```autohotkey
;@AHK++AlignAssignmentOn
a = 5 ; number five
str = legacy text = with equal symbol
inputFile := "movie.mkv"
abc := "abc" ; string
abc := a + b
;@AHK++AlignAssignmentOff
```## Credits
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](https://marketplace.visualstudio.com/items?itemName=cweijan.vscode-autohotkey-plus): AHK++ is a fork of AutoHotkey Plus by cweijan (Weijan Chen)
- [Contributions to AHK++ by kyklish](https://github.com/mark-wiemer-org/ahkpp/commits/main?author=kyklish): Greatly improved formatting and snippets by both fixing bugs and adding features
- [AutoHotkey v2 Language Support by thqby](https://marketplace.visualstudio.com/items?itemName=thqby.vscode-autohotkey2-lsp): The source of the v2 grammar and other great contributions
- [Lexikos/vscode-auto-select](https://github.com/Lexikos/vscode-auto-select): The core code for automatically switching AHK versions
- [AutoHotkey by stef-levesque](https://marketplace.visualstudio.com/items?itemName=slevesque.vscode-autohotkey): AutoHotkey Plus is a fork of stef-levesque's original AutoHotkey extension, which provided the original grammar and snippets for AHK## Links
- [GitHub](https://github.com/mark-wiemer-org/ahkpp): View code, file bugs, and join discussions
- [Reviews](https://marketplace.visualstudio.com/items?itemName=mark-wiemer.vscode-autohotkey-plus-plus&ssr=false#review-details): Help others discover AHK++ by leaving a review