• HOW Do You Add Keyboard Shortcuts

    General Discussion
    11
    0 Votes
    11 Posts
    3k Views
    CoisesC

    @PeterJones said in HOW Do You Add Keyboard Shortcuts:

    Actually, anything in the Scintilla Commands tab of the Shortcut Mapper can have 0 or more shortcuts assigned. It’s not limited to only 2. And it’s not limited to only Copy/Cut/Paste. This is described in the user manual’s Preferences > Shorcut Mapper, specifically in the paragraph that starts with “In the Scintilla commands tab, you can actually assign more than one shortcut to a given Scintilla command

    This might be confusing to @Michael-Neumann, because Cut, Copy and Paste are no longer Scintilla shortcuts; they moved to the Main menu tab, Edit category, as part of the changes that enhanced multiple selections and implemented VS Code-style line cut/copy/paste.

    Since the two sets of shortcuts, with X/C/V and with Insert/Delete, are so familiar and either would have been missed, special allowance was made to let those menu items have two distinct shortcuts. No other commands work that way.

  • 0 Votes
    3 Posts
    98 Views
    fml2F

    @h-jangra said in Feature Request / Question: Soft Wrap at Vertical Edge (Column 80) regardless of window size:

    I have added this in NppVim plugin [. . .]I am not sure how to set text width in notepad++

    That’s interesting! I’d think that a NP++ plugin can only do things that are also possible in NP++ itself since the underlying engine is the same.

  • The problem with notepad.runMenuCommand

    General Discussion
    4
    1 Votes
    4 Posts
    111 Views
    PeterJonesP

    @westyles said in The problem with notepad.runMenuCommand:

    @PeterJones said in The problem with notepad.runMenuCommand:

    And this is not a bug

    Thank you for the clarification
    I replied to you here

    Since it is not a Notepad++ application issue, but your usage of a plugin, with you thinking that the plugin needs a new feature, continuing the conversation in the official application Issues is the wrong place, as I tried to make clear. So I will quote your message from there, and reply here, where it belongs.

    When I figured it out for myself, I realized that in my case, neither of the two commands you mentioned would work. There are no suitable commands.

    I disagree.

    Because I need to call up the menu items created with user userDefineLangs (from files in the userDefineLangs folder), they are created each time npp is started.

    Yep. But they still have command-ID values – you just have to figure out what they are. And once you do, notepad.menuCommand will work for you, because as I quoted before, it is documented to work either with the plugin’s ENUM values for builtin, or using the raw command-ID integer.

    There are no permanent built-in commands for this;

    I disagree.

    only notepad.runMenuCommand is suitable, and it depends on the npp language.

    It’s not the only suitable choice.

    As you wrote, in this case, another command is needed that will call menuId or ID

    That’s exactly what notepad.menuCommand does.

    So, in my current Notepad++ instance, the Language > Markdown (preinstalled) is getting the dynamic commandID=46181. I can determine this easily using the UI Spy plugin:
    fe024044-c9ca-4324-b264-986832378db5-image.png

    So then I call up the PythonScript console, and send the command notepad.menuCommand(46181), and it changes my language from Normal text file (Language > None (Normal Text)) to the UDL Markdown (preinstalled), thus showing that, indeed, you can use already-existing notepad.menuCommand() using an integer command ID to call a UDL’s command ID (or anything else by commandID).

    So if you know the commandID, whether it’s a built-in command or a dynamic command (like a UDL or macro), you can use notepad.menuCommand(). If you don’t already know the commandID, then you cannot use it (but then again, you couldn’t use this “new” function that you claim you want, because this new requested function would also require that you already know the commandID, based on the feature you described).

    So I don’t see why you think it won’t work for you. Because I can use it to call any of the UDL or Macros that I want to call.

  • 5 Votes
    14 Posts
    773 Views
    CoisesC

    @guy038 said in Columns++ version 1.3: All Unicode, all the time:

    Indeed, when you use the following regexes, against my Total_Chars.txt file, with the Columns++ plugin :

    (?=\w)[\x{0100}-\x{017F}] (?=\w)[\x{10A0}-\x{10FF}] (?=\w)[\x{2C60}-\x{2C7F}]

    They all return an error ?!

    Columns++ version 1.3.1 should fix this (when Match case is checked; odd behavior for ranges seems unavoidable when case insensitive mode is in effect; note that Notepad++ native search also gives an error on the second expression with Match case not checked).

    Notepad++ version 8.9.1 release candidate is expected any day now, so I rushed this in… hopefully I didn’t make any major mistakes.

    Thank you again, @guy038, for catching this bug.

  • 1 Votes
    1 Posts
    48 Views
    No one has replied
  • How do I change font?

    Help wanted · · · – – – · · ·
    16
    0 Votes
    16 Posts
    177k Views
    PeterJonesP

    @Cam-K said in How do I change font?:

    Noticed on newer versions of N++ that the “Enable global font” option is gone

    It’s not gone, just at the bottom of the list, because it’s not what most people should be using. See the global override dialog and the user manual for more on why you shouldn’t use it.

  • 0 Votes
    6 Posts
    109 Views
    4614

    @PeterJones Ok, Thank you. I see now Microsoft Excel is the way to go!

  • 2 Votes
    9 Posts
    170 Views
    mpheathM

    @PeterJones An option to change of idle styling like change of rendering could be useful for users. The paste handling is a bit of a scripting enhancement to try to tame the symptoms of the styling process set at 3 which is to style the whole doc. Setting idle styling to 0 processes the styling to only what is viewed and a one liner in a startup script might be enough. Perhaps if an issue is created then more users might join in with their experiences like this issue. Momentum might be needed to change the minds of those who believe in the what has previously been claimed as optimizations.

  • 0 Votes
    7 Posts
    131 Views
    PeterJonesP

    @shodanx2 ,

    Placing the cursor anywhere on the window and middle-click-dragging left and right

    Interesting. Apparently I am not creative enough to think of clicking on anything but the window/subwindow/panel frame to try to resize a window/subwindow/panel. Since there’s apparently utilities to enable that in other things, I guess you’re not the only one, but it’s just not something I’d ever thought of. (And sorry, in case it wasn’t obvious, unlike @Alan-Kilborn , I didn’t originally understand that you weren’t just trying a different button on the center bar between.)

    Which allows me to middle click drag anywhere on a page and very quickly scroll it up and down.

    That sounds very much like browser-style autoscroll features (though in those, they just click-and-release on the middle button, and that switches to autoscroll mode). And autoscroll as a feature has been rejected time after time after time(*) after time after time after time(*) (where the two *-d times were official word from the developer saying that autoscroll won’t be implemented). So while people obviously like it, the developer has made it clear it won’t be native to Notepad++.

    So a script (as @Alan-Kilborn has given you hints on) or writing a plugin are the only options for your autoscroll-like behavior.

    Regarding the script – if you search the forum for PythonScript and the mouse-based messages, I am guessing you’ll find an ancient script by one of the regulars here who gives an example of intercepting the mouse actions to add features to a script.

  • 0 Votes
    4 Posts
    160 Views
    S

    Hello

    Thank you for the responses !

    @Ekopalypse

    I have tried this method

    After installing PythonScript, it was unclear where I could add the script

    open_containing_folder_in_cmd.py

    I tried
    C:\Users\user\AppData\Roaming\Notepad++ (no)
    C:\Users\user\AppData\Roaming\Notepad++\plugins (no)
    C:\Program Files\Notepad++\plugins\PythonScript\scripts (maybe)

    It still wouldn’t appear, until restart (this should, auto refresh I believe, when you open configuration at least ?)

    It appeared in the menu

    0ac210cc-ad88-4800-87c7-58a74d503428-image.png

    But not in the configuration page

    322dddaa-81f2-486f-a484-d2097340a938-image.png

    Click on Plugins->Python Script-> Scripts -> open_containing_folder_in_cmd.py
    Did open cmd.exe in the right location

    Ah ok, from clicking the “new” script button

    The path is
    C:\Users\user\AppData\Roaming\Notepad++\plugins\config\PythonScript\scripts
    The folder was not created during installation apparently !

    Now it does appear !

    cd365908-f84e-46cf-8ff8-9ae887336bc6-image.png

    And yes this works !

    493bdea5-d298-4f7b-869c-b2918b47ebf8-image.png

    Thanks !

    @PeterJones

    Thanks for this suggestion

    I gave this a try as well

    ab026774-25a1-450d-8212-b4bc999595d7-image.png

    Then I edited

    C:\Users\user\AppData\Roaming\Notepad++\plugins\config\CustomizeToolbar.btn

    I pasted your suggested command
    changed the file to a screenshot of the cmd.exe icon I took
    I also added you suggested extra space fix

    File,Open Containing Folder,cmd,,fRgHGCzWpi.png,fRgHGCzWpi.png,fRgHGCzWpi.png View,Show Symbol,Show All Characters,,Icons\allChars.bmp,Icons\allChars_off.ico,Icons\allChars_off_dark.ico

    This did not work yet

    I used webservice
    https://www.icoconverter.com/
    To create a .ico file
    with these settings
    c7397a0a-1735-44fc-a70e-b4b6e891d909-image.png

    and I downloaded the 3 files from the github issues

    https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/icons/standard/toolbar/allChars.bmp
    https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/icons/light/toolbar/regular/allChars_off.ico
    https://github.com/notepad-plus-plus/notepad-plus-plus/blob/master/PowerEditor/src/icons/dark/toolbar/regular/allChars_off.ico

    And I placed them in folder

    C:\Users\user\AppData\Roaming\Notepad++\plugins\config\Icons

    Restarted notepad++

    The icon appears and works but the icon is wrong

    f9a8a675-ab97-4ff9-931f-bb7bc7497520-image.png

    I tried these settings

    a95b67a9-69de-4527-9a06-aa6cbbbac32f-image.png

    Also does not work

    0c0e31a7-ed98-4597-a728-94df39b63ab7-image.png

    also no

    d5274fe9-e9c7-422b-b35b-93844462b236-image.png

    also no ???

    Oh wait

    File,Open Containing Folder,cmd,,cmd.ico,cmd.ico,cmd.ico

    should have been

    File,Open Containing Folder,cmd,,Icons\cmd.ico,Icons\cmd.ico,Icons\cmd.ico

    Icon has disappeared !

    54d68466-f8bd-4877-803e-82916cc556ec-image.png

    ok, instead move the file to C:\Users\user\AppData\Roaming\Notepad++\plugins\config
    51f48583-924a-4e0b-be1d-9df87f8909a3-image.png

    change it back to

    File,Open Containing Folder,cmd,,cmd.ico,cmd.ico,cmd.ico

    restart npp

    icon is back, but still question mark

    580fc2d1-b691-4081-916b-935a9805cdce-image.png

    Maybe the file is not 16x16 256 colours ?

    b7aa94fa-7748-42b8-8e51-49e507acb631-image.png

    Looks like it is as specified

    Maybe something is wrong with the file …

    e0b2e4e5-7210-4687-881d-69eebba78699-image.png

    I’m not good enough to mentally decode this, looks normal

    Hmm

    https://en.wikipedia.org/wiki/ICO_(file_format)

    0x02 idType is 1 , which is ICO good
    0x04 idCount is 1, just 1 image
    0x06 ICONDIRENTRY struct

    bWidth is 10 , which is width 16
    bHeight is 10, which is width 16
    bColorCount 0. does not use a pallette
    wPlanes is 1, has color plane , whatever that is, 0 is black and white ?
    wBitCount, it is 8 bit per pixel
    dwBytesInRes, 1384 bytes ?? idk


    onion.bmp,onion.ico,onion.ico

    ah wait you have BMP in there ??

    2f4a2017-f18f-4b16-af27-0fa951d8d002-image.png

    File,Open Containing Folder,cmd,,cmd.bmp,cmd.ico,cmd.ico

    restart

    72f5b447-bfe2-46c1-a8b4-fc22137f42ad-image.png

    woohoo !

    Wow, I was about ready to give up there !

    Thanks both of you, I will go with the CustomizeToolbar plugin as it give me that distinctive icon !

  • 0 Votes
    11 Posts
    443 Views
    PeterJonesP

    @JohnL22 ,

    … but since it’s essentially working for you, I have taken that as confirmation that the new perl.xml is an improvement, so it’s in a Pull Request now… hopefully, it will get merged for the v8.9.1 release candidate coming next week.

    update: PR has been merged,so it will be in 8.9.1

  • Macro problem

    Help wanted · · · – – – · · ·
    3
    0 Votes
    3 Posts
    162 Views
    mpheathM

    @guy038

    https://www.scintilla.org/ScintillaDoc.html#SCI_COPY

    copying data to the clipboard

    Is document to the clipboard.

    https://www.scintilla.org/ScintillaDoc.html#SCI_PASTE

    pasting from the clipboard into the document

    Is clipboard to the document.

    Both functions relate to the document in the editor. The copy function will be good for the task though paste will not work with the search window.

    Instead of SCI_PASTE, could use the Run command to run an executable to insert the clipboard text into the search window.

    AutoIt3 script automate_columns++_search.au3 :

    ; Wait up to 3 seconds for the window. $hSearch = WinWait('Search in indicated region', '', 3) If $hSearch Then $sClip = ClipGet() ; get clipboard text ControlSetText($hSearch, '', 'Edit1', $sClip) ; set combo edit ControlClick($hSearch, '', 'Button7') ; click regex button ControlClick($hSearch, '', 'Button9') ; click count button $sCount = ControlGetText($hSearch, '', 'Static3') ; read label ClipPut($sCount) ; set clipboard text EndIf

    Adjust the title if the window text is localized.

    Compile to executable and then add to Run as a command. Get the command id with NppUISpy and insert into the shortcuts.xml file.

  • 0 Votes
    2 Posts
    63 Views
    PeterJonesP

    See that ︿ above the Name column of the Document List? Like most tabular data tools (spreadsheets, or the data tables in Wikipedia, or what have you), that indicates that the data is being sorted by that column (if you right click, and add the extension column, you can sort by either column). The sort indicator is a 3-state toggle: pointing up ︿ means it’s sorting in alphabetical order, pointing down ﹀ means it’s sorting in reverse-alphabetical, and gone means it’s sorted in the order of your tabs.

    up ︿ down ﹀ none 98a5bc45-296d-41cb-8baf-635e729f540f-image.png 4b34c789-9bf5-4185-8d46-eceebbf07ced-image.png 1a0eadaa-367e-4f37-a2e0-0b84748c5cb1-image.png

    Nothing changed in Notepad++ itself; you just clicked that header once (intentionally or accidentally), so it’s now sorting alphabetically, like it thought you wanted. You just have to click it two more times to get it to match the tab order.

  • FYI: Notepad++ 8.9.1 RC will be available in about 9 days

    Announcements
    1
    2 Votes
    1 Posts
    344 Views
    No one has replied
  • 0 Votes
    6 Posts
    6k Views
    xomxX

    @Justin-Goodell said in Undo/Redo (CTRL+Z/CTRL+Y) behaves unexpectedly after a few hours (NppFTP, NPP 64-bit, Win11):

    use the “alt” key to highlight a chuck of text on multiple lines, then delete that section

    Yep, there was that “alt” column mode +DEL undo regression (from N++ v8.8.9), some details & STR in the fix-PR:

    https://github.com/notepad-plus-plus/notepad-plus-plus/pull/17307

    The fix is in the already released v8.9 but due to some other problems in that version, it hasn’t been triggered for a N++ autoupdate (so if you wanna use it, you have to dl & run the v8.9 installer yourself).

    @PeterKee
    Do you also use N++ macros?

    Currently I’ve identified another such (this time a longstanding) bug in the N++ codebase (PR fix is still in progress, it’ll be hopefully in the next version, for a STR look here).

  • Support for Plugins Admin & NppPluginList

    Notepad++ & Plugin Development
    47
    2 Votes
    47 Posts
    70k Views
    CoisesC

    @Ivo-Krab said in Support for Plugins Admin & NppPluginList:

    but modifying the C:\Program Files\Notepad++\plugins is understandably blocked without admin access.

    Would it not be possible to allow (as a config choice) to install them in %APPDATA%\Notepad++ instead

    The problem is that plugins in Notepad++ can do anything Notepad++ itself could do. They are C++ programs operating in the same security context as Notepad++ itself. From a security standpoint, allowing plugins in a directory that can be modified without admin access would be equivalent to allowing access to Program Files without admin access.

    As I recall, that was allowed at one time, and this is why it was removed. Security-sensitive organizations determined that they could not install Notepad++ at all unless they could stop users from installing their own plugins. The developer decided it was better to remove the capacity entirely than to try to implement a switch of some kind.

    The work-around, if you can run programs that are not installed in Program Files, is to use a portable copy of Notepad++. If you are not allowed to do that, then logically you would be forbidden to run Notepad++ plugins in a directory you control, since it would grant you exactly the same access.

  • Where is the Plugins Admin?

    General Discussion
    7
    0 Votes
    7 Posts
    260 Views
    Karlo-FK

    I’m guessing that GUP.exe and/or nppPluginList.dll somehow wasn’t updated before.

  • 0 Votes
    3 Posts
    181 Views
    Robert Or Janet DiebelR

    @PeterJones Thanx, much appreciated.

  • Notepad++ help for fast formatting date of births

    General Discussion
    5
    0 Votes
    5 Posts
    146 Views
    PeterJonesP

    @Laura-Harrison ,

    Don’t post essentially the same thing twice. The posting form reminds you that until you have enough upvotes, you have to wait for the posting queue for the post to show up.

    If all of your badly-quoted dates have the quotes in exactly the same places (3 digits, quote, digit, hyphen, quote, digit, quote, digit, hyphen, quote, two digits), then you can use a similar idea to above, but put each into capture groups using the (...) notation: FIND = (\d{3})"(\d)-"(\d)"(\d)-"(\d{2}) . Each capture group gets numbered 1-5 for each set of parens, and is $1 - $5 in the REPLACE WITH field. So REPLACE WITH = "$1$2-$3$4-$5"
    This will take

    199"0-"0"8-"28 199"2-"1"1-"12

    and make it

    "1990-08-28" "1992-11-12"

    But I have a feeling you are going to tell me in the next post that what you really have is quotes in different places each time, like

    1"99"0-"0"8-"28 199"2-"1"1-"12 "2"0"2"6"0"1"0"6"

    In which case, I’d say, look for “possible quote, digit, possible quote, digit, possible quote, …etc”, where “possible quote” is in regex as "? (which means "0 or 1 quote mark)
    FIND = "?(\d)"?(\d)"?(\d)"?(\d)"?-"?(\d)"?(\d)"?-"?(\d)"?(\d)"?
    REPLACE = "$1$2$3$4-$5$6-$7$8"
    REPLACE ALL
    would give

    "1990-08-28" "1992-11-12" "2026-01-06"

    (Note that if you had more digits than that, like if you also had hh:mm:ss, so it would be up to 14, the replacements for 10-14 would be ${10} - ${14})

  • Print colors?

    Help wanted · · · – – – · · ·
    3
    1 Votes
    3 Posts
    95 Views
    William EdwardsW

    @Coises Perfect! Thank you for your assistance…