Что нового

Альтернатива среде разработки SciTE

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Для адекватной раскраски замени в файле langs.xml блок между
Код:
<Language name="autoit"...>
...
</Language>
на вот эту au3.xml (имеется в виду скопируй из этого файла и вставь в файл langs.xml)
 
Автор
V

VitAl2013

Гость
В этом файле показаны только какие слова к какому типу относятся, а сама расцветка где? Она отлична у меня сейчас от SciTE-вской. Вот:
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
VitAl2013
Предупреждение
Для больших картинок пользуйся функцией превью. Твой пост поправил.



Добавлено:
Сообщение автоматически объединено:

Сама раскраска в
Опции - определение стилей - Язык: autoit - в WYSIWYG выбираешь все нужные цвета
 
Автор
V

VitAl2013

Гость
а какие они эти цвета? есть список какой-то может?
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
VitAl2013 [?]
а какие они эти цвета? есть список какой-то может?
не понял. в смысле какие? какие нарисованы такие и есть.
 
Автор
V

VitAl2013

Гость
Интересуют параметры RGB в граммах и жирнонаклонность. Если шрифты различны то имена шрифтов и их размер.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
VitAl2013
Ты бы потыкал чтоли по разным менюшкам :-X
 
Автор
V

VitAl2013

Гость
Я потыкал давно. Эта картинка менюшек NPP (не SciTE) куда и следует вписать (то есть то что там есть неверно) эти цвета, а вот какие цвета это вопрос. В SciTE таких меню нет (я их не могу оттуда выцарапать), либо ткните носом где оно.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
а я перепутал, думал ты про цвета в np++
в scite все подобные вещи содержатся в au3.properties - ключевые слова начинающиеся на style.au3
а вообще, я просто в np++ меня цвета на глаз. что по душе так и ставил. можешь так же ;)
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Kaster
Спасибо за справку.
Автоподстановка у меня заработала (но не все команды), вот не пойму, зачем в langs.xml копировать этот текст из au3.xml, команды ведь подсвечиваются. Как я понял в этой части указаны типы команд, на которые ссылается схема расцветки. Пробовал добавить ещё один тип, не получилось, в SciTE.exe на один тип больше.
После изменения langs.xml ничего не изменилось, всё осталось по прежнему. Остался заметный недостаток в NP++, при двойном клике на переменных не выделяется символ $ и @, а при двойном клике на имени файла не выделяется расширение. В SciTE недостаток в отличии от NP++ - нет подцветки одинаковых слов.

Нигде не могу найти AutoIt3Help.exe, чтоб сделать просмотр в справке выделенного в редакторе слова.

Проверил autoit.xml, там нет команды EndIf, хотя в au3.api есть. Значит криво конвертируется.

Вот упростил autoit.xml, теперь работают основные команды справки:
исправлено, добавил конструкции, убрал повторы.
Код:
<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
<AutoComplete language="AutoIt">
<KeyWord name=""></KeyWord>
<KeyWord name="@CRLF"></KeyWord>
<KeyWord name="'&@CRLF&'"></KeyWord>
<KeyWord name="@ScriptDir"></KeyWord>
<KeyWord name="#NoTrayIcon"></KeyWord>
<KeyWord name="Abs"></KeyWord>
<KeyWord name="ACos"></KeyWord>
<KeyWord name="AdlibRegister"></KeyWord>
<KeyWord name="AdlibUnRegister"></KeyWord>
<KeyWord name="And"></KeyWord>
<KeyWord name="Asc"></KeyWord>
<KeyWord name="AscW"></KeyWord>
<KeyWord name="ASin"></KeyWord>
<KeyWord name="Assign"></KeyWord>
<KeyWord name="ATan"></KeyWord>
<KeyWord name="AutoItSetOption"></KeyWord>
<KeyWord name="AutoItWinGetTitle"></KeyWord>
<KeyWord name="AutoItWinSetTitle"></KeyWord>
<KeyWord name="Beep(500, 1000)"></KeyWord>
<KeyWord name="Binary"></KeyWord>
<KeyWord name="BinaryLen"></KeyWord>
<KeyWord name="BinaryMid"></KeyWord>
<KeyWord name="BinaryToString"></KeyWord>
<KeyWord name="BitAND"></KeyWord>
<KeyWord name="BitNOT"></KeyWord>
<KeyWord name="BitOR"></KeyWord>
<KeyWord name="BitRotate"></KeyWord>
<KeyWord name="BitShift"></KeyWord>
<KeyWord name="BitXOR"></KeyWord>
<KeyWord name="BlockInput(0)"></KeyWord>
<KeyWord name="Break"></KeyWord>
<KeyWord name="ByRef"></KeyWord>
<KeyWord name="Call"></KeyWord>
<KeyWord name="Case"></KeyWord>
<KeyWord name="CDTray"></KeyWord>
<KeyWord name="Ceiling"></KeyWord>
<KeyWord name="Chr"></KeyWord>
<KeyWord name="ChrW"></KeyWord>
<KeyWord name="ClipGet()"></KeyWord>
<KeyWord name="ClipPut('text')"></KeyWord>
<KeyWord name="ConsoleRead"></KeyWord>
<KeyWord name="ConsoleWrite"></KeyWord>
<KeyWord name="ConsoleWriteError"></KeyWord>
<KeyWord name="Const"></KeyWord>
<KeyWord name="ContinueCase"></KeyWord>
<KeyWord name="ContinueLoop"></KeyWord>
<KeyWord name="ControlClick"></KeyWord>
<KeyWord name="ControlCommand"></KeyWord>
<KeyWord name="ControlDisable"></KeyWord>
<KeyWord name="ControlEnable"></KeyWord>
<KeyWord name="ControlFocus"></KeyWord>
<KeyWord name="ControlGetFocus"></KeyWord>
<KeyWord name="ControlGetHandle"></KeyWord>
<KeyWord name="ControlGetPos"></KeyWord>
<KeyWord name="ControlGetText"></KeyWord>
<KeyWord name="ControlHide"></KeyWord>
<KeyWord name="ControlListView"></KeyWord>
<KeyWord name="ControlMove"></KeyWord>
<KeyWord name="ControlSend"></KeyWord>
<KeyWord name="ControlSetText"></KeyWord>
<KeyWord name="ControlShow"></KeyWord>
<KeyWord name="ControlTreeView"></KeyWord>
<KeyWord name="Cos"></KeyWord>
<KeyWord name="Dec('FF0000')"></KeyWord>
<KeyWord name="Default"></KeyWord>
<KeyWord name="Dim"></KeyWord>
<KeyWord name="DirCopy"></KeyWord>
<KeyWord name="DirCreate"></KeyWord>
<KeyWord name="DirGetSize('C:\Temp')"></KeyWord>
<KeyWord name="DirMove"></KeyWord>
<KeyWord name="DirRemove"></KeyWord>
<KeyWord name="DllCall"></KeyWord>
<KeyWord name="DllCallbackFree"></KeyWord>
<KeyWord name="DllCallbackGetPtr"></KeyWord>
<KeyWord name="DllCallbackRegister"></KeyWord>
<KeyWord name="DllClose"></KeyWord>
<KeyWord name="DllOpen"></KeyWord>
<KeyWord name="DllStructCreate"></KeyWord>
<KeyWord name="DllStructGetData"></KeyWord>
<KeyWord name="DllStructGetPtr"></KeyWord>
<KeyWord name="DllStructGetSize"></KeyWord>
<KeyWord name="DllStructSetData"></KeyWord>
<KeyWord name="Do"></KeyWord>
<KeyWord name="DriveGetDrive"></KeyWord>
<KeyWord name="DriveGetFileSystem"></KeyWord>
<KeyWord name="DriveGetLabel"></KeyWord>
<KeyWord name="DriveGetSerial"></KeyWord>
<KeyWord name="DriveGetType"></KeyWord>
<KeyWord name="DriveMapAdd"></KeyWord>
<KeyWord name="DriveMapDel"></KeyWord>
<KeyWord name="DriveMapGet"></KeyWord>
<KeyWord name="DriveSetLabel"></KeyWord>
<KeyWord name="DriveSpaceFree"></KeyWord>
<KeyWord name="DriveSpaceTotal"></KeyWord>
<KeyWord name="DriveStatus"></KeyWord>
<KeyWord name="Else"></KeyWord>
<KeyWord name="ElseIf"></KeyWord>
<KeyWord name="EndFunc"></KeyWord>
<KeyWord name="EndIf"></KeyWord>
<KeyWord name="EndSelect"></KeyWord>
<KeyWord name="EndSwitch"></KeyWord>
<KeyWord name="EndWith"></KeyWord>
<KeyWord name="Enum"></KeyWord>
<KeyWord name="EnvGet"></KeyWord>
<KeyWord name="EnvSet"></KeyWord>
<KeyWord name="EnvUpdate"></KeyWord>
<KeyWord name="Error"></KeyWord>
<KeyWord name="Eval('var' & $i)"></KeyWord>
<KeyWord name="Execute"></KeyWord>
<KeyWord name="Exit"></KeyWord>
<KeyWord name="ExitLoop"></KeyWord>
<KeyWord name="Exp"></KeyWord>
<KeyWord name="False"></KeyWord>
<KeyWord name="FileChangeDir"></KeyWord>
<KeyWord name="FileClose($file)"></KeyWord>
<KeyWord name="FileCopy('C:\boot.txt', 'D:\Temp\', 9)"></KeyWord>
<KeyWord name="FileCreateNTFSLink"></KeyWord>
<KeyWord name="FileCreateShortcut"></KeyWord>
<KeyWord name="FileDelete"></KeyWord>
<KeyWord name="FileExists"></KeyWord>
<KeyWord name="FileFindFirstFile"></KeyWord>
<KeyWord name="FileFindNextFile"></KeyWord>
<KeyWord name="FileFlush"></KeyWord>
<KeyWord name="FileGetAttrib"></KeyWord>
<KeyWord name="FileGetLongName"></KeyWord>
<KeyWord name="FileGetPos"></KeyWord>
<KeyWord name="FileGetShortcut"></KeyWord>
<KeyWord name="FileGetShortName"></KeyWord>
<KeyWord name="FileGetSize($Path)"></KeyWord>
<KeyWord name="FileGetTime"></KeyWord>
<KeyWord name="FileGetVersion"></KeyWord>
<KeyWord name="FileInstall"></KeyWord>
<KeyWord name="FileMove"></KeyWord>
<KeyWord name="FileOpen"></KeyWord>
<KeyWord name="FileOpenDialog"></KeyWord>
<KeyWord name="FileRead"></KeyWord>
<KeyWord name="FileReadLine"></KeyWord>
<KeyWord name="FileRecycle"></KeyWord>
<KeyWord name="FileRecycleEmpty"></KeyWord>
<KeyWord name="FileSaveDialog"></KeyWord>
<KeyWord name="FileSelectFolder"></KeyWord>
<KeyWord name="FileSetAttrib($Path', '-RASHT')"></KeyWord>
<KeyWord name="FileSetPos"></KeyWord>
<KeyWord name="FileSetTime"></KeyWord>
<KeyWord name="FileWrite"></KeyWord>
<KeyWord name="FileWriteLine"></KeyWord>
<KeyWord name="Floor"></KeyWord>
<KeyWord name="For $i = 1 to 9"></KeyWord>
<KeyWord name="FtpSetProxy"></KeyWord>
<KeyWord name="Func _()"></KeyWord>
<KeyWord name="Global"></KeyWord>
<KeyWord name="GUICreate"></KeyWord>
<KeyWord name="GUICtrlCreateAvi"></KeyWord>
<KeyWord name="GUICtrlCreateButton"></KeyWord>
<KeyWord name="GUICtrlCreateCheckbox"></KeyWord>
<KeyWord name="GUICtrlCreateCombo"></KeyWord>
<KeyWord name="GUICtrlCreateContextMenu"></KeyWord>
<KeyWord name="GUICtrlCreateDate"></KeyWord>
<KeyWord name="GUICtrlCreateDummy"></KeyWord>
<KeyWord name="GUICtrlCreateEdit"></KeyWord>
<KeyWord name="GUICtrlCreateGraphic"></KeyWord>
<KeyWord name="GUICtrlCreateGroup"></KeyWord>
<KeyWord name="GUICtrlCreateIcon"></KeyWord>
<KeyWord name="GUICtrlCreateInput"></KeyWord>
<KeyWord name="GUICtrlCreateLabel"></KeyWord>
<KeyWord name="GUICtrlCreateList"></KeyWord>
<KeyWord name="GUICtrlCreateListView"></KeyWord>
<KeyWord name="GUICtrlCreateListViewItem"></KeyWord>
<KeyWord name="GUICtrlCreateMenu"></KeyWord>
<KeyWord name="GUICtrlCreateMenuItem"></KeyWord>
<KeyWord name="GUICtrlCreateMonthCal"></KeyWord>
<KeyWord name="GUICtrlCreateObj"></KeyWord>
<KeyWord name="GUICtrlCreatePic"></KeyWord>
<KeyWord name="GUICtrlCreateProgress"></KeyWord>
<KeyWord name="GUICtrlCreateRadio"></KeyWord>
<KeyWord name="GUICtrlCreateSlider"></KeyWord>
<KeyWord name="GUICtrlCreateTab"></KeyWord>
<KeyWord name="GUICtrlCreateTabItem"></KeyWord>
<KeyWord name="GUICtrlCreateTreeView"></KeyWord>
<KeyWord name="GUICtrlCreateTreeViewItem"></KeyWord>
<KeyWord name="GUICtrlCreateUpdown"></KeyWord>
<KeyWord name="GUICtrlDelete"></KeyWord>
<KeyWord name="GUICtrlGetHandle"></KeyWord>
<KeyWord name="GUICtrlGetState"></KeyWord>
<KeyWord name="GUICtrlRead"></KeyWord>
<KeyWord name="GUICtrlRecvMsg"></KeyWord>
<KeyWord name="GUICtrlRegisterListViewSort"></KeyWord>
<KeyWord name="GUICtrlSendMsg"></KeyWord>
<KeyWord name="GUICtrlSendToDummy"></KeyWord>
<KeyWord name="GUICtrlSetBkColor"></KeyWord>
<KeyWord name="GUICtrlSetColor"></KeyWord>
<KeyWord name="GUICtrlSetCursor"></KeyWord>
<KeyWord name="GUICtrlSetData"></KeyWord>
<KeyWord name="GUICtrlSetDefBkColor"></KeyWord>
<KeyWord name="GUICtrlSetDefColor"></KeyWord>
<KeyWord name="GUICtrlSetFont"></KeyWord>
<KeyWord name="GUICtrlSetGraphic"></KeyWord>
<KeyWord name="GUICtrlSetImage"></KeyWord>
<KeyWord name="GUICtrlSetLimit"></KeyWord>
<KeyWord name="GUICtrlSetOnEvent"></KeyWord>
<KeyWord name="GUICtrlSetPos"></KeyWord>
<KeyWord name="GUICtrlSetResizing"></KeyWord>
<KeyWord name="GUICtrlSetState"></KeyWord>
<KeyWord name="GUICtrlSetStyle"></KeyWord>
<KeyWord name="GUICtrlSetTip(-1,'text')"></KeyWord>
<KeyWord name="GUIDelete"></KeyWord>
<KeyWord name="GUIGetCursorInfo"></KeyWord>
<KeyWord name="GUIGetMsg"></KeyWord>
<KeyWord name="GUIGetStyle"></KeyWord>
<KeyWord name="GUIRegisterMsg"></KeyWord>
<KeyWord name="GUISetAccelerators"></KeyWord>
<KeyWord name="GUISetBkColor"></KeyWord>
<KeyWord name="GUISetCoord"></KeyWord>
<KeyWord name="GUISetCursor"></KeyWord>
<KeyWord name="GUISetFont"></KeyWord>
<KeyWord name="GUISetHelp"></KeyWord>
<KeyWord name="GUISetIcon"></KeyWord>
<KeyWord name="GUISetOnEvent"></KeyWord>
<KeyWord name="GUISetState"></KeyWord>
<KeyWord name="GUISetStyle"></KeyWord>
<KeyWord name="GUIStartGroup"></KeyWord>
<KeyWord name="GUISwitch"></KeyWord>
<KeyWord name="Hex(Int('256345'),8)"></KeyWord>
<KeyWord name="HotKeySet('{ESC}', 'output')"></KeyWord>
<KeyWord name="HttpSetProxy"></KeyWord>
<KeyWord name="HttpSetUserAgent"></KeyWord>
<KeyWord name="HWnd"></KeyWord>
<KeyWord name="If $var = 0 Then"></KeyWord>
<KeyWord name="In"></KeyWord>
<KeyWord name="InetClose"></KeyWord>
<KeyWord name="InetGet"></KeyWord>
<KeyWord name="InetGetInfo"></KeyWord>
<KeyWord name="InetGetSize"></KeyWord>
<KeyWord name="InetRead"></KeyWord>
<KeyWord name="IniDelete"></KeyWord>
<KeyWord name="IniRead('C:\myfile.ini', 'section', 'key', 'NotFound')"></KeyWord>
<KeyWord name="IniReadSection"></KeyWord>
<KeyWord name="IniReadSectionNames"></KeyWord>
<KeyWord name="IniRenameSection"></KeyWord>
<KeyWord name="IniWrite('C:\myfile.ini', 'section', 'key', 'new_value')"></KeyWord>
<KeyWord name="IniWriteSection"></KeyWord>
<KeyWord name="InputBox"></KeyWord>
<KeyWord name="Int"></KeyWord>
<KeyWord name="IsAdmin"></KeyWord>
<KeyWord name="IsArray"></KeyWord>
<KeyWord name="IsBinary"></KeyWord>
<KeyWord name="IsBool"></KeyWord>
<KeyWord name="IsDeclared"></KeyWord>
<KeyWord name="IsDllStruct"></KeyWord>
<KeyWord name="IsFloat"></KeyWord>
<KeyWord name="IsHWnd"></KeyWord>
<KeyWord name="IsInt"></KeyWord>
<KeyWord name="IsKeyword"></KeyWord>
<KeyWord name="IsNumber"></KeyWord>
<KeyWord name="IsObj"></KeyWord>
<KeyWord name="IsPtr"></KeyWord>
<KeyWord name="IsString"></KeyWord>
<KeyWord name="Local"></KeyWord>
<KeyWord name="Log"></KeyWord>
<KeyWord name="MemGetStats"></KeyWord>
<KeyWord name="Mod"></KeyWord>
<KeyWord name="MouseClick"></KeyWord>
<KeyWord name="MouseClickDrag"></KeyWord>
<KeyWord name="MouseDown"></KeyWord>
<KeyWord name="MouseGetCursor"></KeyWord>
<KeyWord name="MouseGetPos"></KeyWord>
<KeyWord name="MouseMove"></KeyWord>
<KeyWord name="MouseUp"></KeyWord>
<KeyWord name="MouseWheel"></KeyWord>
<KeyWord name="MsgBox(0, 'Message', $text)"></KeyWord>
<KeyWord name="Next"></KeyWord>
<KeyWord name="Not"></KeyWord>
<KeyWord name="Number"></KeyWord>
<KeyWord name="ObjCreate"></KeyWord>
<KeyWord name="ObjEvent"></KeyWord>
<KeyWord name="ObjGet"></KeyWord>
<KeyWord name="ObjName"></KeyWord>
<KeyWord name="OnAutoItExitRegister"></KeyWord>
<KeyWord name="OnAutoItExitUnregister"></KeyWord>
<KeyWord name="Opt"></KeyWord>
<KeyWord name="Or"></KeyWord>
<KeyWord name="Ping"></KeyWord>
<KeyWord name="PixelChecksum"></KeyWord>
<KeyWord name="PixelGetColor"></KeyWord>
<KeyWord name="PixelSearch"></KeyWord>
<KeyWord name="PluginClose"></KeyWord>
<KeyWord name="PluginOpen"></KeyWord>
<KeyWord name="ProcessClose('calc.exe')"></KeyWord>
<KeyWord name="ProcessExists('calc.exe')"></KeyWord>
<KeyWord name="ProcessGetStats"></KeyWord>
<KeyWord name="ProcessList"></KeyWord>
<KeyWord name="ProcessSetPriority"></KeyWord>
<KeyWord name="ProcessWait"></KeyWord>
<KeyWord name="ProcessWaitClose"></KeyWord>
<KeyWord name="ProgressOff()"></KeyWord>
<KeyWord name="ProgressOn('title', 'text bold', 'text',-1,-1,18)"></KeyWord>
<KeyWord name="ProgressSet(100 , 'text')"></KeyWord>
<KeyWord name="Ptr"></KeyWord>
<KeyWord name="Random(1000)"></KeyWord>
<KeyWord name="ReDim"></KeyWord>
<KeyWord name="RegDelete('HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.wav','ProgID')"></KeyWord>
<KeyWord name="RegEnumKey('HKLM\SOFTWARE', 1)"></KeyWord>
<KeyWord name="RegEnumVal('HKLM\SOFTWARE\AutoIt v3\Autoit', 1)"></KeyWord>
<KeyWord name="RegRead('HKCR\avifile\shell\play', '')"></KeyWord>
<KeyWord name="RegWrite('HKCR\avifile','','REG_SZ','видео-файл')"></KeyWord>
<KeyWord name="Return"></KeyWord>
<KeyWord name="Round(3.1415, 2)"></KeyWord>
<KeyWord name="Run('Explorer.exe /select,C:\Boot.ini')"></KeyWord>
<KeyWord name="RunAs"></KeyWord>
<KeyWord name="RunAsWait"></KeyWord>
<KeyWord name="RunWait(@ComSpec & ' /c reg.exe -?>C:\text.txt', '', @SW_HIDE)"></KeyWord>
<KeyWord name="Select"></KeyWord>
<KeyWord name="Send('^+{TAB}')"></KeyWord>
<KeyWord name="SendKeepActive"></KeyWord>
<KeyWord name="SetError"></KeyWord>
<KeyWord name="SetExtended"></KeyWord>
<KeyWord name="ShellExecute (@ScriptDir&'\imagex.exe','/info '&@ScriptDir&'boot.wim','','', @SW_HIDE )"></KeyWord>
<KeyWord name="ShellExecuteWait(@ScriptDir&'\subinacl.exe','/subkeyreg HKLM\SOFTWARE\7-Zip /grant=Admin=F','','', @SW_HIDE )"></KeyWord>
<KeyWord name="Shutdown(0)"></KeyWord>
<KeyWord name="Sin"></KeyWord>
<KeyWord name="Sleep(10)"></KeyWord>
<KeyWord name="SoundPlay('C:\Windows\media\Windows Startup.wav')"></KeyWord>
<KeyWord name="SoundSetWaveVolume"></KeyWord>
<KeyWord name="SplashImageOn"></KeyWord>
<KeyWord name="SplashOff"></KeyWord>
<KeyWord name="SplashTextOn"></KeyWord>
<KeyWord name="Sqrt"></KeyWord>
<KeyWord name="SRandom"></KeyWord>
<KeyWord name="Static"></KeyWord>
<KeyWord name="StatusbarGetText"></KeyWord>
<KeyWord name="StderrRead"></KeyWord>
<KeyWord name="StdinWrite"></KeyWord>
<KeyWord name="StdioClose"></KeyWord>
<KeyWord name="StdoutRead"></KeyWord>
<KeyWord name="Step"></KeyWord>
<KeyWord name="String"></KeyWord>
<KeyWord name="StringAddCR"></KeyWord>
<KeyWord name="StringCompare"></KeyWord>
<KeyWord name="StringFormat"></KeyWord>
<KeyWord name="StringFromASCIIArray"></KeyWord>
<KeyWord name="StringInStr"></KeyWord>
<KeyWord name="StringIsAlNum"></KeyWord>
<KeyWord name="StringIsAlpha"></KeyWord>
<KeyWord name="StringIsASCII"></KeyWord>
<KeyWord name="StringIsDigit"></KeyWord>
<KeyWord name="StringIsFloat"></KeyWord>
<KeyWord name="StringIsInt"></KeyWord>
<KeyWord name="StringIsLower"></KeyWord>
<KeyWord name="StringIsSpace"></KeyWord>
<KeyWord name="StringIsUpper"></KeyWord>
<KeyWord name="StringIsXDigit"></KeyWord>
<KeyWord name="StringLeft"></KeyWord>
<KeyWord name="StringLen"></KeyWord>
<KeyWord name="StringLower"></KeyWord>
<KeyWord name="StringMid"></KeyWord>
<KeyWord name="StringRegExp($Path,'(^.*)\\(.*)$',3)"></KeyWord>
<KeyWord name="StringRegExpReplace($text,'\n\r?\n\r?','')"></KeyWord>
<KeyWord name="StringReplace($text, ' ', '-')"></KeyWord>
<KeyWord name="StringRight"></KeyWord>
<KeyWord name="StringSplit($text, '|')"></KeyWord>
<KeyWord name="StringStripCR"></KeyWord>
<KeyWord name="StringStripWS"></KeyWord>
<KeyWord name="StringToASCIIArray"></KeyWord>
<KeyWord name="StringToBinary"></KeyWord>
<KeyWord name="StringTrimLeft"></KeyWord>
<KeyWord name="StringTrimRight"></KeyWord>
<KeyWord name="StringUpper"></KeyWord>
<KeyWord name="Switch"></KeyWord>
<KeyWord name="Tan"></KeyWord>
<KeyWord name="TCPAccept"></KeyWord>
<KeyWord name="TCPCloseSocket"></KeyWord>
<KeyWord name="TCPConnect"></KeyWord>
<KeyWord name="TCPListen"></KeyWord>
<KeyWord name="TCPNameToIP"></KeyWord>
<KeyWord name="TCPRecv"></KeyWord>
<KeyWord name="TCPSend"></KeyWord>
<KeyWord name="TCPShutdown"></KeyWord>
<KeyWord name="TCPStartup"></KeyWord>
<KeyWord name="Then"></KeyWord>
<KeyWord name="TimerDiff"></KeyWord>
<KeyWord name="TimerInit"></KeyWord>
<KeyWord name="To"></KeyWord>
<KeyWord name="ToolTip"></KeyWord>
<KeyWord name="TrayCreateItem"></KeyWord>
<KeyWord name="TrayCreateMenu"></KeyWord>
<KeyWord name="TrayGetMsg"></KeyWord>
<KeyWord name="TrayItemDelete"></KeyWord>
<KeyWord name="TrayItemGetHandle"></KeyWord>
<KeyWord name="TrayItemGetState"></KeyWord>
<KeyWord name="TrayItemGetText"></KeyWord>
<KeyWord name="TrayItemSetOnEvent"></KeyWord>
<KeyWord name="TrayItemSetState"></KeyWord>
<KeyWord name="TrayItemSetText"></KeyWord>
<KeyWord name="TraySetClick"></KeyWord>
<KeyWord name="TraySetIcon"></KeyWord>
<KeyWord name="TraySetOnEvent"></KeyWord>
<KeyWord name="TraySetPauseIcon"></KeyWord>
<KeyWord name="TraySetState"></KeyWord>
<KeyWord name="TraySetToolTip"></KeyWord>
<KeyWord name="TrayTip"></KeyWord>
<KeyWord name="True"></KeyWord>
<KeyWord name="UBound"></KeyWord>
<KeyWord name="UDPBind"></KeyWord>
<KeyWord name="UDPCloseSocket"></KeyWord>
<KeyWord name="UDPOpen"></KeyWord>
<KeyWord name="UDPRecv"></KeyWord>
<KeyWord name="UDPSend"></KeyWord>
<KeyWord name="UDPShutdown"></KeyWord>
<KeyWord name="UDPStartup"></KeyWord>
<KeyWord name="Until"></KeyWord>
<KeyWord name="VarGetType"></KeyWord>
<KeyWord name="WEnd"></KeyWord>
<KeyWord name="While"></KeyWord>
<KeyWord name="WinActivate"></KeyWord>
<KeyWord name="WinActive"></KeyWord>
<KeyWord name="WinClose"></KeyWord>
<KeyWord name="WinExists"></KeyWord>
<KeyWord name="WinFlash"></KeyWord>
<KeyWord name="WinGetCaretPos"></KeyWord>
<KeyWord name="WinGetClassList"></KeyWord>
<KeyWord name="WinGetClientSize"></KeyWord>
<KeyWord name="WinGetHandle"></KeyWord>
<KeyWord name="WinGetPos"></KeyWord>
<KeyWord name="WinGetProcess"></KeyWord>
<KeyWord name="WinGetState"></KeyWord>
<KeyWord name="WinGetText"></KeyWord>
<KeyWord name="WinGetTitle"></KeyWord>
<KeyWord name="WinKill"></KeyWord>
<KeyWord name="WinList"></KeyWord>
<KeyWord name="WinMenuSelectItem"></KeyWord>
<KeyWord name="WinMinimizeAll"></KeyWord>
<KeyWord name="WinMinimizeAllUndo"></KeyWord>
<KeyWord name="WinMove"></KeyWord>
<KeyWord name="WinSetOnTop"></KeyWord>
<KeyWord name="WinSetState"></KeyWord>
<KeyWord name="WinSetTitle"></KeyWord>
<KeyWord name="WinSetTrans"></KeyWord>
<KeyWord name="WinWait"></KeyWord>
<KeyWord name="WinWaitActive"></KeyWord>
<KeyWord name="WinWaitClose"></KeyWord>
<KeyWord name="WinWaitNotActive"></KeyWord>
<KeyWord name="With"></KeyWord>
<KeyWord name="#cs"></KeyWord>
<KeyWord name="#ce"></KeyWord>
<KeyWord name="#include <WindowsConstants.au3>"></KeyWord>
<KeyWord name="@ScriptName"></KeyWord>
<KeyWord name="@ScriptFullPath"></KeyWord>
<KeyWord name="@AutoItExe"></KeyWord>
<KeyWord name="@ProgramsDir"></KeyWord>
<KeyWord name="@WindowsDir"></KeyWord>
<KeyWord name="@SystemDir"></KeyWord>
<KeyWord name="@TempDir"></KeyWord>
<KeyWord name="@error"></KeyWord>
</AutoComplete>
</NotepadPlus>

Опробовал скрипт
Код:
If $CmdLine[0]>1 Then
    While ProcessExists('hh.exe')
        ProcessClose("hh.exe") ; завершаем все процессы справки
    WEnd
    ; в ком-строке параметром 1-3 вызываем соответствующую справку
    Switch $CmdLine[2]
        Case 1
            ShellExecute('C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.chm')
        Case 2
            ShellExecute('C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3_EN.chm')
        Case 3
            ShellExecute('C:\Program Files\AutoIt3_v3.3.0.0\UDFs3.chm')
    EndSwitch
    WinWaitActive(WinList("[REGEXPTITLE:AutoIt*]")) ; ожидаем открытия окна справки
    ClipPut ( $CmdLine[1] ) ; отправляем в буфер
    ;$win_handle = WinGetHandle(WinList("[REGEXPTITLE:AutoIt*]"))
    ; Если справка открыта на другой вкладке, то выполняем переключение на вкладку "Указатель"
    Opt("WinTextMatchMode", 2)
    If WinExists(WinList("[REGEXPTITLE:AutoIt*]"), '&Добавить') Then Send("^+{TAB 2}")
    If WinExists(WinList("[REGEXPTITLE:AutoIt*]"), 'Пред&ыдущий поиск') Then Send("^+{TAB}")
    If WinExists(WinList("[REGEXPTITLE:AutoIt*]"), 'В&ыберите раздел для вывода:') Then Send("^+{TAB}")
    If Not WinExists(WinList("[REGEXPTITLE:AutoIt*]"), 'Вв&едите ключевое слово для поиска:') Then Send("^{TAB}")
    Send("+{ins}") ; вставляем из буфера
    Send("{ENTER}")
Else
    MsgBox(0, "Ошибка", "Выделите текст, который требуется отправить в справку")
EndIf

и команду:
"C:\Program Files\AutoIt3\AutoIt3.exe" "C:\Program Files\AutoIt3\HELP_AutoIt3.au3" $(CURRENT_WORD)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
AZJIO
чес гря я уже давно забросил нп++ и полностью перешел на скайт. все манипуляции были результатом интенсивного гуглинга. возможно некоторые из них были излишни.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Kaster
OffTopic:
Предыдущий пост обновлял, а новый не заметил...


Вот сделал несколько команд:
Код:
::Запуск скрипта
"C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe" "$(FULL_CURRENT_PATH)"
::Справка команды
"C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe" "C:\Program Files\AutoIt3_v3.3.0.0\HELP_AutoIt3.au3" $(CURRENT_WORD)
::txt2au3
"C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe" "C:\Program Files\AutoIt3_v3.3.0.0\txt2au3.au3"
::DelSpace c ru-board
"C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe" "C:\Program Files\AutoIt3_v3.3.0.0\DelSpace.au3"

Скопировать в \plugins\Config\npes_saved.txt, который является файлом сохранения команд плага NppExec.dll.
Если интересно, выложу скрипты, но пока я их улучшаю.

Запуск скрипта - тоже что в SciTE.exe по F5
Справка команды - скрипт открывает справку, в поле вводит выделенное в NP++ слово, жмёт Enter. Условие: должна быть открыта вкладка поиска.
txt2au3 - скопированный в буфер текст преобразовывает в код, обычно для генерации ini-файла по умолчанию.
DelSpace c ru-board - удаляет пробелы в конце строки, если код скопирован с ru-board

Быстрый вызов команд: F6 > "Стрелка вниз" > Enter. Стрелка вниз - выбор команд в раскрывающемся списке.
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5,379
Репутация
2,724
А чем SciTE не устраивает? Постоянные обновления, поддержка разработчиков, да и грамотно заточен под AutoIt. Зачем изобретать велосипед? Или это такая мания - сделать все по своему...
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Yashied
SciTE на англ. яз., многие его команды запускаю из контекстного меню. NP++ в других языках программирования имеет нужную мне цветовую схему. В SciTE пока не нашел где менять схему для bat, ini, xml и аналогичные им разметки (inf, reg, cmd, sif, htm). А для LiveCD нужно определится с одним редактором, естественно всеядный NP++ с некоторыми доработками.
Из плюсов NP++, плаг подцветки изменений, подсвечивание одинаковых слов при выделении, русс. яз., темы на языки прогр.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Yuri
Я за все, SciTE, Notepad++, PSPad и т.д.

Вот ещё для батников сделал batch.xml из русифицированного SciTE:

Код:
<?xml version="1.0" encoding="Windows-1252" ?>
<NotepadPlus>
<AutoComplete language="batch">
<KeyWord name="" ></KeyWord>
<KeyWord name="%~dp0" ></KeyWord>
<KeyWord name="@echo off" ></KeyWord>
<KeyWord name="%SystemRoot%" ></KeyWord>
<KeyWord name="%TEMP%" ></KeyWord>
<KeyWord name="%SystemDrive%" ></KeyWord>
<KeyWord name="%UserProfile%" ></KeyWord>
<KeyWord name="%AllUsersProfile%" ></KeyWord>
<KeyWord name="%windir%" ></KeyWord>
<KeyWord name="%SystemRoot%" ></KeyWord>
<KeyWord name="%ProgramFiles%" ></KeyWord>
<KeyWord name="%var:~n%" ></KeyWord>
<KeyWord name="%CD%" ></KeyWord>
<KeyWord name="%DATE%" ></KeyWord>
<KeyWord name="%TIME%" ></KeyWord>
<KeyWord name="%RANDOM%" ></KeyWord>
<KeyWord name="%ERRORLEVEL%" ></KeyWord>
<KeyWord name="%CMDEXTVERSION%" ></KeyWord>
<KeyWord name="%CMDCMDLINE%" ></KeyWord>
<KeyWord name="APPEND" ></KeyWord>
<KeyWord name="ASSIGN" ></KeyWord>
<KeyWord name="ASSOC" ></KeyWord>
<KeyWord name="AT" ></KeyWord>
<KeyWord name="ATTRIB" ></KeyWord>
<KeyWord name="BREAK" ></KeyWord>
<KeyWord name="CACLS" ></KeyWord>
<KeyWord name="CALL" ></KeyWord>
<KeyWord name="CD" ></KeyWord>
<KeyWord name="CHCP 1251>nul" ></KeyWord>
<KeyWord name="CHDIR" ></KeyWord>
<KeyWord name="CHKDSK" ></KeyWord>
<KeyWord name="CHKNTFS" ></KeyWord>
<KeyWord name="CLS" ></KeyWord>
<KeyWord name="CMD" ></KeyWord>
<KeyWord name="COLOR 3b" ></KeyWord>
<KeyWord name="COMP" ></KeyWord>
<KeyWord name="COMPACT" ></KeyWord>
<KeyWord name="CONVERT" ></KeyWord>
<KeyWord name="COPY" ></KeyWord>
<KeyWord name="DATE" ></KeyWord>
<KeyWord name="DEFRAG" ></KeyWord>
<KeyWord name="DEL" ></KeyWord>
<KeyWord name="DIR" ></KeyWord>
<KeyWord name="DISKCOMP" ></KeyWord>
<KeyWord name="DISKCOPY" ></KeyWord>
<KeyWord name="DOSKEY" ></KeyWord>
<KeyWord name="ECHO" ></KeyWord>
<KeyWord name="ENDLOCAL" ></KeyWord>
<KeyWord name="ERASE" ></KeyWord>
<KeyWord name="EXIST" ></KeyWord>
<KeyWord name="EXIT" ></KeyWord>
<KeyWord name="EXPAND" ></KeyWord>
<KeyWord name="FC" ></KeyWord>
<KeyWord name="FIND" ></KeyWord>
<KeyWord name="FINDSTR" ></KeyWord>
<KeyWord name="FOR" ></KeyWord>
<KeyWord name="FORMAT" ></KeyWord>
<KeyWord name="FTYPE" ></KeyWord>
<KeyWord name="GOTO" ></KeyWord>
<KeyWord name="GRAFTABL" ></KeyWord>
<KeyWord name="GRAPHICS" ></KeyWord>
<KeyWord name="HELP" ></KeyWord>
<KeyWord name="IF NOT EXIST" ></KeyWord>
<KeyWord name="ipconfig" ></KeyWord>
<KeyWord name="LABEL" ></KeyWord>
<KeyWord name="MD" ></KeyWord>
<KeyWord name="MKDIR" ></KeyWord>
<KeyWord name="MODE" ></KeyWord>
<KeyWord name="MORE" ></KeyWord>
<KeyWord name="MOVE" ></KeyWord>
<KeyWord name="PATH" ></KeyWord>
<KeyWord name="PAUSE" ></KeyWord>
<KeyWord name="POPD" ></KeyWord>
<KeyWord name="PRINT" ></KeyWord>
<KeyWord name="PROMPT" ></KeyWord>
<KeyWord name="PUSHD" ></KeyWord>
<KeyWord name="RD" ></KeyWord>
<KeyWord name="RECOVER" ></KeyWord>
<KeyWord name="REM" ></KeyWord>
<KeyWord name="RENAME" ></KeyWord>
<KeyWord name="REPLACE" ></KeyWord>
<KeyWord name="RMDIR" ></KeyWord>
<KeyWord name="SET var=%var:~0,-1%" ></KeyWord>
<KeyWord name="SET /p var=text:" ></KeyWord>
<KeyWord name="SETLOCAL" ></KeyWord>
<KeyWord name="SHIFT" ></KeyWord>
<KeyWord name="SORT" ></KeyWord>
<KeyWord name="START" ></KeyWord>
<KeyWord name="SUBST B: C:\Temp" ></KeyWord>
<KeyWord name="TIME" ></KeyWord>
<KeyWord name="TITLE" ></KeyWord>
<KeyWord name="TREE" ></KeyWord>
<KeyWord name="TYPE" ></KeyWord>
<KeyWord name="VER" ></KeyWord>
<KeyWord name="VERIFY" ></KeyWord>
<KeyWord name="VOL" ></KeyWord>
<KeyWord name="XCOPY /Q /H /Y /K /C /E /I " ></KeyWord>
</AutoComplete>
</NotepadPlus>

Проверил работу регулярных выражений, иногда есть отличия от SciTE. В NP++ по Ctrl+H и по Ctrl+R есть поиск/замена, жаль ни в одном нет сохранения комбинаций.
Конвертацию batch.api делал регулярным выражением
найти ^(\w+).*$
заменить на <KeyWord name="\1" ></KeyWord>
используя Ctrl+R с отмеченными "Regular Expr", "Incremental"

Новый скрипт вызова справки:

HELP_AutoIt3.au3

Всё настроил с помощью присвоения команд F5. Выозвы сохраняются в файле shortcuts.xml, вот пример:
Код:
<NotepadPlus>
    <InternalCommands />
    <Macros />
    <UserDefinedCommands>
        <Command name="Start_Script" Ctrl="no" Alt="yes" Shift="no" Key="116">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;$(FULL_CURRENT_PATH)&quot;</Command>
        <Command name="DelSpace" Ctrl="no" Alt="yes" Shift="yes" Key="68">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;C:\Program Files\AutoIt3_v3.3.0.0\DelSpace.au3&quot;</Command>
        <Command name="txt2au3" Ctrl="no" Alt="yes" Shift="yes" Key="65">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;C:\Program Files\AutoIt3_v3.3.0.0\txt2au3.au3&quot; &quot;$(CURRENT_WORD)&quot;</Command>
        <Command name="HELP_AutoIt3_RU" Ctrl="no" Alt="yes" Shift="no" Key="112">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;C:\Program Files\AutoIt3_v3.3.0.0\HELP_AutoIt3.au3&quot; $(CURRENT_WORD) 1</Command>
        <Command name="HELP_AutoIt3_EN" Ctrl="no" Alt="yes" Shift="no" Key="113">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;C:\Program Files\AutoIt3_v3.3.0.0\HELP_AutoIt3.au3&quot; $(CURRENT_WORD) 2</Command>
        <Command name="HELP_AutoIt3_UDF" Ctrl="no" Alt="yes" Shift="no" Key="114">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;C:\Program Files\AutoIt3_v3.3.0.0\HELP_AutoIt3.au3&quot; $(CURRENT_WORD) 3</Command>
        <Command name="Au3Info-i" Ctrl="no" Alt="yes" Shift="no" Key="73">&quot;C:\Program Files\AutoIt3_v3.3.0.0\Au3Info.exe&quot;</Command>
        <Command name="Au3Info" Ctrl="yes" Alt="no" Shift="no" Key="119">&quot;C:\Program Files\AutoIt3_v3.3.0.0\Au3Info.exe&quot;</Command>
        <Command name="Au3ToPost" Ctrl="no" Alt="yes" Shift="no" Key="117">&quot;C:\Program Files\AutoIt3_v3.3.0.0\SciTE\Au3ToPost\Au3ToPost.exe&quot; &quot;/FilePath:"$(FULL_CURRENT_PATH)"&quot;</Command>
        <Command name="Au3ToPost" Ctrl="no" Alt="yes" Shift="no" Key="118">&quot;C:\Program Files\AutoIt3_v3.3.0.0\SciTE\Au3ToPost\Au3ToPost.exe&quot; &quot;/Selection:"$(CURRENT_WORD)"&quot;</Command>
        <Command name="Au3ToPost" Ctrl="no" Alt="yes" Shift="no" Key="119">&quot;C:\Program Files\AutoIt3_v3.3.0.0\SciTE\Au3ToPost\Au3ToPost.exe&quot;</Command>
        <Command name="panel_function" Ctrl="yes" Alt="no" Shift="no" Key="120">&quot;C:\Program Files\AutoIt3_v3.3.0.0\AutoIt3.exe&quot; &quot;C:\Program Files\AutoIt3_v3.3.0.0\panel_function.au3&quot;</Command>
    </UserDefinedCommands>
    <PluginCommands />
    <ScintillaKeys />
</NotepadPlus>


<!-->
Здесь назначены горячие клавиши командам
Alt+F1 - вызов справки на русском языке
Alt+F2 - вызов справки на английском языке
Alt+F3 - вызов справки UDF
Alt+F5 - старт скрипта
Alt+F6 - Au3ToPost - обработать текущий открытый файл-скрипт
Alt+F7 - Au3ToPost - обработать выделенный текст
Alt+F8 - Au3ToPost - обработать буфер обмена

Alt+i - вызов Au3Info.exe
Ctrl+F8 - вызов Au3Info.exe
Ctrl+F9 - вызов panel_function.au3

Alt+Shift+D - удаление пробелов в конце строк (стандартный метод: Правка > Обрезать пробелы)
Alt+Shift+A - конвертирование txt в au3 (стабильный вариант - не выделяя текст вызвать горячую клавишу, тогда будет обработан буфер обмена)
</!-->
Здесь назначены горячие клавиши командам
Alt+F1 - вызов справки на русском языке
Alt+F2 - вызов справки на английском языке
Alt+F3 - вызов справки UDF
Alt+F5 - старт скрипта
Alt+F6 - Au3ToPost - обработать текущий открытый файл-скрипт
Alt+F7 - Au3ToPost - обработать выделенный текст
Alt+F8 - Au3ToPost - обработать буфер обмена

Alt+i - вызов Au3Info.exe
Ctrl+F8 - вызов Au3Info.exe
Ctrl+F9 - вызов panel_function.au3

Alt+Shift+D - удаление пробелов в конце строк (стандартный метод: Правка > Обрезать пробелы)
Alt+Shift+A - конвертирование txt в au3 (стабильный вариант - не выделяя текст вызвать горячую клавишу, тогда будет обработан буфер обмена)
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
самым главным преимуществом для меня в нп++ была возможность открытия и редактирования двух (или одного и того же но в двух панелях) файлов одновременно с возможностью синхронизации векртикальной и горизонтальной слайдбаров. в скайт такое пока не предвидится
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Обновил предыдущий пост:
1. Батник вызова справки теперь авто-переключается на необходимую вкладку в справке.
2. Добавил Alt+i - вызов Au3Info.exe
3. Добавил в autoit.xml, batch.xml после третьей строки <KeyWord name="" ></KeyWord> - пустой параметр, иначе при вводе комментариев пробелом происходит ввод первой строки из автоподстановки. Добавил конструкции (при добавлении кавычки заменить апострофами). Жаль с русскими символами конструкции не поддерживаются.
4. Проверил использование символов @, #, _, в autoit.xml, NP++ их не видит в автоподстановке. Добавил десяток самых распостранёных в начало списка, а второстепенные в конец списка.

________________________________________________

Все наработки по Notepad++ - (2Мб) Notepad++, скрипты в AutoIt3. Все пути установлены по стандарту в "C:\Program Files", ничего исправлять не придётся. Readme в комплекте.

________________________________________________

Переменные Notepad++
$(FULL_CURRENT_PATH) : E:\my Web\main\welcome.html - полный путь к файлу, который открыт в Notepad++
$(CURRENT_DIRECTORY) : E:\my Web\main\ - текущий каталог файла, который открыт в Notepad++
$(FILE_NAME) : welcome.html - имя файла, который открыт в Notepad++
$(NAME_PART) : welcome - имя файла без расширения, который открыт в Notepad++
$(EXT_PART) : html - расширение файла, который открыт в Notepad++

$(NPP_DIRECTORY) : путь к notepad++.exe
$(CURRENT_WORD) : выделенное слово Notepad++.
$(CURRENT_LINE) : строка, где установлен текстовый курсор в Notepad++.
$(CURRENT_COLUMN) : колонка, где установлен текстовый курсор в Notepad++.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Попробовал плагин FunctionList.dll, пришлось немного разбираться с настройками. Суть плагина: в правом дополнительном окне создаётся список функций при двойном клике на которой происходит прыжок к этой функции.

Для AutoIt добавил код в XML (другие языки программирования поддерживаются по умолчанию)
Код:
    <Language name="AutoIt" imagelistpath="plugins\Config\C++.flb">
        <CommList param1=";" param2="" />
        <Group name="FUNCTION" subgroup="" icon="9" child="17" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="^Func\s+" regexfunc="[\w\d]+" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
    </Language>

Можно и другие элементы получать в список, но работает уже медленно.
Код:
    <Language name="AutoIt" imagelistpath="plugins\Config\C++.flb">
        <CommList param1=";" param2="" />
        <Group name="INCLUDE" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="#include\s+" regexfunc="[^\r\n]+" regexend="" bodybegin="" bodyend="$" sep="" />
        </Group>
        <Group name="VARIABLE" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="\$" regexfunc="[\w\d]+" regexend="" bodybegin="\b" bodyend="\b" sep="" />
        </Group>
        <Group name="MACRO" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="" regexfunc="@[\w\d]+" regexend="" bodybegin="\b" bodyend="\b" sep="" />
        </Group>
        <Group name="Hex" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="" regexfunc="0x[0-9A-Fa-f]{6}" regexend="" bodybegin="[\D\W]" bodyend="[\D\W]" sep="" />
        </Group>
         <Group name="FUNCTION" subgroup="" icon="9" child="17" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="^Func\s+" regexfunc="[\w\d]+" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
    </Language>

Для CSS, чтобы редактировать стили в справке
Код:
    <Language name="CSS" imagelistpath="plugins\Config\C++.flb">
        <CommList param1=";" param2="" />
        <Group name="CLASS" subgroup="" icon="16" child="13" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="" regexfunc="[.\w\d]+" regexend="\h*(/[^\r\n]+/)*\s*\{" bodybegin="^" bodyend="$" sep="" />
        </Group>
    </Language>

Ссылка на готовый комплект в предыдущем посте.
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Сделал прыжок к функции в Notepad++ (Alt+F)

команда в shortcuts.xml
Код:
<Command name="JumpFunc" Ctrl="no" Alt="yes" Shift="no" Key="70">&quot;$(NPP_DIRECTORY)\..\AutoIt3.exe&quot; &quot;$(NPP_DIRECTORY)\Instrument_azjio\JumpFunc.au3&quot; &quot;$(NPP_DIRECTORY)&quot; &quot;$(CURRENT_WORD)&quot; &quot;$(FULL_CURRENT_PATH)&quot;</Command>

Код:
#NoTrayIcon
#include <nppUDF.au3>
#include <File.au3>
; #include <Array.au3>

; [1] $(NPP_DIRECTORY)
; [2] $(CURRENT_WORD)
; [3] $(FULL_CURRENT_PATH)

$LngMs1 = 'Ошибка'
$LngMs2 = 'Выделите имя функции'
$LngMs3 = 'Каталог Include не найден'
$LngMs4 = 'Не найден'

If $CmdLine[0] > 2 Then
	; $sText = FileRead($CmdLine[3]) ; читаем файл
	$sText = _npp_GetText() ; Читаем из окна редактора. Нет проблемы если текст не сохранён.
	$a = StringRegExp($sText, '(?i)[\r\n\A]\s*Func\s+' & $CmdLine[2], 1) ; поиск имени функции в тексте
	If @error Then
		$Include_script = StringRegExp($sText, '(?mi)^\s*#include\s*[<"'']*([^\r\n]+?\.au3)', 3) ; возвращает include указанные в скрипте
		; _ArrayDisplay($Include_script, 'Array')
		$sInclude_Path = _GetIncludePath()
		; If @error Then
		; $sInclude_Path = @ScriptDir
		; Else
		; $sInclude_Path &= ';' & @ScriptDir
		; EndIf
		$aInclude_Path = StringSplit($sInclude_Path, ';')
		For $j = 1 To $aInclude_Path[0]
			If Not FileExists($aInclude_Path[$j]) Then ContinueLoop
			For $i = 0 To UBound($Include_script) - 1
				; MsgBox(0, 'Сообщение', $sInclude_Path)
				; MsgBox(0, 'Сообщение', $Include_script[$i])
				$sText = FileRead($aInclude_Path[$j] & '\' & $Include_script[$i]) ; открываем include файл
				$a = StringRegExp($sText, '(?i)[\r\n\A]\s*Func\s+' & $CmdLine[2], 1) ; поиск имени функции в тексте
				If Not @error Then ; если нет ошибки, т.е. нашли, то делаем прыжок
					$iPos = @extended - StringLen($a[0]) + 6 ; Сразу сохраняем позицию
					Run('"' & $CmdLine[1] & '\notepad++.exe" "' & $aInclude_Path[$j] & '\' & $Include_script[$i] & '"') ; открываем файл
					Sleep(300) ; на всякий случай ждём его открытия
					_JumpToFunc($sText, $iPos) ; выполняем прыжок в файле
					Exit
				EndIf
			Next
		Next
		If MsgBox(4 + 32, 'Не найдено', 'Возможные проблемы:' & @LF & '1. Имя функции с опечаткой' & @LF & '2. include не подключён' & @LF & @LF & 'Хотите сделать поиск во всех include?') = 6 Then
			For $j = 1 To $aInclude_Path[0] ; Обработка всех файлов в include-папках
				If Not FileExists($aInclude_Path[$j]) Then ContinueLoop
				$aFileList = _FileListToArray($aInclude_Path[$j], '*.au3', 1) ; поиск файлов
				If Not @error Then ; если нет ошибки (всмысле найдены файлы), то
					For $i = 1 To $aFileList[0] ; обрабатываем каждый файл
						$sText = FileRead($aInclude_Path[$j] & '\' & $aFileList[$i]) ; открываем include файл
						$a = StringRegExp($sText, '(?i)[\r\n\A]\s*Func\s+' & $CmdLine[2], 1) ; поиск имени функции в тексте
						If Not @error Then ; если нет ошибки, т.е. нашли, то делаем прыжок
							$iPos = @extended - StringLen($a[0]) + 6 ; Сразу сохраняем позицию
							Run('"' & $CmdLine[1] & '\notepad++.exe" "' & $aInclude_Path[$j] & '\' & $aFileList[$i] & '"') ; открываем файл
							Sleep(300) ; на всякий случай ждём его открытия
							_JumpToFunc($sText, $iPos) ; выполняем прыжок в файле
							If MsgBox(4 + 32, 'Найдено в ' & $aFileList[$i], 'Копировать строку в буфер?' & @LF & @LF & '#include <' & $aFileList[$i] & '>') = 6 Then ClipPut('#include <' & $aFileList[$i] & '>')
							Exit
						EndIf
					Next
				EndIf
			Next
		EndIf
		MsgBox(16, 'Не найдено', 'Искали, но не нашли', 1)
	Else
		; прыг в текущем файле
		$iPos = @extended - StringLen($a[0]) + 6
		_JumpToFunc($sText, $iPos)
	EndIf
Else
	MsgBox(0, $LngMs1, $LngMs2)
EndIf

Func _JumpToFunc(ByRef $AllText, $iPos)
	; Поиск найденного в тексте кода
	
	; Вычисляем номер строки
	$iPos = StringRegExp(StringLeft($AllText, $iPos), '(\r\n|\r|\n)', 3)
	$iPos = UBound($iPos)
	; делаем поправку, чтоб передвинуть строку к центру окна
	$CurLine = _SendMessage(WinGetHandle('[CLASS:Notepad++]'), $NPPM_GETCURRENTLINE, 0, 0)
	$pos = ControlGetPos('[CLASS:Notepad++]', "", "[CLASSNN:Scintilla1]")
	$iPos2 = $pos[3] / 32 ; высоту делим на 32 пикселя чтобы определить кол строк до средины окна
	If $iPos > $CurLine Then
		$iPos2 = $iPos + $iPos2
	Else
		$iPos2 = $iPos - $iPos2
	EndIf
	_npp_SetCurPos($iPos2)
	_npp_SetCurPos($iPos)
	WinActivate('[CLASS:Notepad++]')
EndFunc   ;==>_JumpToFunc

Func _GetIncludePath()
	$sInclude_Path = RegRead("HKLM\SOFTWARE\AutoIt v3\AutoIt", "InstallDir")
	If @error Then
		$sInclude_Path = RegRead('HKCU\Software\AutoIt v3\Autoit', 'Include')
	Else
		$sInclude_Path &= "\Include"
	EndIf
	If $sInclude_Path Then
		Return $sInclude_Path & ';' & @ScriptDir
	Else
		Return @ScriptDir
	EndIf
EndFunc   ;==>_GetIncludePath


Сделал две команды:
Alt+N - создать новый в том же каталоге что и открытый скрипт
Alt+O - открыть папку просматриваемого файла

Код:
        <Command name="CreateNewFile" Ctrl="no" Alt="yes" Shift="no" Key="78">&quot;$(NPP_DIRECTORY)\..\AutoIt3.exe&quot; &quot;$(NPP_DIRECTORY)\Instrument_azjio\Command.au3&quot; 1 &quot;$(NPP_DIRECTORY)&quot; &quot;$(CURRENT_DIRECTORY)&quot; &quot;$(NAME_PART)&quot; &quot;$(EXT_PART)&quot;</Command>
        <Command name="OpenToExplorer" Ctrl="no" Alt="yes" Shift="no" Key="79">&quot;$(NPP_DIRECTORY)\..\AutoIt3.exe&quot; &quot;$(NPP_DIRECTORY)\Instrument_azjio\Command.au3&quot; 2 &quot;$(NPP_DIRECTORY)&quot; &quot;$(CURRENT_DIRECTORY)&quot; &quot;$(NAME_PART)&quot; &quot;$(EXT_PART)&quot;</Command>

Код:
#NoTrayIcon
#include <FileOperations.au3>

If $CmdLine[0] Then
	Switch $CmdLine[1]
		Case 1
			If FileExists($CmdLine[3]) Then
				$sPath = _FO_GetCopyName($CmdLine[3] & '\я' & $CmdLine[5], 1)
				FileWrite($sPath, '')
				Run('"' & $CmdLine[2] & '\notepad++.exe" "' & $sPath & '"')
			EndIf
		Case 2
			Run('Explorer.exe /select,"' & $CmdLine[3] & '\' & $CmdLine[4] & $CmdLine[5] & '"')
	EndSwitch
EndIf
 
Верх