Community
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics

    • All categories
    • CoisesC

      Search++: A work in progress

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      179
      7 Votes
      179 Posts
      56k Views
      CoisesC
      @guy038 said: I noticed a bug regarding the default style which is wrongly changed why you simply left clicking on any option Then, I right click in the search zone of Search++ and chose again the bla word. Now, the first command used changes the default setting ! Thank you for noting this. I can reproduce it. Any right-click in a Find or Replace box causes the next click on a search command drop-down or the Tools menu to behave as if it were a right-click. I will figure out why that is happening and fix it. If I understood you correctly, when the Bookmark lines when marking text option is unchecked, Search++ ignore totally the Bookmark feature. Thus, it just up to you to add / remove MANUAL bookmarks to some lines, if needed ! Right. The one exception is Synchronize bookmarks to marked text, which works whether Bookmark lines when marking text is checked or unchecked. My intent is that people who don’t typically want Search++ disturbing their bookmarks can still use Synchronize bookmarks to marked text after a Mark command, rather than having to change a setting before the Mark, which they would then have to remember to change back. However, I think the lack of an option to add bookmarks but not remove any might limit its usefulness, so I might change it in one way or another. It honors the every line / first line policy, so perhaps it should honor add/synchronize too, but then it would no longer be always a synchronize, and it would do nothing if the Tools option were “Do not add or remove bookmarks”… There’s definitely a design flaw here. Now, basically, a Mark command : Case 1 : can mark text Case 2 : can mark text and bookmark lines Case 3 : can un-mark text Case 4 : can un-mark and un-bookmark lines Thus, I suggest this new dialog : Search++: Configure bookmarks ☑ Bookmark lines when marking text. Bookmark policy ◉ Bookmark every line containing marked text. ○ Bookmark only the first line of each match or selection. Tools menu ☑ When a Mark command adds existing marks to text, also add bookmarks. ☑ When a Mark command removes existing marks from text, also remove bookmarks. Invert option policy ○ Invert the marked text and bookmark the concerned lines ◉ Invert the bookmarked lines and mark the concerned lines [OK] [Cancel] What is your feeling about it ? The existing When a Mark command removes existing marks from text, also remove bookmarks check box applies to Mark commands when Always unmark all text before Mark command. (Otherwise add to existing marked text.) in the Settings dialog is checked. That’s the only time a Mark command ever removes marks from text. It’s possible this shouldn’t even be an option (operating as if it were always checked) since Bookmark lines when marking text must also be checked, but I thought there might be the occasional person who would want to uncheck it. The choice under Mark tools applies to commands from the Tools menu (except Synchronize bookmarks to marked text) and has nothing to do with Mark commands. My wording needs more clarity; or possibly the problem is that the selection of available choices doesn’t make sense, and that’s why it’s hard to convey. Regarding the proposed Invert the bookmarked lines and mark the concerned lines: the command would clear all marks from text, invert the bookmarks, then mark every character in every line that was bookmarked? Does that include or exclude line endings? What does it do if Bookmark only the first line of each match or selection is in effect? I’m really tight on available menu mnemonics (the underlined letters) and memorable shortcut keys on the Tools menu, to the point where adding much more will mean I either have to remove something or use sub-menus (with limited shortcut possibilities): but this sounds more like it should be a separate command than a setting that changes how Invert marked text works. In that case, though, since Inverse Bookmarks is already a Notepad++ command, I wonder if something else (like Mark or Select all text in bookmarked lines) would be more versatile? I shudder to invent yet another conditional search, but maybe Find All / Select / Mark / Show in Bookmarked lines is what is really wanted here. (And then that leads to wanting to bookmark lines containing a match without bothering with marking the text…) I will take ideas from your dialog, but it doesn’t quite represent the options that are available now. Invert and the implications thereof I am still thinking about. Why not make the entire menu, under an unchecked Bookmark lines when marked text option, gray, in this new dialog ? Putting it at the top and disabling the options when it is not checked would help clarify the relationship between it and the other settings, but there is one problem: the “Bookmark policy” (”every line” or ”only the first line”) applies to Synchronize bookmarks to marked text, which works even if Bookmark lines when marking text is not checked. (Again, this could represent a design flaw.)
    • donhoD

      Notepad++ release 8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      26
      6 Votes
      26 Posts
      8k Views
      R
      @PeterJones Oh!! Understood!! thank you!!!
    • donhoD

      Notepad++ release 8.9.8.1

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      15
      3 Votes
      15 Posts
      1k Views
      donhoD
      @Artur-Harison I don’t think the 2 issues you have are the regressions. Could you open these 2 issues on Github?
    • Vitalii DovganV

      Improving Find in Files performance

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      14
      1 Votes
      14 Posts
      722 Views
      Thomas KnoefelT
      Thanks a lot @guy038 for running the whole thing again, this time it didn’t finish in seconds ;-) Nice to see the results panel still usable with almost 10 million hits, even the jump to line 690 in that DLL at the very end. Interesting that walking the whole drive for those 130 PDFs takes almost the entire run, 5m45 of 5m48 for MultiReplace, and it’s the same picture with the other tools. The 4 “not decodable” are most likely UTF-16 files with an odd number of bytes. N++ simply drops the last byte there, the next MultiReplace build will do the same in Find in Files (Replace leaves them alone, writing them back would lose that byte). Speed is next on my list.
    • donhoD

      Notepad++ Release Candidate v8.9.8.1

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      14
      2 Votes
      14 Posts
      2k Views
      S
      @donho Typo: “7 Fix Netork Path Warning dialog usability problem.” --> Network
    • B

      Why headings are not displayed in the function list menu ?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      11
      1
      0 Votes
      11 Posts
      617 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
    • Keith CollyerK

      wireloom in markdown viewers

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      8
      0 Votes
      8 Posts
      598 Views
      rdipardoR
      I said: In case anyone else is interested, you can try previewing plain-text wireloom files with this development build of Preview HTML. This feature has now been merged, with additional support for offline Markdown previews that will render wireloom code blocks: [image: 1790348955006-wireloomx898.gif] All rendering is done by client-side JavaScript modules, so MS Edge is still required. @Keith-Collyer said: What would be really good would be if the developers of these re-merged their plugins! Don’t look now, but no fewer than three new Markdown plugins have appeared in the past two weeks — and they all depend on the WebView2 runtime (i.e. Edge).
    • A

      Problem with inactive/unavailable Plugins Admin on v8.9.8

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      10
      0 Votes
      10 Posts
      681 Views
      A
      @peterjones Installed Notepad++ v8.9.8.1, and this problem went away [image: 1790343129511-%D0%B1%D0%B5%D0%B7%D1%8B%D0%BC%D1%8F%D0%BD%D0%BD%D1%8B%D0%B9.png] p.s. And I don’t need to unblock files received from the Internet, because after a clean install of any Windows, I will block this option through the registry.
    • PeterJonesP

      Testing nppPluginList for new/updated plugin

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      8
      0 Votes
      8 Posts
      615 Views
      rdipardoR
      @PeterJones said: If you’ve got steps that work for doing a local debug build, that would be helpful. > where cmake C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe > type .\build_gup.ps1 param ( [string]$Configuration = "Debug", [string]$Platform = "x64" ) if (-not $(Test-Path "${PSScriptRoot}\wingup\.git")) { git clone --single-branch https://github.com/notepad-plus-plus/wingup.git wingup } try { pushd "${PSScriptRoot}\wingup" $CmakeArchParam=$(if ("$Platform" -imatch "x86") {"Win32"} else {"$Platform"}) $LibPlatform=$(if ("$Platform" -imatch "Win32") {"x86"} else {"$Platform"}) cmake -S ".\curl" -B ".\curl\build\$LibPlatform" -A $CmakeArchParam ` -DBUILD_SHARED_LIBS=OFF ` -DCURL_STATIC_CRT=ON ` -DBUILD_CURL_EXE=OFF ` -DCURL_USE_SCHANNEL=ON ` -DCURL_USE_OPENSSL=OFF ` -DBUILD_TESTING=OFF ` -DUSE_LIBPSL=OFF ` -DCURL_USE_LIBPSL=OFF ` -DUSE_NGHTTP2=OFF ` -DUSE_LIBIDN2=OFF cmake --build ".\curl\build\$LibPlatform" --config $Configuration pushd vcproj msbuild GUP.sln /v:m /p:configuration=$Configuration /p:platform=$LibPlatform popd } catch { $_.InvocationInfo.PositionMessage; $_.Exception.Message } finally { popd } > powershell .\build_gup.ps1 Debug x86 # ...
    • Carlos SánchezC

      [New plugin] Smart Math

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      9
      1 Votes
      9 Posts
      1k Views
      PeterJonesP
      @Vitalii-Dovgan , I don’t think the Plugins Admin will be able to do all of that on its own. The DLL needs to be at the top level of the zipfile. What you could do is to have your plugin intialization look for the autoCompletion and userDefineLangs files in the appropriate locations (use NPPM_GETNPPSETTINGSDIRPATH to make sure you put the UDL in the right per-user place, regardless of doLocalConf, -settingsDir, CloudDirectory, or normal AppData; autoCompletion always goes relative to NPPM_GETNPPDIRECTORY – and for any that are missing, copy from ...\plugins\SmartMath\ subfolder(s) into the right destinations. A possible zipfile structure could be: SmartMath.dll doc\ SmartMath.md autoCompletion\ SmartMath.xml userDefineLangs\ SmartMath.udl.xml SmartMath_Dark.udl.xml That would all get placed in ...\plugins\SmartMath\ Because autoCompletion definitions are in the program directory hierarchy, there may be a permission issue, so you’d have to request elevated permission to do that copy; examples of how I did that can be found in my ConfigUpdater plugin. (The plugin itself is not so useful, since I moved that feature to N++ itself, but some of the code is still useful reference.)
    • L

      ASCII Sort Order

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      7
      0 Votes
      7 Posts
      521 Views
      L
      @PeterJones, Thank you for your considered (and considerate) engagement. I actually hesitated to respond with my comment about the 70s and 80s, pretty sure I would get what you gave, but I couldn’t resist—I’m old (83 next month). Anyway, thanks again for putting up with me. …lee
    • Neculai I. FantanaruN

      Add Increment Number (part 2)

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      7
      0 Votes
      7 Posts
      449 Views
      CoisesC
      @PeterJones said: PeterJones said: I assume the Search++ syntax would be the same Per the Search++ announcement, it can do the numeric calculations that were first developed for Columns++. I should update the FAQ soon… I recommend waiting on that update. Search++ is not “production ready” yet. People shouldn’t be using it at present unless they want to be beta testers. Once I reach a 1.0 release I’ll make a serious effort to avoid changing things that people would expect to stay the same, but right now, anything could be changed at any time. Numeric expressions in Search++ do not have quite all the features of numeric expressions in Columns++; in particular, the history options (using the values captured or computed in a previous match) aren’t supported in Search++, and the exprtk return statement isn’t supported. However, I think all the features directly cited in the Math FAQ are included. The reg(1) syntax still works, but in Search++ you can use $1 as well. However, a quirk is that since Search++ doesn’t have the persistent Decimal separator is comma option of Columns++, it’s necessary to use regc(1) or $$1 for European-style numbers with periods and/or commas. Finally, Columns++ can only work on the active document. Search++ has a Find in Files option, but Replace in Files has not yet been implemented. So if your guess was correct and @neculai-i.-fantanaru wants a regular expression because it must be applied to many files at once, @thomas-knoefel’s MultiReplace is the best choice among presently-existing options. Oh, and MultiReplace has recently added an option to use exprtk formulas as an alternative to its Lua syntax.
    • M

      is there a way to save a file as .srt?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · saving files srt
      6
      0 Votes
      6 Posts
      371 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.
    • T

      Confirmation or disable the Find All in All Opened Documents

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      288 Views
      mpheathM
      @Timothy-Baxendale Need care not to interact with the buttons that do multiple documents. A not so ideal solution as it is external could be to use an AutoIt script to monitor and disable these buttons. ; Window title and text of the button. Global $aWnd[2][2] = [['Find', 'Find All in All &Opened Documents'], _ ['Replace', 'Replace All in All Opened Doc&uments']] ; Keep looping as persistant disabling of the buttons is needed. While 1 While ProcessExists('notepad++.exe') For $i1 = 0 To UBound($aWnd) - 1 $hWnd = WinActive($aWnd[$i1][0], $aWnd[$i1][1]) If $hWnd Then If ControlCommand($hWnd, '', $aWnd[$i1][1], 'IsEnabled') Then ControlDisable($hWnd, '', $aWnd[$i1][1]) ExitLoop EndIf EndIf Next Sleep(500) WEnd Sleep(1000) WEnd The window title text and button text needs to accurate. This text is based on the default English locale. The loops will continue running. If need to pause and use the buttons, then the icon in the System Tray will pause the script on click. Click Script Paused to uncheck the item to continue with disabling the buttons. Click Exit to end the script. The AutoIt interpreter and compiler are located: https://www.autoitscript.com/site/autoit/downloads/
    • Roberts RozisR

      Feature Request: Find in Files > In all Subfolders > [nn] levels deep only

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      6
      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
    • B

      Code is not working

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      4
      0 Votes
      4 Posts
      415 Views
      guy038G
      Hello, @blake-g.-barrington, @peterjones, @coises and All, Here is my version to get duplicate lines, separated by any number of lines ( whatever they are : true empty lines, blank lines or lines with text ), even zero line : MARK (?-si)^(.+)(?=(.*\R)+\1$) As said by @Peterjones, and after some tests, this kind of regex get into trouble when the bunch of lines, between two duplicate lines, exceeds 15,000 empty lines about ! Now, Let’s suppose you create this text file : first 0002 0003 0004 0005 .... .... .... 9997 9998 9999 10000 first Then the (?-si)^(.+)(?=(.*\R)+\1$) regex returns : Correct result until the number of the in-between lines does not exceed 1,600, with the message 1 match in entire file Correct result until the number of the in-between lines does not exceed 12,000, although the error message Find Invalid Regular Expression ( So F.I.R.E. !! ) occurs ! NO result at all if the number of lines is over 12,000 lines, with, of course, the error message Find Invalid Regular Expression Best Regards, guy038 P.S. : I should add that my Windows11 laptop has 32 Gb of memory !
    • guy038G

      Some options of the advanced NodeBB search no longer work correctly !

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      1
      2 Votes
      3 Posts
      272 Views
      PeterJonesP
      @guy038 , I have also noticed that, recently, the username filter in the advanced search page doesn’t populate usernames. I had thought it might have just been me. I know that @barisusakli from NodeBB occasionally logs in, and they recently updated the forum software for us… maybe that version had a bug, because the admin panel says there’s another version available since they last updated us. Until then, once you make your search, you can edit the URL to set &by=PeterJones to search for my posts (right now, the URL probably has &by= with no value). It’s not as convenient as the drop-down, but it is a workaround.
    • Thomas KnoefelT

      [New Plugin] MultiReplace

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      81
      3 Votes
      81 Posts
      87k 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!
    • Charles BillowC

      Set or change the default font in NP++

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      312 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.)
    • FranciscoF

      rename files

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      277 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