After testing various schemes (themes) in the settings for the newest SciTE editor (v. 4.1.2), I discovered that I wasn't able to fully reset it back to its original colors (See snapshot). Specifically, after applying the "__SciTE4AutoIt3_Dark ==> Dark SciTE4AutoIt3 Color scheme."
The problem: The Line number column and the Output console do not reset back to their original colors.
The Solution: Delete or edit the user config file. You can safely delete the config file because it will completely regenerate on SciTE restart- with it's factory (out of the box) color scheme.
I also wrote a small script that will do it programatically: How to reset SciTE scheme in version 4.1.2.
I'm using SciTE v188.8.131.52 I think, and I find this very annoying (GIF):
I've searched around but found nothing that helped including this:
So the problem obviously is that when I go to a new line after "EndIf", it removes the tab which I don't want to happen.
Is there any fix?
I've tried to change some configs such as
Line 183: # Indentation Line 185: indent.size=0 Line 187: #indent.auto=0 Line 188: indent.automatic=0 Line 189: indent.opening=0 Line 190: indent.closing=0 Line 191: #tab.indents=0 Line 192: #backspace.unindents=0 strip.trailing.spaces=0 But nothing seems to get rid of this.
>"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /ShowGui /prod /in "C:\AutoIt\pegasus\wings.au3" +>08:02:43 Starting AutoIt3Wrapper v.19.102.1901.0 SciTE v.184.108.40.206 Keyboard:00000409 OS:WIN_10/ CPU:X64 OS:X64 Environment(Language:0409) CodePage:0 utf8.auto.check:4 +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\x\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\x\AppData\Local\AutoIt v3\SciTE -> No changes made.. >Running Au3Stripper (19.102.1901.0) from:C:\Program Files (x86)\AutoIt3\SciTE\Au3Stripper cmdline: -### StripOnly/StripFunc Error: Found ObjEvent() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by this Function. >### current Func: _1p2 c:\program files (x86)\autoit3\include\ie.au3(2572,1): Warning for line:$__g_oIEErrorHandler = ObjEvent("AutoIt.Error", $__g_sIEUserErrorHandler) -### StripOnly/StripFunc Error: Found Call() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by this Function. >### current Func: _1te c:\program files (x86)\autoit3\include\sqlite.au3(609,1): Warning for line:$iCbRval = Call($sCallBack, $aDataRow) -### StripOnly/StripFunc Error: Found Call() statement using unsolvable Func, which will/could lead to removal of Funcs that are used by this Function. >### current Func: _1te c:\program files (x86)\autoit3\include\sqlite.au3(625,1): Warning for line:$iCbRval = Call($sCallBack, $aDataRow) My issue is specifically with the Call($sCallBack, xyz) part. I declared a Global with that name and thought I had it sorted. Previous releases appear content with that solution... Current I get this.
Question are these:
Should there be a default $sCallBack define in the provided include? What exactly should the "user defined" Callback function look like? And where is it defined? Sorry I am lost.
There is an issue, while using the function SendSciTE_Command by @Jos, if more than one instance of SciTE is open. Each instance of SciTE has its own DirectorExtension window, so we must choose the right one.
Here is a way to solve this:
; by BugFix Func _GetHwndDirectorExtension() Local $hActive = WinGetHandle('[ACTIVE]') Local $PIDActive = WinGetProcess($hActive) Local $aExtension = WinList("DirectorExtension") Local $PIDExt For $i = 1 To $aExtension $PIDExt = WinGetProcess($aExtension[$i]) If $PIDExt = $PIDActive Then Return $aExtension[$i] Next EndFunc ; by Jos Func SendSciTE_Command($_sCmd) Local $WM_COPYDATA = 74 Local $WM_GETTEXT = 0x000D Local $WM_GETTEXTLENGTH = 0x000E224 Local Const $SCI_GETLINE = 2153 ;~ Local $Scite_hwnd = WinGetHandle("DirectorExtension") ; Get SciTE DIrector Handle Local $Scite_hwnd = _GetHwndDirectorExtension() ; Get SciTE DIrector Handle Local $My_Hwnd = GUICreate("AutoIt3-SciTE interface") ; Create GUI to receive SciTE info Local $My_Dec_Hwnd = Dec(StringTrimLeft($My_Hwnd, 2)) ; Convert my Gui Handle to decimal $_sCmd = ":" & $My_Dec_Hwnd & ":" & $_sCmd ; Add dec my gui handle to commandline to tell SciTE where to send the return info Local $CmdStruct = DllStructCreate('Char[' & StringLen($_sCmd) + 1 & ']') DllStructSetData($CmdStruct, 1, $_sCmd) Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr') DllStructSetData($COPYDATA, 1, 1) DllStructSetData($COPYDATA, 2, StringLen($_sCmd) + 1) DllStructSetData($COPYDATA, 3, DllStructGetPtr($CmdStruct)) DllCall('User32.dll', 'None', 'SendMessage', 'HWnd', $Scite_hwnd, _ 'Int', $WM_COPYDATA, 'HWnd', $My_Hwnd, _ 'Ptr', DllStructGetPtr($COPYDATA)) GUIDelete($My_Hwnd) EndFunc ;==>SendSciTE_Command Func MY_WM_COPYDATA($hWnd, $msg, $wParam, $lParam) Local $COPYDATA = DllStructCreate('Ptr;DWord;Ptr', $lParam) Local $SciTECmdLen = DllStructGetData($COPYDATA, 2) Local $CmdStruct = DllStructCreate('Char[' & $SciTECmdLen+1 & ']',DllStructGetData($COPYDATA, 3)) ;~ Local $CmdStruct = DllStructCreate('Char', DllStructGetData($COPYDATA, 3)) $SciTECmd = StringLeft(DllStructGetData($CmdStruct, 1), $SciTECmdLen) EndFunc ;==>MY_WM_COPYDATA
I've noticed in several YouTube tutorials about AutoIt that every time the instructor types EndFunc a comment "<==(function name)" is automatically added. I understand that Tidy will do this after the fact but what I'm writing about happens in real time. Where's the setting for this? Thank you.