Leaderboard
Popular Content
Showing content with the highest reputation on 03/23/2025 in all areas
-
Visual Studio Code Extension currently available and future plans for SciTE?
SOLVE-SMART and 3 others reacted to LoganCH for a topic
My apologies for just now getting into the thread, but I thought I had notifications for mentions sent to email, since I only really hit the forums when doing research while developing something or updating the changes for the VSCode extension. @Sven-Seyfert sent me an email that let me know that I was missing stuff, so I'm going through the thread to see what I can add.4 points -
Is there a reason not having shortcuts for Tidy / Au3Stripper? Ctrl+T would interfere with VSCode's object search and I couldn't think of a better one. I didn't see Au3Stripper in the Tools menu for SciTe and I never have used it so I honestly missed/forgot that one. $VARIABLES & @MACROs aren't shown with a different color. Any reason for that or did I miss something? This is based on the VSCode theme's choice of color for variables (variable.other) vs macros (constant.other) from the tmLanguage tags Is there any logic in the extension to fix some of the auto indent quirks, or is everybody just livening with it? (I know all about them having messed with the LUA code for that and still not have it perfect) Do you mean the way that code blocks like If...EndIf indent, or the way that VSCode indents default to 2 spaces vs AutoIt standard being a tab and how that messes with Tidy?3 points
-
I have been creating few controls with round corners for awhile for my own needs and I felt it was time to make an UDF and share it with the community. The idea behind this UDF is to use essentially simple basic AutoIt GUI functions. I did not want to embark in GDI+ to create the controls. I wanted to be easy to use with enough features that it would answer most requirements. The functions contained in the UDF : _RGUI_RoundLabel _RGUI_RoundButton _RGUI_RoundInput _RGUI_RoundEdit _RGUI_RoundGroup _RGUI_RoundScrollBar _RGUI_ScrollBarSet _RGUI_ScrollBarDestroy _RGUI_RoundRect _RGUI_DrawLine _RGUI_ButtonPress _RGUI_ButtonReset Version 2025-04-06 * Solved an issue where scroll bar and control are not in the same GUI child * Added 4th example on how to use scrollbar with ListView over a background generated by GDI+ Version 2025-03-28 * Added support to auto-size label and button controls (by passing -1 for width and/or height) * Removed the requirement to pass handle of the GUI to _RGUI_RoundGroup * Added 3rd example on how to use scrollbar with RichEdit Version 2025-03-21 * Added support of round corner scrollbar * Added a 2nd example on how to use scrollbar with ListBox Version 2025-03-15 * Basic framework for the UDF Here an example of what could be done with the UDF : If you feel there should be new controls, I will consider adding them to the UDF. RoundGUI.zip1 point
-
I guess the first code should have been indented, but the tabs were removed? It is indeed the case that as default the code is properly indented and the inline comments start position is kept where possible. This is considered a feature that the inline comments stay aligned when the code indentation is changed. e.g. Local $aVar ; Test Local $aVar ; Test Local $aVar ; Test Local $aVar ; Test will result in Local $aVar ; Test Local $aVar ; Test Local $aVar ; Test Local $aVar ; Test1 point
-
Thanks for the time to go through my questions: Any shortcut works for me that makes sense, it is just for convenience as that is a heavy-used function by many I guess. Is there a way to configure this, or is this hardcoded in extension? I know it is the case in the standard supplied SciTE theme, but that was never my choice, as I prefer to give them a different look to easily distinguish them. A simple example is the indentation of the next line after a single line if: If $a = 1 then $a = 2 As I mentioned somewhere: I cloned the repo and made changes to Add Tidy, Au3stripper and Add-Includes functions to the list of options with a shortcut, as that would make them available to me and also show the output properly. Also made changes to Tidy,au3Stripper and au3check to avoid the need to use AutoIt3Wrapper to run them when containing mixed encoding or special characters in their filenames. I am pretty happy with the way things work at the moment. Thanks for that!1 point
-
I did originally use the Damien.autoit extension in vscode myself, and found issues I wanted to fix via pull requests. But after looking at the usage of regular expression and the reliance on AutoIt executables (nothing wrong with that as such, I mean it works), I wanted to try a entirely different approach. I started implementing my own extension after I experienced inconsistent behavior from the Damien.autoit version. For example: sometimes the suggestions did not work as expected, with no error messages. I was also working on a AutoIt parser in Pegjs grammer syntax (now Peggyjs) and saw it as the perfect opportunity for testing it's capabilities. My extension does not depend on any files from AutoIt installations, and therefore works in web (test here: https://vscode.dev/) and on on non windows environments, like Linux (I use Ubuntu from time to time). The Damien.autoit extension uses regular expressions to parse the file (for completions and such), where I use my parser as mentioned before. My extension also runs via LSP, Damien.autoit does not. There are also small differences like incorrect syntax highlighting for nested comments on the Damien.autoit extension (this issue can be fixed by looking at my tmLanguage implementation). Try this between the two extensions as an example: #cs #cs #cs #ce #ce #ce $a To be clear I am not saying my extension is superior. My extension is currently slower at parsing scripts, the parser i am using/developing is in active development and incomplete (with code blocks are currently not implemented) and since I don't use AutoIt executables for error checking there is currenly little to no error checking, besides the syntax check (and recently error messages for include statements that fail to resolve). This also means that to run AutoIt scripts with my extension, a secondary extension is needed (https://marketplace.visualstudio.com/items?itemName=genius257.autoit3-debug) My extension is also made to move towards what I want for the AutoIt development experience. This means support for a new, more standardized doc-block way of documenting function and variable declarations. The standard UDF documentation format is supported for backwards compatibility, but is currently not great, and will only ever be implemented by me to "good enough" standard. I am unsure what you mean by "azure" dependencies? The only azure i am using that i know of, is for auto deploying to vscode extension marketplace and Open VSX Registry automatically, when a new release is created on GitHub, via GitHub actions?1 point
-
That sounds a lot like my first steps with VSCode. I had to "force" myself to use it and nowadays I love AutoIt @ VSCode. The single biggest improvement for my daily work is the problems tab in VSCode. Getting directly feedback where I have an syntax error or whatnot is so amazing. Having someone like Jos supporting the VSCode extension would be a huge benefits. Judging by all the fantastic work he has done over the last decade with SCITe that could really help to improve the extenstion even further.1 point
-
Mouse wheel up and down as a hotkey
pixelsearch reacted to Authenticity for a topic
#include <WinAPI.au3> #include <WindowsConstants.au3> HotKeySet('{ESC}', '_Close') If Not IsDeclared('WM_MOUSEWHEEL') Then Global Const $WM_MOUSEWHEEL = 0x020A Global Const $tagMSLLHOOKSTRUCT = _ $tagPOINT & _ ';uint mouseData;' & _ 'uint flags;' & _ 'uint time;' & _ 'ulong_ptr dwExtraInfo;' Global $hFunc, $pFunc Global $hHook, $hMod Global $iCounter = 0 ; The variable in question. $hFunc = DllCallbackRegister('_MouseProc', 'lresult', 'int;int;int') $pFunc = DllCallbackGetPtr($hFunc) $hMod = _WinAPI_GetModuleHandle(0) $hHook = _WinAPI_SetWindowsHookEx($WH_MOUSE_LL, $pFunc, $hMod) While 1 Sleep(20) WEnd Func _MouseProc($iCode, $iwParam, $ilParam) Local $tMSLL, $iDelta If $iCode < 0 Then Return _WinAPI_CallNextHookEx($hHook, $iCode, $iwParam, $ilParam) $tMSLL = DllStructCreate($tagMSLLHOOKSTRUCT, $ilParam) If $iwParam = $WM_MOUSEWHEEL Then $iDelta = BitShift(DllStructGetData($tMSLL, 'mouseData'), 16) If $iDelta < 0 Then $iCounter -= 1 Else $iCounter += 1 EndIf ConsoleWrite($iCounter & @LF) EndIf Return _WinAPI_CallNextHookEx($hHook, $iCode, $iwParam, $ilParam) EndFunc Func _Close() _WinAPI_UnhookWindowsHookEx($hHook) DllCallbackFree($hHook) Exit EndFunc1 point