• Search++: A work in progress

    Notepad++ & Plugin Development
    155
    6 Votes
    155 Posts
    49k Views
    CoisesC
    @guy038 said: Personally, your concept of a default scope bothers me a little, because it’s hard for me to know, in advance, which actions will be automatically selected by the plugin ! (It occurs to me that perhaps I should call it “adaptive” rather than “default” scope. Within the program code I called it “Smart,” but by the time I got the help and UI together I decided that word sounded too pretentious.) The uncertainty about what action a button will perform bothers me, too. I’m still trying to think of a way to mitigate that. I think the idea of an adaptive scope is useful, but I don’t like that you can’t confirm what actual command a button with adaptive (default) scope will perform at a glance, before clicking it. You just show six one-letter buttons and two one-letter button for the replace actions, as below : |F| |C| |A| |S| |M| |H| : Find Count find All Select Mark sHow |R| |A| Replace replace All All these simple-design buttons would open a common dialog box, in which the selected action — one of the eight possible options — would be already selected by default. This dialogue could be based on the table shown above ! Then, you’ll just have to check your present scope and extent choices for the chosen action Optionally a message, summarizing everything that has just been selected, could be displayed Then, this new dialog would end with three buttons : A Define button to attribute a default configuration ( scope and extent ) for the chosen action, without any execution. A Run button to start the chosen action, without any default configuration to apply to And, of course, a Cancel button, or an hit on the ESC key, to dismiss the chosen action In other words, no more drop-down menus ! Instead, a new configuration dialog to confirm the default scope and extent values of the chosen action AND / OR the execution of the chosen action, with the present options checked in the scope and extent sections There are surely some drawbacks to my proposal ! Anyway, what’s your feeling about this radical change ? At first I thought you meant every single action would require clicking a button, looking at a dialog to verify the options are what you want, then clicking a button in the dialog to actually do the action. What is now Find, Find, Find would become F, dialog opens, check defaults (change them if wrong and Define), Run, F, dialog opens, Run, F, dialog opens, Run. That would be way too much interruption of flow for a user doing simple things. Of course, you could, in one go, click first on the Define button, then click on the Run button Since this implies that Define does not close the dialog, perhaps you also intend that Run does not close the dialog. That would allow for repetitive actions, at the expense of having this dialog (in addition to the main Search++ dialog) on the screen while doing them, and having to click another button to close it after the last or only action. I’m sorry, but it sounds to me as if it would be very clumsy to use. Dialogs are even more of an interruption than menus. It would also defeat the purpose of a docking dialog if another dialog has to be raised to actually do anything… unless it is also docking… In my opinion, the main buttons must do something that’s usually useful with a single click. To what degree that should be “adaptive” (e.g., in selection when there is a “large enough” selection) is debatable: adaptation increases the chance that you can do what you want with a single click, but also increases the chance that what a single click does won’t be what you expected. I think six buttons under the find box would be too busy, making it harder for the user to immediately identify and click the desired button. A busy layout doesn’t bother me as much with something like the Settings dialog (which, I admit, is horrible) that you don’t open often, but for something that’s meant to be used frequently, maybe even kept open in a docking panel, visual simplicity is important. For what it’s worth, you can get some aspects of your idea now. Just use Shift+click on each drop-down menu to choose a command that does not use default scope as the command for the button. Click the button when you want to Run what you already have set. If you want to Run a different command, select it from the drop-down. If you want to Define and Run a different command, Shift+click it in the drop-down. (There is no equivalent to Define without Run.) Additionally, in the Settings dialog you can uncheck Default commands automatically search within selections. and Default commands automatically search within marked text. to disable the adaptive mechanism, so that default scope is always Whole Document and even if you select a plain command (Find, Count, etc.) Search++ will never infer anything other than Whole Document.
  • Notepad++ Release Candidate v8.9.8.1

    Pinned Announcements
    9
    2 Votes
    9 Posts
    542 Views
    donhoD
    @xomx Here’s the old build machine’s state, and it explains why: [image: 1789781198154-031680d6-3a10-46b9-8a5f-912f5710df9c-image.jpeg] However, though I know that it was me who did this modification, I don’t remember why.
  • Praise Notepad++

    Praise Notepad++
    3
    1
    3 Votes
    3 Posts
    3k Views
    F
    @Maddox-Armstrong said: @FreeMeow I goon to Notepad++ :P 666还有蜥蜴人
  • You've a lot of reasons to hate Notepad++

    Pinned Boycott Notepad++
    92
    5 Votes
    92 Posts
    185k Views
    F
    作者的大黑几把干的我豪爽。啊啊啊啊啊要去了。
  • 傻逼软件,傻逼作者,傻逼呆湾人

    Boycott Notepad++
    7
    -1 Votes
    7 Posts
    5k Views
    F
    坚决维护共产党!任何邪恶中将绳之以法{亥~}。打响时我直接娟500m,掌上永远有这个钱!我要购买鸿星尔克,(不吃白象方便面不健康)直接就是一个练~起~来~曼watkanaisay曼波曼波。我都已经这样了你为什么布顺从我? 正在使用花为18 uitra啊啊啊啊这个这个啊啊啊是吧
  • 叮咚鸡叮咚鸡,大狗大狗叫叫叫

    Boycott Notepad++
    1
    -1 Votes
    1 Posts
    39 Views
    No one has replied
  • Notepad++ release 8.9.8

    Pinned Announcements
    24
    6 Votes
    24 Posts
    6k Views
    PeterJonesP
    @RoxxiedaPunk said: my Notepad++ isn’t updating to 8.9.8. That’s because it was not triggered for auto-update. The downloads page at https://notepad-plus-plus.org/downloads/ will indicate the most recent auto-update version with “(stable: auto-update triggered)” or similar phrasing. As of today, 8.9.7 is the last triggered version. The manual explains the reason for not immediately triggering a new version for auto-update here: https://npp-user-manual.org/docs/upgrading/#no-new-version-found-safety-delay. In this case, there were some critical fixes needed, hence today’s v8.9.8.1 Release Candidate
  • 0 Votes
    8 Posts
    332 Views
    PeterJonesP
    @andrecool-68 said: All the mark of the web looks okay, and all the files are in the right place. I am not sure why it’s not working for you. With a similar installation, but 64-bit, I have no problems with Plugins Admin Admin mode: ON Can you try running not as administrator. That can sometimes mess up permissions, so maybe for some strange reason, your Admin has been denied privilege on one or more of the DLL or EXE files mentioned? installing the 64-bit 8.9.8 on that machine, instead of 32-bit, and see if it behaves the same? confirm that you don’t have this problem with v8.9.7 on the same setup First few experiments on my end: 8.9.8-64bit, non-Admin: my daily driver, and I use Plugins Admin frequently: [image: 1789590084696-dc568790-b6ce-4a3c-aaaa-422d9f5937c8-image.jpeg] 8.9.8-64bit, Admin: [image: 1789589967329-aeeef823-c099-463b-b884-00b51add713b-image.jpeg] 8.9.8-32bit, Not Admin: [image: 1789589989950-e94d8be8-7ade-4530-8536-01033d4d4e35-image.jpeg] 8.9.8-32bit, Admin: [image: 1789590011468-5247e7c8-2097-41fe-ad98-0ed554c34815-image.jpeg] So, so far, on my Win 11 machine, I cannot replicate with 64-bit or 32-bit, admin or no, with the portable (or the installed, for 8.9.8-64) Update Virtual Win 10 machine: Portable 32-bit: Plugins Admin is there, whether normal run or Admin Portable 64-bit: Plugins Admin is there, whether normal run or Admin Installed 64-bit: Plugins Admin is there, whether normal run or Admin Installed 32-bit: Plugins Admin is there, whether normal run or Admin [image: 1789591116798-5959e708-0015-4e87-8f3a-50f4928df7b7-image.jpeg]Notepad++ v8.9.8 (32-bit) Build time: Aug 23 2026 - 17:20:01 Scintilla/Lexilla included: 5.6.6/5.5.3 Boost Regex included: 1_90 pugixml included: 1.16 nlohmann JSON included: 3.12.0 Path: C:\Program Files (x86)\Notepad++\notepad++.exe Command Line: Admin mode: ON Local Conf mode: OFF Cloud Config: OFF WinGUp: present disableNppAutoUpdate.xml: absent Periodic Backup: ON Placeholders: OFF Scintilla Rendering Mode: SC_TECHNOLOGY_DIRECTWRITE (1) Multi-instance Mode: monoInst asNotepad: OFF File Status Auto-Detection: cdEnabledNew (for current file/tab only) Dark Mode: OFF Display Info: primary monitor: 1024x666, scaling 100% visible monitors count: 1 installed Display Class adapters: 0000: Description - VirtualBox Graphics Adapter (WDDM) 0000: DriverVersion - 7.1.8.18469 OS Name: Windows 10 Home (64-bit) OS Version: 22H2 OS Build: 19045.5854 Current ANSI codepage: 1252 Plugins: mimeTools (3.1) NppConverter (4.7) NppExport (0.4) I tried to get as close to your setup as I possibly can, and I still cannot replicate your problem. If what I have suggested to you to try doesn’t help, then you’ll have to wait for someone else to have some ideas. Good luck,
  • [New plugin] Smart Math

    Notepad++ & Plugin Development
    7
    1 Votes
    7 Posts
    1k Views
    Vitalii DovganV
    Here are the latest binaries if you are interested: 32-bit: https://drive.google.com/file/d/1jmKaSU5YF2Hd2mHKAWDZyG4NDfx99Xnc/view?usp=drive_link 64-bit (x86_64): https://drive.google.com/file/d/1mrqNicsfjfJITmrfeHlG2WEzgHZdokI-/view?usp=drive_link
  • 0 Votes
    6 Posts
    1k Views
    guy038G
    Hello, @Roberts-Rozis, @Peterjones, @dennis-bulgrien, @coises and All, @Coises, I did some tests with my D USB key and with your Search++ plugin and the following generic regexes solve the problem nicely : So, @Roberts-Rozis and @dennis-bulgrien : Select The Plugins > Search++ > Search in Files... option Select your média (C, D, … ) on the left and don’t forget to check the Subfolders option and, possibly, the Hidden files option Select the Reg. exp. option for the Filter : type In the filter box : • For a search of any file, even WITHOUT extension, between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+ • For a search of any file, WITH an extension, between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+\..+ • For a search of any file with the EXACT extension 'txt' or 'log' or 'ini', between level N minimum and M maximum, enter : ^(?:[^\\]+\\){N,M}[^\\]+\.(?:txt|log|ini)$ You may also add a size and/or a date condition Of course, check your desired search options Finally, click on the Find in Files button IMPORTANT : Replace the letters N and M by true digits, with the condition N <= M. The M value may be missing ! The syntax of these regexes are specific to the Search++ These regexes allow any search in an arborescence, from level N minimum to level M maximum. However : You may search from level 0, if necessary You can go through all the structure with the 0, or the N, syntaxes Note that you can simulate the Search++ filtering mode by using one of the regexes below, directly in Notepad++ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+$ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+\..+ ^(?:[^\\\r\n]+\\){2,4}[^\\\r\n]+\.(?:txt|log|ini)$ Against the text below, that you’ll paste in a new tab : 987.txt abc\123.txt abc\def\456.txt abc\def\ghi\789.txt abc\def\ghi\jkl\012.txt abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\999.txt 987.txt abc\123.txt abc\def\456.txt abc\def\ghi\789.ini abc\def\ghi\jkl\012.log abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\999.txt LICENSE abc\LICENSE abc\def\LICENSE abc\def\ghi\LICENSE abc\def\ghi\jkl\LICENSE abc\def\ghi\jkl\mno\pqr\stu\vwx\yz\LICENSE You may also try, for example, the cases {0,3} or {0,} or even {4,}. Enjoy ! Best Regards, guy038
  • 1 Votes
    4 Posts
    2k Views
    D
    It never inserts the text at the caret’s position for me: it either moves up a line and/or replaces the existing text. What am I misunderstanding?
  • 0 Votes
    2 Posts
    102 Views
    PeterJonesP
    @Allinmyhead , Notepad++ has no notion of “post”. It just sees a big blob of text, and tries to apply the search string you give it. If you search for just your username, that’s the only piece that will match. If you use a more complicated regular expression (“regex”), you can define a fancy search that will match more. If you gave more details about what a “post” is formatted in text, we could help you come up with the right regex. For example, if the post is username: blah blah blah [newline][newline], then something like ^username: .*?\R\R would find everything from username: to the two newlines in a row. But Notepad++ is not just going to “hide” everything else, and allow you to look at just that. As you do each Find Next, it will just highlight the entire match. It might be possible, if you gave us examples of what this file would look like, to be able to strip out “posts” that aren’t yours, instead. (Similar to the above, but matching anything but your username at the start of the post). But until you give us example data that matches your formatting, and show which posts you’d like to keep and which to delete, there is no way we could randomly come up with the right regex to help you. Click the </> button in your reply. Put some data in the code-box that creates. Make sure the data matches your actual data, and is formatted exactly the same. Indicate which “posts” you’d like to keep vs delete. Make sure you give us a description of how you, as a human, would recognize where one post starts and ends. Update: it might actually be easier to use the Mark dialog to mark all the username posts, rather than the find/replace to delete the non-username posts. That would allow “copy marked lines”, and then the username-only ones could be pasted in a new file, rather than deleting the non-username posts from the original. But it depends on the shape of the data, and whether you’d prefer to just delete from your old file or create a new one…
  • wireloom in markdown viewers

    Notepad++ & Plugin Development
    7
    0 Votes
    7 Posts
    391 Views
    rdipardoR
    @Keith-Collyer said: I ended up adding a request to the markdig library here: https://github.com/xoofx/markdig/issues/952 👍
  • [New Plugin] MultiReplace

    Notepad++ & Plugin Development
    81
    3 Votes
    81 Posts
    85k Views
    Thomas KnoefelT
    MultiReplace 6.1 is out and will land in Plugin Admin with the next Notepad++ release. The focus of this release is Replace All in One Pass, running the whole list in a single left-to-right sweep instead of one full pass per entry, together with a reworked Find/Replace in Files and a handful of list and UI improvements. Several new options live under Plugins > MultiReplace > Settings. Download: Latest build Key Features & Improvements Replace All in One Pass: Runs the whole list in a single pass instead of one full Replace All per entry, so results build on each other left to right. With cat → dog and dog → cat, sequential mode turns “cat dog” into “cat cat”, one pass turns it into “dog cat”. Much faster on large documents. Toggle per tab, right-click the list tab. Use Open Documents: Find/Replace in Files can now work on files already open in Notepad++ as the live document, unsaved changes included, instead of the copy on disk. New checkbox in Settings. Skip Binary Files: New option for Find/Replace in Files (on by default), same detection as ripgrep and VS Code. Also adds UTF-16 detection without a BOM, and skipped files are always reported, broken down by reason. CSV Header Rows: Find/Replace now always searches header rows too. “Header rows to exclude” only protects sorting and duplicate detection. Collapse to File List: New Search Results dock option folding every search block down to just file names and hit counts. Ctrl/Shift-click works in the fold margin, same as Notepad++'s own Search Results panel. Library Mode: “Keep list always visible” can now be switched right from the Use List button’s context menu, no detour through Settings. Add New Row: Takes over the dialog’s current search options instead of starting all off. Find/Replace text still starts empty. Duplicate Row Reporting: A list row that exactly duplicates an earlier enabled one is skipped as before, but the status line now tells you how many rows were skipped. [image: 1789296944806-e15a9d23-6db6-4411-a694-d44fc95300e5-image.jpeg] Issues or suggestions: GitHub. Happy replacing!
  • SetFirstVisibleLine not working?

    Notepad++ & Plugin Development
    10
    0 Votes
    10 Posts
    2k Views
    PeterJonesP
    @peter-wall said: It works if that setting is off. It works, full stop. You just need to understand the documentation. As ScintillaDoc says for SCI_SETFIRSTVISIBLELINE, “These messages retrieve and set the line number of the first visible line in the Scintilla view. The first line in the document is numbered 0. The value is a visible line rather than a document line.” (emhasis added). The “document line” in Scintilla is the same thing that Notepad++ numbers in the line number column: it’s the real line, no wrapping. The “visible line” is affected by hiding lines and/or wrapped lines: if you have lines hidden in the document, that can decrease the visible line index relative to the document line number; if you have lines wrapped, that can increase the visible line index relative to the document line number. Scintilla has commands like SCI_VISIBLEFROMDOCLINE and SCI_DOCLINEFROMVISIBLE to help transform between the two concepts, and SCI_WRAPCOUNT will help you determine how many visible lines a single document line will become. If you want to turn word wrapping off, set your visible line, then reinstate word-wrapping, that’s fine; but the Scintilla messages provide other ways to allow you to correctly handle visible-line vs display-line.
  • Set or change the default font in NP++

    General Discussion
    3
    0 Votes
    3 Posts
    237 Views
    PeterJonesP
    @Charles-Billow said: I see how to change fonts etc. for the document I am working on, but how do I change the default font/size/ and zoom level as the default for all new documents? The way you phrased that makes me think you might not understand what a text editor is. Text files are stored as the raw text: no individual text file / text-based-document has any concept of its own font or font-size. It is just text, and it is up to the text editor to decide what font or size to use. If you set Notepad++ to use a specific font or font-size, using the dialog that @markusbodensee shared with you, that will affect how Notepad++ displays it, but MS notepad.exe or VS Code or gvim will all use their own font and size, because it’s up to the app, not the file, what font and size to display text in. If you’ve changed the font and size that’s used “in the current document” in Notepad++, you’ve changed the font and size for all documents, new or old, in Notepad++. As far as Zoom level goes: Notepad++ remembers your previous zoom when you exit. But if you’ve set a reasonable font size as your default, then zoom should normally be at 100% (which is the default if you haven’t zoomed in or out yet). If you’re to the point that you start thinking you want to have the default zoom bigger or smaller than 100%, then think to yourself: do you really mean that you should change the font size bigger or smaller, instead? (Then again, some people are still killing trees from their text editor, so if you’re printing to paper, maybe you have one of the few use cases where it makes sense to use a smaller font but larger zoom, or vice versa.)
  • 0 Votes
    11 Posts
    492 Views
    B
    @PeterJones Thank YOU so much I copy Your overrideMap & udl_markdown in my folder and problem is solved. I wish program by default have this option. Thank you again dear Peter
  • rename files

    General Discussion
    3
    0 Votes
    3 Posts
    211 Views
    guy038G
    Hello, @francisco, @gerdb42 and All, There are plenty of solutions ! The following one will ensure that the . matches newline option will not be used even it’s checked and that the Match case option is enabled even it’s not checked ! FIND (?-si)_.+(?=\.txt) REPLACE Leave EMPTY Best Regards, guy038
  • 4 Votes
    1 Posts
    297 Views
    No one has replied
  • 0 Votes
    6 Posts
    293 Views
    CoisesC
    @Midnitecata said: @PeterJones thank you for your help, ill probably steer clear of it just out of caution, but i might look into it further should the tedious formatting inconvenience me enough to learn how to spot malicious code! thanks again!! :) Just a side note to this discussion: While you certainly can manipulate *.srt files in Notepad++ (and I do on occasion), for most purposes the free and open source program Subtitle Edit (found here on GitHub) is much easier to use. It has many functions for doing things like shifting times, identifying likely errors, and so on. Before working too hard to find a way to do something with a subtitle file in Notepad++, I recommend checking first to see if Subtitle Edit already knows how to do it.