• FORUM: Posting Queue

    Pinned
    10
    1
    12 Votes
    10 Posts
    13k Views
    Ivy_PearsonI
    Thanks for the update, Peter. Totally understand the need for a posting queue—spam is getting tricky these days. Hopefully, it won’t take long to get posts approved once you earn reputation!
  • Please Read This Before Posting

    Pinned Locked faq newbie
    1
    4 Votes
    1 Posts
    11k Views
    No one has replied
  • Feature Request: Parallel Processing (Multithreading)

    17
    0 Votes
    17 Posts
    5k Views
    CoisesC
    @gstavi said: (You replied to my comment, but I’m not sure this was directed to me. In case it was…) Professionals who search 100,000s of files with Notepad++ are not professionals. Professionals, when they reach that scale (and long before), use command line tools. Then they open the found files in an editor. Possibly Notepad++. I don’t really care who is or isn’t a “professional.” I started working on Search++ mostly to experiment with some user interface changes to provide more flexibility, while also wanting to expose the enhancements (formulas, more complete Unicode support) I built into the search in Columns++ in a more general-purpose framework. It’s all way too much to propose as a change to the base program. I’m hoping that eventually (there is much work yet to be done) it can be a practical alternative to Notepad++’s built in search for people who like the user interface changes. So, along that line, my current phase of development is working on Find in Files. Because I don’t rely on Scintilla’s interface for regex searching (I use a separate copy of Boost::regex with custom iterators directly against the Scintilla buffer), I can skip Scintilla entirely when reading files from a folder. The main performance bottleneck of search in files was that every file was fully loaded into Notepad++, then its encoding was guessed. Probably with extra overhead as if this file is about to be displayed. Then its contents were scanned for matches as if it was regular search. Simple, elegant and SLOWWWW. That part I skip, except that I still have to work out the encoding. Right now I handle all three forms of byte order mark, and in the absence of a BOM I differentiate valid UTF-8 (including pure ASCII) from anything else — anything else being processed using the system default code page encoding. I don’t yet handle files with an internal character set declaration (like HTML or XML), UTF-16 without a byte order mark, or legacy code pages other than the system default. The #1 required performance optimization is to have “search files as utf-8” feature which is basically grep. Assume all files are utf-8 (or ascii or binary). Scan them with efficient buffer by buffer linear algorithm without loading the entire file to Notepad++. But this is a different new feature, not optimization of current search which is still needed by people who (for some reason) use multiple encodings. I have part of this optimization (no Scintilla and no encoding conversion, just use the correct iterator for the detected encoding), but I still read the entire file into memory, because processing the full possible range of Boost::regex regular expressions without the entire text present would be very challenging (if not impossible). I gather grep is normally limited to line-by-line processing; that wouldn’t fit with what people expect from regular expressions in the context of Notepad++. It has occurred to me that a future (probably far future) enhancement to my plugin might be to offer the RE2 engine as an alternative. Since it doesn’t backtrack, processing gigantic files without needing to read too much data into memory at once would be possible. The #2 performance optimization is probably asynchronous I/O before multithreading. Maybe with modern NVME drives this is less true than it used to be with spinning disks. Still true for search over network share. I’m still experimenting. My last public version (Search++ 0.6.3.1) uses memory-mapped I/O for files that are not remote, but further testing has shown me that has little-to-no gain over just sequentially reading the files into a buffer for either my NVMe SSD or an internal hard drive. The next thing I plan to try is “decoupling” reading and searching. Right now each thread reads and then searches; there might be some gain from separating those (a reading pool pushing to a queue from which a searching pool pulls), though my experience over the past two or three weeks has shown me I can spend a great deal of time pursuing a theoretically better alternative only to have it make no real-world difference at all. So far the most stubborn problem I’m up against is figuring out how many I/O operations to submit at once. An SSD definitely benefits from letting all cores hit it with requests at once. A USB thumb drive suffers from that, and can actually perform worse than single-threaded… except when the files are cached from just having been read before, in which case they act like an SSD. For a remote share, the optimal number of simultaneous requests probably depends on the current state of the network — something I have no real way to model and test. If you happen to know of a practical, real-world implementation of Windows code that determines at run time how many simultaneous read operations to issue against whatever is hosting a given folder for maximum throughput, please tell me about it. Multithreading is 3rd priority. It is extremely unlikely with original algorithm and rather easy for search as utf-8. I’ve managed to get around 13 times the performance of Notepad++ native search on an SSD in a system with an i-9 9900K (16 threads). Some of that is probably due to avoiding the use of Scintilla, and some (I think most) to multithreading. I am definitely not a “professional” when it comes to having a clue how to measure performance properly, though, so not too much should be made of any of it. But again, opinions of people who can’t mix and match the right tool for the job and insist that every tool should adapt itself to their selfish needs should not have much weight. Agreed about the “insist” part. It’s almost always more productive to learn about what tools exist than to whine about how the one with which you are familiar doesn’t work the way you wish it did. Yet users’ complaints are how those of us who develop software learn about what might be useful. That doesn’t mean we always can or should give people what they think they want — they know what impedes or annoys them, not the best way to make it better — but it tells us where existing tools fall short. It’s up to us to design ways to fill in the gaps, though not always the way a non-programmer might have imagined it.
  • macro question re:

    7
    1
    0 Votes
    7 Posts
    267 Views
    guy038G
    Hello, @troglo37 and All, OK. So let’s start off slow ! First of all, I’d like to check with you to make sure we’re on the same page about our goal : If we begin with this text : Our friends Sarunas, Dorde, Orjan, Pawel, Stefania, Angel and Ugur had already left Our friends Šarūnas, Đorđe, Ørjan, Paweł, Ștefania, Ángel and Uğur had already left Our friends Šarūnas, Đorđe, Ørjan, Paweł, Ștefania, Ángel and Uğur had already left As you can notice these lines are quite similar and differ only because of some accents in the first names : The first line does not contain any accent The second line contains some characters with an accent. Here are their Unicode values : Š = 0160 ū = 016B Đ = 0110 đ = 0111 Ø = 00D8 ł = 0142 Ș = 0218 Á = 00C1 ğ = 011F The third line contains — when it was possible to find an equivalent — a classical ASCII letter immediately followed with a combining diacritical mark — an accent — thus two characters for one glyph. However, the letters Đ, đ, Ø and ł, without equivalent, are single characters only, like above ! S + 030C = Š u + 0304 = ū Đ = 0110 đ = 0111 Ø = 00D8 ł = 0142 S + 0326 = Ș A + 0301 = Á g + 0306 = ğ Now, I assume you’d be interested in finding any of these three syntaxes — or others like them — at the same time, in your file(s), right ? @troglo37, just tell me if this is your goal ? See you later ! Best Regards, guy038
  • New Feature - Lock a Tab

    3
    0 Votes
    3 Posts
    170 Views
    PeterJonesP
    @Sam-Fourie , It’s been suggested before, as in issue #17430. The developer stated explicitly: It’s not my intesion to “lock” the document by using “Pin a document”. It’s just a way to make the documents grouped in front so users find them more easily. Checked with MS VC Studio, their behaviour is the same as Notepad++, and I think it’s the right behaviour. It works the way the developer wants, and he has rejected the suggestion to make it work the way you want. update: I’m not saying it’s not a good idea. Just that the developer (who is the final decision maker) is the one you’d need to convince. And, given that he’s already rejected the idea, you’d have to come up with something more than “I really want it” to convince him otherwise (and it would have to be posted in the issues tracker, presumably as a reply to the issue I linked, not in the user Community).
  • 1 Votes
    37 Posts
    24k Views
    G
    For anyone who wants to get rid of that annoying “This file has been modified… Do you want to reload it…” prompt/dialog box, do the following: Go to Settings Click Preferences Click MISC. Under “File Status Auto-Detection” click Disable from the drop-down menu Close
  • Suggestion regarding historically significant software release themes

    1
    1 Votes
    1 Posts
    272 Views
    No one has replied
  • Are both '.7z' and '.zip' portable archives necessary ?

    8
    0 Votes
    8 Posts
    2k Views
    sevem47S
    @ThosRTanner said: This doesn’t seem terribly useful for an installation package though. This is exactly my use case: I download the zip archive end selectively extract only changed files. Some of the files in my installation I explicitly do NOT want to get overwritten. In the end it is really just a matter of taste. And I really appreciate the possibility to choose my desired format. From this I support the current situation, that both format are presented for download.
  • Ctrl-J (join lines) replaces LF with space

    8
    0 Votes
    8 Posts
    3k Views
    guy038G
    Hi, @dougk.az, @peterjones and All, Oh, yes, Peter, you’re perfectly right ! But I must be a little tired from this heat wave. Since June 22, in the room where my desk is, even with a fan, the temperature has usually been between 29 °C and 30.5 °C. It’s awful ! BR guy038 Oh ! Now, I also realized that @dougk.az never spoke about the form feed ( FF ) characters, of code \x0C but spoke about the line feed ( LF ) chars, of code \x0A As I said above : really tired by heat !!!
  • Print Quality TERRIBLE & Non very useful

    7
    0 Votes
    7 Posts
    3k Views
    K
    @vvPeterJones I switched Settings>Preferences>Print from “No background color” to “Black on white” and the print is much better.
  • Drag and dropping lines between split view documents?

    4
    0 Votes
    4 Posts
    2k Views
    M
    @PeterJones said: So, sorry, I don’t know of a way to do that. But I am now curious if someone else knows of a way, or if one of the codebase experts knows why it might not be possible (or whether it’s a feasible feature request or not). (I’d apologize for providing a ‘non-answer’ as my answer, when you haven’t gotten a ‘real answer’ first… but I wanted to caution future respondants to not jump to the same conclusion I did at first without actually giving it a try for themselves.) No worries I like to see how people tackle problems. And with a software as vast as N++ where I know only a small percentage of all the functions, even a non answer shows me something new most of the times. Coises answer does the trick. In an ideal world I’d like a way to switch the behaviour so Alt+drag copies, but for all intents and purposes the solution works for me.
  • Can't Open URL in HTML Link

    file open issue html
    5
    0 Votes
    5 Posts
    2k Views
    PeterJonesP
    @Sylvester-Bullitt said: Any idea when the next release will be out My guess: sometime in the next few weeks to a month or so – most of the time, that’s the cadence of the release schedule. But it all depends on when the developer thinks enough things have been added/fixed to warrant a new release. If it annoys you a lot, you can manually download and run the installer for an older version, and use that version which behaves as you want while wait to upgrade again until after you see the next version announced
  • Entering Katakana character into find dialog not working

    2
    0 Votes
    2 Posts
    1k Views
    PeterJonesP
    @perdrix52 , It works for me: [image: 1781706853432-2df53d4e-a553-473e-8d32-147c22eb6d7c-image.jpeg] [image: 1781706887521-43e468c4-e3db-4f30-819a-76dfd8e22e8f-image.jpeg] Sounds like a font issue and/or rendering-mode issue to me. What are your settings on Settings > Preferences > Searching (especially Use Monospaced font in Find dialog) and Settings > Preferences > MISC > rendering mode dropdown? And what encoding is your file that contains Japanese text?
  • Formatting/Commenting Issue with YML files

    2
    0 Votes
    2 Posts
    1k Views
    PeterJonesP
    @Travis-Young , I cannot replicate your problem: [image: 1781542289284-yamlpaste.gif] When I paste that in, the YAML formats the comments correctly, as far as I can tell. Could you either give the original data, and where you paste it? And your ?-menu’s Debug Info?
  • Ctrl not working in 8.9.6.4

    3
    0 Votes
    3 Posts
    2k Views
    CoisesC
    @Emmanuel-PIERRE said: Hello today I see that in 8.9.6.4 on win11 the Ctrl is not working, though in all others app this is fine. I have very few plugins in it (mime tools, npp converter, npp exports) so I guess this is not where it comes from. Shortcuts are fine. any idea ? If you mean that the Ctrl key with a letter that isn’t a shortcut isn’t inserting the traditional control character, see Settings | Preferences… | Editing 2 | Prevent control character (C0 code) from typing into document and be sure it is not checked. If you mean that Ctrl+drag on a selection is not working as it does in most Windows programs, that is a known peculiarity which can be resolved in either of two ways: Press the mouse button down first, then the Ctrl key. or Uncheck Settings | Preferences… | Editing 2 | Enable Multi-Editing (Ctrl+Mouse click/selection). If neither of those is your problem, you’ll have to be more specific.
  • How do I highlight text in alternate colors?

    3
    0 Votes
    3 Posts
    2k Views
    CoisesC
    @PeterJones said: Columns++ plugin (though I don’t remember it having the header or full-column highlight, or just a gazillion other features which make column manipulation easier; the author @Coises can chime in at this point). There’s nothing in Columns++ for coloring text. The plugin is helpful if you want to do operations on data in visible columns (like right-justify the entries in a column, add the numbers in a column together, search/replace restricted to a column, do calculations to create a new column, sort on a column in situations that don’t work with Notepad++’s built-in sort) and/or to use elastic tab stops to make maintaining visible columns easier. It doesn’t do any coloring, though. Help is here if anyone wants to examine it to judge whether they might want to install Columns++.
  • Important files lost during recent update

    8
    1 Votes
    8 Posts
    4k Views
    PeterJonesP
    @Konsolate said: Everything is lost. Also, while we confirmed with @zack-mosbrucker that the backup folder was empty, you never confirmed that. Are you sure that folder was empty, or did your session file just get reset? (If you don’t know where yours is, it’s probably in %AppData%\Notepad++\backup\ – if it’s not there, share your ? > Debug Info and we can help you find it.) Notepad++ backs up the session file into session.xml.inCaseOfCorruption.bak, so if you still have files in the backup\ folder, then you can recover the old session if you exit Notpead++, rename session.xml.inCaseOfCorruption.bak to session.xml, and restart Notepad++, and it will go back to the previous version of the session file. And if it still doesn’t open all the files from your backup folder, you can just manually open those files from Notepad++, and then save them to a reasonable known location on your computer, so that you won’t lose them again in the future.
  • Find & Replace & Mark re-organization proposal

    20
    8
    0 Votes
    20 Posts
    7k Views
    S
    @PeterJones I have been having a crack at it. https://youtu.be/UaXvg9w0_O8 [image: 1781246396141-1349f7c1-791f-4298-b47d-df25824aaf10-image.jpeg] I think I can put … everything in it. If I don’t burn out. Absolutely everything, including what you call the “ridiculous proposal”. (Which mostly just adds a preset system for common searches) I have taken care not to use any API after GDI+. And it’s only alpha borders on icons that keep this from being simple win32 GDI.
  • New displaying of the "Search Results" panel

    2
    1
    0 Votes
    2 Posts
    2k Views
    guy038G
    Hi, All, From the @pellelin’s post, here is an improvement of my previous post : I now added the complete path of each file , followed with a \ character and the file name ! Once any Search Results panel is displayed : Hit the Ctrl + A shortcut Hit the Ctrl + C shortcut Open a new tab ( Ctrl + N ) Paste the Search Results contents in this new tab ( Ctrl + V ) Run the option Edit > Line operations > Reverse line order ( IMPORTANT ) Now, open the Replace dialog ( Ctrl + H ) Uncheck all box options FIND (?-si)^\tLine\x20+(\d+)(?=(?s:.+?)^\x20\x20(\u:.*\\.+)(?=\x20\())|^\x20\x20\u.+\R REPLACE ?2\2\t\1\t Check the Wrap around option Select the Regular expression search mode Click on the Replace All button Now, re-run the Edit > Line operations > Reverse line order option ( IMPORTANT ) Finally, save this new tab for future study within N++ or Excel ! Now, @pellelin, if you don’t have already the Columns++ plugin installed in your configuration, I kindly advice you to install it ! After installation of this plugin, close and re-open Notepad++ First, run the Plugins > Columns++ > Elastic tabstops option Then run the Plugins > Columns++ > Convert tabs to spaces option Now, in order to right-aligned the line numbers, do the following regex replacement : FIND (\d+)(\x20*)(?=\x20:\x20) REPLACE \2\1 With the same parameters, in the Replace dialog, than above ! For example, I did a search of the word the, whatever its case, in Normal mode, on any .txt file of an USB key Search "the" (77312 hits in 507 files of 590 searched) [Normal] I got an INPUT file of 51,5544 lines for about 10,2 Mb And, after the above process : Reverse line order Regex Replacement Reverse line order Which took 82s, I got an OUTPUT file of 51,047 lines, for about 12,2 Mb, with Complete file path, Line number and Text, all aligned [image: 1780319031552-b25954ec-283c-4b15-9603-bf0d370d3c2d-image.jpeg] Best Regards, guy038 P.S. : In this version, I didn’t report the number of hits. If this information matters too, just ask me about it !
  • Folder in Workspace Click on Line Containing File Name

    2
    0 Votes
    2 Posts
    1k Views
    PeterJonesP
    @Bernard said: this is to request feature id est Folder Workspace responds to clicks on line containing file name if the click is on blank area beyond end of file name . Interesting idea. I see no harm in asking for it. However, this is the Community of Notepad++ users. Our feature request FAQ explains the process for checking for existing requests and adding a new request if it doesn’t already exist.