A personal edition modified from vscode-autohotkey
And Microsoft lsp-simple
AutoHotKey language support for VS Code
- v2 CompatibleMode(expremental)
- Allows some v2 syntax
- Support onHover
- Debugger runtime executable path overlap. For detail, see Feature
- Build-in Variable and Function(partly) hint.
- Need documentions which is easy to be parsed by js/ts. If you find any, help please(Example).
- Recursive descent parser is under alpha stage, if you want to use old one, you can go to here to download it
- Experimental hint for where symbol is included on completion. ONLY work on global symbol.
- Enumerate include
- Documents must be explicitly included by
#include
- Notice
#include DirName
are not implemented now
- Documents must be explicitly included by
- If you need a debugger, just install any debug extension in market. As recommended options, AutoHotKey Debug by me or vscode-autohotkey-debug by zero-plusplus
For vim user, how to use this extension in vim.
- Install coc.nvim.
- Go to vscode markertplace to download the vsix file of this extension.
- Use 7-zip or other unzip software to unzip the vsix.
- Open
coc-settings.json
by:CocConfig
. Add this configuration to your coc configuration file:
"languageserver": {
"Autohotkey": {
"module": "your-unzip-dir/extension/server/out/server.js",
"args": ["--node-ipc"],
"filetypes": ["autohotkey"],
"trace.server": "off",
"documentLanguage": "no"
}
}
- restart vim, and open an ahk file.
- Besides, coc.nvim may need a little configuration. Those can be find in the homepage of coc.nvim.
- A better tmlanguage based highlight
- Comment blocks
- Snippets
- Code Completion
- Document symbol(class, method, variable, label, hotkey)
- Goto Definition(only works for "code", file name is not supported for now)
- Signature Helper (tooltip for method parameters)
- Hover
- Enumerate include documents
- The documents must be explicitly included by
#include
- The documents must be explicitly included by
- Folding region commnet
- mark region start by
;[region]
- mark region end by
;[endregion]
- mark region start by
- Debugger runtime executable path overlap.
- When install with AutoHotKey Debug,
AhkExecutable
(runtime executable path) option in launch.json will be overlap with interpreter path setting of this extension, ifAhkExecutable
is left empty. - A typical situtation is that debug a file without any launch.json settings. Debug extension will start with runtime in interpreter path setting.
- When install with AutoHotKey Debug,
{
// ......
"AhkExecutable": "" //this will be overlap by interpreter path setting
// .....
}
- Autohotkey Language Server: Document Language
Language of documents of built-in variables and fucntions.
Only Chinese documents of built-in variables(Option: CN) available now - Autohotkey Language Server>Trace: Server
Traces the communication between VS Code and the language server.
- Language server
- Build-in Function hint
- Build-in Variable hint(Need Docs)
- Function hint(Need Docs)
- Better syntax tree
- Code formation
- improvement needed
- Enumerate include
- Document cache improvement needed
- Function debounce
- Syntax analyze based parser
- Enable documentation markdown
- vinnyjames
- stef-levesque
- denolfe
- Microsoft lsp-simple
- jonnyboyC et al. (kos-langeuage-sever)
- bitwiseman(js-beautify)
- 天黑请闭眼(modify js-beautify for ahk)
- CoffeeChaton (#18)