Jump to content
AZJIO

Tools for Notepad++

Recommended Posts

Place the Notepad ++ in the AutoIt3 folder
Just replace the files in your Notepad++. The path must be "AutoIt3Notepad++"

NotepadPlus.7z (v6.5.3 Ru, 4.9 Mb)

5c1ee1695ae2t.jpg

shortcuts.xml, Contains commands:
F5 - Start File (Alt + F5 - Setting)
F6 - Start Script (ConsoleWrite) (Ctrl + F6 - Setting)
Alt + F - Jump to function as a SciTE 
Alt+X - AutoIt3Wrapper (Ctrl + F6 - ConsoleWrite)
Alt + Z - Tidy.exe %1 /refc /reel /bdir=C:AutoIt3BackUp
Alt+i - Au3Info.exe
Alt + R - ToolsRegExpRegExp.exe
Alt + F1 (F2, F3) - HELP_AutoIt3.au3
Alt+F6 - Converter AU3 to BBcode
Alt + F8 - list_var_funk.au3
Alt + Shift + A - txt2au3
Alt + G - JumpRegCMD
Alt+Shift+D - Remove spaces

Alt + K - Strip Comments

Alt + L - Debugger

Alt + F - JumpFunc

Alt + N - CreateNewFile

Alt + O - OpenToExplorer

Alt + F7 - Renaming variables
Ctrl + F7 - Include_Helper
Ctrl + F9 - panel_function
Ctrl + F12 - JumpToString
Ctrl + 1 (2 ,3 ,4 ,5) - Set the color of the selected
Ctrl + Shift + 1 (2 ,3 ,4 ,5) - Remove the color of the selected
Ctrl + Shift + 0 - Remove the color of all selected


langs.xml
Added registered functions, operators and keywords

themes
AutoIt_Def.xml
AutoIt+Zenburn.xml

autoit.xml, batch.xml (for example enter "ms" and press "Enter")

XBrackets.dll - sets closing brackets (disabled by default)
NppExec.dll - Ctrl + F6 - for ConsoleWrite
FunctionList.dll - List of functions
NppSnippets.dll
ScrollPastEOFUni.dll
 
 
>JumpToString (Notepad++)
>Include_Helper
>Renaming variables

>Debugger

Edited by AZJIO

Share this post


Link to post
Share on other sites

babaorom

Notepad++ Web Site

Then copy files from my archive.

doLocalConf.xml - use the settings from the directory Notepad++

config.xml - ready to configure

HELP_AutoIt3.au3 - This file allows you to go to the Help for the selected functions in a Notepad++

This allows for the text in autoit.xml in any language

$text='Message'
$aText=StringSplit($text, '')
$text0=''
For $i = 1 to $aText[0]
$text0&='&#x'&Hex(AscW($aText[$i]),4)&';'
Next
ClipPut($text0)
MsgBox(0, 'Message', $text0)

; #include <Array.au3>
; $text='041C;&#x0430;&#x0441;&#x0442;&#x0435;&#x0440;&#x0441;&#x043A;&#x0430;&#x044F;&#x0434;&#x0438;&#x0441;&#x0442;&#x0440;&#x0438;&#x0431;&#x0434;&#x043B;&#x044F;&#x0438;&#x043D;&#x0435;&#x0442;&#x0430;&#x0441;&#x043A;&#x0440;&#x0438;&#x043F;&#x0442;&#x044B;&#x0434;&#x043B;&#x044F;&#x0441;&#x043F;&#x0440;&#x0430;&#x0432;&#x043A;&#x0438;&#x0441;&#x0444;&#x043E;&#x0440;&#x0443;&#x043C;&#x043E;&#x0432;&#x043F;&#x0435;&#x0440;&#x0435;&#x0437;&#x0430;&#x043F;&#x0443;&#x0441;&#x043A;&#x043D;&#x0430;&#x0447;&#x0438;&#x0441;&#x0442;&#x043E;&#x043C;&#x0430;&#x0443;&#x0442;&#x043E;&#x0438;&#x0442;&#x0435'
; $aText=StringSplit($text, ';&#x', 1)
; _ArrayDisplay($aText, 'Array')
; $text0=''
; For $i = 1 to $aText[0]
; $text0&=ChrW(Dec($aText[$i]))
; Next
; MsgBox(0, 'Message', $text0)

Share this post


Link to post
Share on other sites

Update

v6.1.6

NppExec.dll - Ctrl + F6 - for ConsoleWrite

FunctionList.dll

FunctionListRules.xml

<Language name="AutoIt" imagelistpath="pluginsConfigC++.flb">
        <CommList param1=";" param2="" />
         <Group name="FUNCTION" subgroup="" icon="9" child="17" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="^Funcs+" regexfunc="[wd]+" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
    </Language>

<Language name="AutoIt" imagelistpath="pluginsConfigC++.flb">
        <CommList param1=";" param2="" />
        <Group name="INCLUDE" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="#includes+" regexfunc="[^rn]+" regexend="" bodybegin="" bodyend="$" sep="" />
        </Group>
        <Group name="VARIABLE" subgroup="" icon="0" child="0" autoexp="0" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="$" regexfunc="[wd]+" 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="@[wd]+" 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="[DW]" bodyend="[DW]" sep="" />
        </Group>
         <Group name="FUNCTION" subgroup="" icon="9" child="17" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="^Funcs+" regexfunc="[wd]+" regexend="" bodybegin="" bodyend="" sep="" />
        </Group>
    </Language>

<Language name="CSS" imagelistpath="pluginsConfigC++.flb">
        <CommList param1=";" param2="" />
        <Group name="CLASS" subgroup="" icon="16" child="13" autoexp="4" matchcase="0" fendtobbeg="" bbegtobend="" keywords="">
            <Rules regexbeg="" regexfunc="[.wd]+" regexend="h*(/[^rn]+/)*s*{" bodybegin="^" bodyend="$" sep="" />
        </Group>
    </Language>

Edited by AZJIO

Share this post


Link to post
Share on other sites

JumpFunc.au3,  + nppUDF.au3

#NoTrayIcon
#include <nppUDF.au3>
#include <File.au3>
; #include <Array.au3>

; [1] $(NPP_DIRECTORY)
; [2] $(CURRENT_WORD)
; [3] $(FULL_CURRENT_PATH)
Local $aLng[8] = [ _
'Error', _
'Select the name of the function', _
'The "Include" directory not found', _
'Not found', _
'Sought but not found', _
'Possible problems:' & @LF & '1. The function name with typo' & @LF & '2. "Include" is not inserted' & @LF & @LF & 'Want to do a search in all "include"?', _
'Found in', _
'Copy string to Clipboard?']

; Local $aLng[8] = [ _
; 'Ошибка', _
; 'Выделите имя функции', _
; 'Каталог Include не найден', _
; 'Не найден', _
; 'Искали, но не нашли', _
; 'Возможные проблемы:' & @LF & '1. Имя функции с опечаткой' & @LF & '2. include не подключён' & @LF & @LF & 'Хотите сделать поиск во всех include?', _
; 'Найдено в', _
; 'Копировать строку в буфер?']

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, $aLng[3], $aLng[5]) = 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, $aLng[6] & ' ' & $aFileList[$i], $aLng[7] & @LF & @LF & '#include <' & $aFileList[$i] & '>') = 6 Then ClipPut('#include <' & $aFileList[$i] & '>')
                            Exit
                        EndIf
                    Next
                EndIf
            Next
        EndIf
        MsgBox(16, $aLng[3], $aLng[4], 1)
    Else
        ; прыг в текущем файле
        $iPos = @extended - StringLen($a[0]) + 6
        _JumpToFunc($sText, $iPos)
    EndIf
Else
    MsgBox(0, $aLng[0], $aLng[1])
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

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>

Alt + F - Jump to function as a SciTE 

Edited by AZJIO

Share this post


Link to post
Share on other sites

One of my favourite N++ Plugin

RunMe allows to execute the currently open file, based on its shell association.

The plugin allows also to open an explorer or command shell at the file location.

Options are available to same the current file (or all the files) before execution.

The executed file can be run in foreground,background, or hidden mode.

Context menu entries and tool bar icons are available.

Share this post


Link to post
Share on other sites

RunMe allows to execute the currently open file, based on its shell association.

I added it even without a plug-in and without scripts

The plugin allows also to open an explorer or command shell at the file location.

It is added using the internal variables Notepad++

Share this post


Link to post
Share on other sites

Odraude,

Please read this sticky. :)

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Odraude,

Which just goes to show how little faith you should put in the scan. ;)

M23


Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

Hello,

thanks for this version, unfortunate that everything is in Russian.

Did you modify the english.xml or russian.xml provided by default?

Share this post


Link to post
Share on other sites

Hi,

Ive tried using 'FunctionList.dll - List of functions' version 2.1 against notepad++ v6.6.9, but when I load an autoit .au3 file into notepad++ the function list box says 'No Rule Define', I have put the 'FunctionListRules.xml' into 'C:Usersusername'AppDataRoamingNotepad++', also tried putting it in 'C:Program Files (x86)Notepad++pluginsconfig'

Has anyone got any ideas to make it work?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Beege
      If you have every taken the time to set up a nice dark theme for your scite editor, you probably noticed shortly after a small yet really annoying flaw. For what ever reason, scite is not set up to let you change the caret fore color and caret line color per language. This really sucks if say you want to edit a properties file or any of the many other languages that Scite currently is setup to support. Pretty much all the other languages are set as light theme so unless you change the theme for those file types, you end up with something like below where the line color and caret are still using the dark theme colors. Line 3 in the pic:
       

       
      To get around this I came up with the following that seems to work pretty well.  
       
      Add the following properties to SciteUser.properties file (Options -> Open User Options File). Update colors to your own needs. You can addionally add any other propertys that dont have a lexer language option in the same fashion.
      # The default values (light themes) will be used for any lexer other than au3 caret.default.fore=#000000 caret.default.line.back=#FFFED8 selection.default.fore=#006000 selection.default.back=#F0A0A8 caret.au3.fore=#FFFFFF caret.au3.line.back=#111111 selection.au3.fore=#C2FFAE selection.au3.back=#f9f9f9  
      Add the following function to PersonalTools.Lua file. As jos pointed out, the OnStartup covers the filetab switches as well as the startup so only need the one function:
      function PersonalTools:OnStartup() -- the "and" + "or" keywords are ternary operators here local sLex = self:IsLexer(SCLEX_AU3) and 'au3' or 'default' props['caret.line.back'] = props['caret.' .. sLex .. '.line.back'] props['caret.fore'] = props['caret.' .. sLex .. '.fore'] props['selection.fore'] = props['selection.' .. sLex .. '.fore'] props['selection.back'] = props['selection.' .. sLex .. '.back'] end
      Last restart SciTE and that should be it. Let me know if you have any issues. Thanks
       
    • By jaberwacky
      SciTE Customization GUI is intended to be your one-stop solution for your SciTE customization needs.
      With SciTE Customization GUI you can create new themes from scratch without having to touch a single configuration file.  Simply select 'Default Theme' from the file menu.  This will start you out with a default theme.  Then make your changes to the theme.  Finally, select 'Save As' from the file menu and give it a name.  Or you can select from an already existing theme.
      You can see live changes to SciTE as you change things around (some settings are not live). You can change various SciTE4AutoIt3 settings such as Tidy, Tools, debug trace messages, etc.
      I mostly want to try out new ideas which I hope will get used in the official SciTE4AutoIt3.  I also wanted to see how large of a program I could script in AutoIt before it become a mass of unmaintable spaghetti. I feel that I am successful in that regard. It is reasonably easy to debug, extend and understand. I feel that this was achieved by employing the Model-View-Controller pattern. I also used AutoItObject which allows me to achieve a level of information hiding which would not have been possible otherwise.
      I stand on the shoulders of giants so credit where credit is due. Thanks to Jos for the original SciTEConfig. Thanks to Jon for AutoIt. Melba23 for the SciTE Abbreviation Manager and the SciTE UserCalltip Manager.
      Credits and changelog have be moved to the script.
      Note: this is not an official script.  Jon, Jos or the rest of the AutoIt team do not provide support.  That's all up to me.
      SciTE Customization GUI.zip -- downloads: ~5253
      SciTE Customization GUI -- Source.zip -- Includes all of the required dependencies.
×
×
  • Create New...