From c0c0d9a7759430ccdcbb6217aab8850b4a43e5fe Mon Sep 17 00:00:00 2001 From: Mark Wiemer <7833360+mark-wiemer@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:48:01 -0800 Subject: [PATCH] Add troubleshooting doc, update readme (#565) --- changelog.md | 1 + docs/Troubleshooting.md | 35 +++++++++++++++++++++++++++++++ image/installSpecificVersion.png | Bin 0 -> 60401 bytes readme.md | 34 +++++++++++------------------- 4 files changed, 48 insertions(+), 22 deletions(-) create mode 100644 docs/Troubleshooting.md create mode 100644 image/installSpecificVersion.png diff --git a/changelog.md b/changelog.md index be66d7f4..2d16e2b7 100644 --- a/changelog.md +++ b/changelog.md @@ -3,6 +3,7 @@ ## 6.4.1 - unreleased 🛠️ - Fix go to definition in AHK v1 files ([#559](https://github.com/mark-wiemer-org/ahkpp/issues/559)) +- Add [troubleshooting guide](docs/Troubleshooting.md) ## 6.4.0 - 2024-11-02 🗳️ diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md new file mode 100644 index 00000000..fce053d2 --- /dev/null +++ b/docs/Troubleshooting.md @@ -0,0 +1,35 @@ +# Troubleshooting + +If AHK++ isn't behaving as you expect, here are some things you can try. + +## Restart extensions + +Some settings changes only take effect after restart. Other issues may arise that are mitigated with a restart. + +To restart all extensions, press F1 to open the command palette and enter "Developer: Restart Extension Host". Extensions should restart within a few seconds. + +If you're able to consistently reproduce the issue, please [open a bug](https://github.com/mark-wiemer-org/ahkpp/issues/new/choose). + +## Install specific version of AHK++ + +If a recent release is causing issues, you can revert to a previous version via your IDE's extensions view. + +1. Select AHK++ +1. Near "uninstall", click the small caret (down arrow) +1. Select "Install Specific Version..." +1. A quick pick will open with all versions, select whichever one you like. + > Note that changing the major version (e.g. from 6.x to 5.x) will likely result in some issues. Refer to [changelog.md](../changelog.md) for details. + +![IDE extensions view, showing uninstall alt > install specific version](../image/installSpecificVersion.png) + +The current installed version of AHK++ is also shown to the right of the extension name for clarity, outlined above in red. + +If the issue goes away with the older version of AHK++, please [open a bug](https://github.com/mark-wiemer-org/ahkpp/issues/new/choose). + +## Advanced troubleshooting + +These steps shouldn't be necessary for most issues, and may be difficult to execute. Feel free to open an issue without trying these :) + +### Debug logs + +Using Ctrl+Shift+U to open the output view, you can select either of the AHK++ channels to see all debug logs. You're welcome to map these logs to `Output.debug` and `console.log` calls in the source code. Please include your findings if you [open a bug](https://github.com/mark-wiemer-org/ahkpp/issues/new/choose). diff --git a/image/installSpecificVersion.png b/image/installSpecificVersion.png new file mode 100644 index 0000000000000000000000000000000000000000..006292aded377f01559cdd018995a2da816a0fe8 GIT binary patch literal 60401 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

MS63CS4^4iA=#~+Equ6*KfkSat$5U+ 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 literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md index 229fa86b..ae4f07bb 100644 --- a/readme.md +++ b/readme.md @@ -7,17 +7,19 @@

Formatting (customizable!)
Quick help
...and more
+
+ ## Install -AHK++ is available for: [VS Code](https://code.visualstudio.com) | [Theia IDE](https://theia-ide.org) | [VSCodium](https://vscodium.com) | ...any other IDE that supports \*.vsix extensions +AHK++ is available for: [VS Code](https://code.visualstudio.com) | [Theia IDE](https://theia-ide.org) | [VSCodium](https://vscodium.com) | [any other IDE that supports \*.vsix extensions](https://github.com/mark-wiemer-org/ahkpp/releases) Download from a trusted source: [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=mark-wiemer.vscode-autohotkey-plus-plus) | [Open VSX Registry](https://open-vsx.org/extension/mark-wiemer/vscode-autohotkey-plus-plus) | [GitHub releases](https://github.com/mark-wiemer-org/ahkpp/releases) ## AHK v2 full support is here! 🥂 -AHK++ 6 now incorporates [AutoHotkey v2 Language Support by thqby](https://marketplace.visualstudio.com/items?itemName=thqby.vscode-autohotkey2-lsp), meaning full AHK v2 support: +AHK++ 6 incorporates [AutoHotkey v2 Language Support by thqby](https://marketplace.visualstudio.com/items?itemName=thqby.vscode-autohotkey2-lsp), providing full support for AHK v2, including: - Running, debugging, and stopping v1 and v2 scripts without changing settings - Full syntax highlighting for v2 scripts @@ -26,16 +28,12 @@ AHK++ 6 now incorporates [AutoHotkey v2 Language Support by thqby](https://marke - Rich IntelliSense support with snippets, hover text, and suggestions - Formatting files with many customized options -For all changes, including breaking changes, see [the changelog](./changelog.md) +For all changes, including breaking changes, see [the changelog](./changelog.md#600---2024-09-01-) As always, please [🐛 report any issues](https://github.com/mark-wiemer-org/ahkpp/issues/new/choose) 💚 Special thanks again to [thqby](https://github.com/thqby), as this would not have been possible without thqby's open-source [AutoHotkey v2 Language Support](https://marketplace.visualstudio.com/items?itemName=thqby.vscode-autohotkey2-lsp)! -### ⛓️‍💥 Breaking changes - -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](./changelog.md) for details. - --- ## Commands @@ -70,15 +68,7 @@ With AHK++, you can compile, debug, and run your scripts with keyboard shortcuts 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 +## Language features ### Go to definition @@ -127,7 +117,7 @@ Supports standard VS Code formatting with a few options. ![Code Format](image/codeFormat.jpg) -#### Formatter Directives +#### Formatter directives Formatter directives instruct the formatter to behave a certain way on sections of code. @@ -153,13 +143,13 @@ Formatter directives instruct the formatter to behave a certain way on sections ;@AHK++AlignAssignmentOff ``` -## Credits +## 💚 Acknowledgements -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! +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! - [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 extension by thqby](https://marketplace.visualstudio.com/items?itemName=thqby.vscode-autohotkey2-lsp): The source of the v2 grammar and other great contributions +- [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 definition files by GroggyOtter](https://github.com/GroggyOtter/ahkv2_definition_rewrite) - [AHK version selection by Lexikos](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 @@ -167,5 +157,5 @@ This extension relies heavily on open-source code. A huge thank you to all these ## 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 +- [GitHub repo](https://github.com/mark-wiemer-org/ahkpp): View code, file bugs, and join discussions +- [Reviews on VS Marketplace](https://marketplace.visualstudio.com/items?itemName=mark-wiemer.vscode-autohotkey-plus-plus&ssr=false#review-details): Help others discover AHK++ by leaving a review