Translated by DeepL Tranlator
This extension is a debugger adapter for VSCode that provides many advanced features in addition to the basic debugging features.
-
There have been major changes in
1.10.0and some fatal bugs have been found. If you encounter problems, please update to the latest version or downgrade to1.9.0. Also, if you report it on GitHub, I will reply the same day or the next day -
The required version of VSCode has been raised from 1.45.0 to 1.49.0. Regardless, it is recommended that you install the latest version as some functions may not work
-
Much of the README content has been migrated to the Github wiki. If you want to see the description of each feature, please refer to there
-
1.11.0- 2022-02-11- Added: #201 Add
useLoadedScriptsto launch.json - Fixed: #189 Refix. Stopping the debugger adapter due to ECONNRESET error
- Fixed: #198 The error message when ECONNRESET occurs is incorrect
- Fixed: #199 Loaded Scripts process may become extremely slow. broken by
1.10.0 - Fixed: #199 Debugging will not start if scripts are included that are loaded into each other using
#Include - Fixed: #199 The standard library may not be displayed in Loaded scripts, and the debugger directive may not work
- Fixed: #202 Error message is not displayed when a non-existent runtime is specified
- Fixed: #203 If the number of loaded scripts exceeds 60, only the first debug will fail
- Fixed: #204 AutoHotkey v2-128 and later versions may show auto-include-libraries in Loaded Scripts that are not actually loaded
- Fixed: #205 When a library call is included in a string or in a comment, files that are not actually loaded may appear in the Loaded Scripts
- Added: #201 Add
-
1.10.2- 2022-01-27- Fixed: #192 Debug adapter may crash when evaluating variables in hover, watch expressions, etc.
-
[YANKED]
1.10.1- 2022-01-26- Fixed: #179
Run Without Debuggingdoes not print any output to the debug console - Fixed: #180 Hit conditional breakpoint do not work properly if they contain spaces before or after the condition
- Fixed: #188 ComObject child elements may not be displayed correctly in data inspection, watch expression, etc.
- Fixed: #188 4 errors may occur when displaying ComObject child elements in data inspection
- Fixed: #189 Stopping the debugger adapter due to ECONNRESET error
- Fixed: #179
-
1.10.0- 2021-12-25- Added: #75 Add some context menus to copy the value of a variable in data inspection
- Added: #88 Add
variableCategoriesattribute to launch.json - Added: #142 Add
useAnnounceattribute to launch.json - Added: #142 Add
useOutputDebugattribute to launch.json - Added: #147 Add ClearConsole directive to debug directive
- Added: #148 Add
Add to WatchandCopy as Expressionto context menu of data inspection - Added: #150 Add
{now},{callstack},{callstackNames},{thisCallstack}to meta variables - Added: #151 Add
{variablesCategories}to meta variables - Added: #154 Add some context menus to view the value of a variable in data inspection
- Added: #161 Add
hasoperator to conditional breakpoint - Added: #162 Add
contanisoperator to conditional breakpoint - Added: #173 Add
cwdattribute to launch.json - Added: Add a some snippet to launch.json
- Changed: #157 The specification has been changed so that when multiple objects are output at log points, etc., they are grouped together and only one message is output
- Changed: #163 Restored true base objects to
<base>notation - Changed: #165 The hover information has been improved so that it can display the value of properties that contain bracket notation such as
var[key].property - Changed: #176 Add a new format to log points, etc., to specify the depth of the child elements to retrieve, such as
{variableName:depth} - Changed: Change so that numerical variables representing command line arguments are not suggested by IntelliSense
- Fixed: #149 Watch expression only show the contents of the latest call stack
- Fixed: #164 Fix inefficient debugging command call process
- Fixed: #167
0x0is not treated as falsy in conditional breakpoint - Fixed: #168 When a string is specified as bracket notation in a conditional breakpoint, it is not evaluated correctly
- Fixed: #169 When a
trueis specifed in a conditional breakpoint, if it contains capital letters, it will not be evaluated correctly - Fixed: #170 If the script exits after using a conditional breakpoint that returns false, an error ECONNRESET may occur
- Fixed: #171 Cannot correctly retrieve children of object with key containing linebreak
- Fixed: #177 Whenever a conditional breakpoint contains a space in front of the condition, it is evaluated as
false - Fixed: #178 v2 only bug. Bracket notation suggestion displays properties that are not actually available
- Fixed: When
"attach"is specified for request when editing launch.json,skipFilesandskipFunctionsare not displayed in the IntelliSense - Fixed: The breakpoint operation may fail
See CHANGELOG for details.
- Install VSCode with version
1.49.0or higher - Install AutoHotkey
- Install an another extension to support AutoHotkey (the famous slevesque.vscode-autohotkey, If you use v2, use dudelmoser.vscode-autohotkey2, etc.)
- Open VSCode, press
Ctrl + Pthen typeext install zero-plusplus.vscode-autohotkey-debug
This extension will work without configuration as long as you follow the steps above.
However, if you want to use a different version of AutoHotkey for which no installer is provided, you will need to configure it separately.
By default, the runtime is configured for each file extension as shown below, so please place the runtime in the same path.
ahk-C:/Program Files/AutoHotkey/AutoHotkey.exeahk2orah2-C:/Program Files/AutoHotkey/v2/AutoHotkey.exe
If you want to place the runtime in a specified folder, you need to set the runtime attribute in launch.json.
- Open a file with the extension
ahk,ahk2orah2. - (optional) Set Breakpoint where you want them
- Press
F5
If you want to enable more advanced features and make more detailed settings, please refer to Debug configurations.
If you need to run the script without debugging, choose Run -> Run Without Debugging from the menu or press Ctrl + F5.
For more information on how to use many of the other features, see here.
I am currently not accepting source code contributions (i.e. Pull Request). Instead, you can report bugs and request features in Issues.
I usually reply by the next day.
You can support development with donate or sponsor (Github account required).
Please note, that I have not setup a reward, as I am dedicated to development.