From a4eae7ee173c6365c2b60bf58513a636ded2726c Mon Sep 17 00:00:00 2001 From: Mark Wiemer <7833360+mark-wiemer@users.noreply.github.com> Date: Fri, 8 Nov 2024 16:59:03 -0800 Subject: [PATCH] Downgrade intepreter path error to console log (#566) --- .../bug-report--non-formatter-.md | 2 ++ ahk2 | 2 +- changelog.md | 6 +++++- docs/Troubleshooting.md | 16 +++++++++++++++- image/ahkV2InterpreterAndPath.png | Bin 0 -> 9410 bytes image/selectAHKV2Interpreter.png | Bin 0 -> 6539 bytes 6 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 image/ahkV2InterpreterAndPath.png create mode 100644 image/selectAHKV2Interpreter.png diff --git a/.github/ISSUE_TEMPLATE/bug-report--non-formatter-.md b/.github/ISSUE_TEMPLATE/bug-report--non-formatter-.md index f43d5aec..fab15693 100644 --- a/.github/ISSUE_TEMPLATE/bug-report--non-formatter-.md +++ b/.github/ISSUE_TEMPLATE/bug-report--non-formatter-.md @@ -8,6 +8,8 @@ labels: bug assignees: mark-wiemer --- +For troubleshooting assistance, refer to the [troubleshooting guide](../../docs/Troubleshooting.md) + ## Description A clear and concise description of what the bug is. diff --git a/ahk2 b/ahk2 index cec559a9..560aade8 160000 --- a/ahk2 +++ b/ahk2 @@ -1 +1 @@ -Subproject commit cec559a9d0b6698c3b33f3ac88701e1d375a096f +Subproject commit 560aade8550e7dd17d6f78b3ac8360b4facf6ff1 diff --git a/changelog.md b/changelog.md index 2d16e2b7..7a939c30 100644 --- a/changelog.md +++ b/changelog.md @@ -2,8 +2,12 @@ ## 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) +- Fix go to definition in AHK v1 files ([#559](https://github.com/mark-wiemer-org/ahkpp/issues/559)) +- Remove unnecessary error message "Couldn't resolve AHK v2 interpreter" ([#493](https://github.com/mark-wiemer-org/ahkpp/issues/493)) + - This has been moved to a console log visible in the AHK++ (v2) output channel + - A similar error message will still appear when attempting to debug with an unrecognized interpreter path + - See the new [troubleshooting guide](docs/Troubleshooting.md) for details ## 6.4.0 - 2024-11-02 🗳️ diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index fce053d2..9200f9dd 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -1,7 +1,21 @@ -# Troubleshooting +# Troubleshooting guide If AHK++ isn't behaving as you expect, here are some things you can try. +## AHK v2: Validate your interpreter + +For AHK v2, the language server may not behave correctly if it fails to identify a valid path to an interpreter like `AutoHotkey.exe`. The status bar at the bottom left of your IDE should show the current interpreter or an option to "Select AHK v2 Interpreter". + +Currently, AHK++ does not support the Windows Store edition of AHK v2, but there are plans to support it by the end of 2024, ref [#496](https://github.com/mark-wiemer-org/ahkpp/issues/496). + +Interpreter found: + +![AHK v2 interpreter version and path](../image/ahkV2InterpreterAndPath.png) + +Interpreter not found: + +![Select AHK v2 Interpreter in status bar](../image/selectAHKV2Interpreter.png) + ## Restart extensions Some settings changes only take effect after restart. Other issues may arise that are mitigated with a restart. diff --git a/image/ahkV2InterpreterAndPath.png b/image/ahkV2InterpreterAndPath.png new file mode 100644 index 0000000000000000000000000000000000000000..561cb983537253d3ddee5165c18860e293a25a48 GIT binary patch literal 9410 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%0D+3jgK%u3T`UF1c|?vLIzq7NBHE`h#Xri=?BFr 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