Categories

  • Announcements regarding our community
    318 Topics
    5k Posts
    donhoD

    Notepad++ release 8.9.4 is available:
    https://notepad-plus-plus.org/news/v894-released/

    Notepad++ v8.9.4 crash fixes, bug-fixes & new improvements:

    1.Fix crashes in FindInFiles when nativeLang.xml’s “find-result-hits” contains “%s”. (Fix #17960)
    2. Fix drop-file crash when file path length reaches 259 characters. (Fix #17921)
    3. Fix crash caused by undoing column editor bad input in virtual space. (Fix #17915)
    4. Fix bad column editor input in reverse-direction column selection on virtual space. (Fix #17915)
    5. Update to Scintilla 5.6.1 & Lexilla 5.4.8. (Fix #17920, #17864, #13522, #11746)
    6. Fix EOL conversion to Windows format not working (Scintilla update related). (Fix #17920)
    7. Fix rendering corruption in .bat files (Lexilla update related). (Fix #17864)
    8. Fix quote escaping causing incorrect JSON syntax highlighting (Lexilla update related). (Fix #11746, #13522)
    9. Fix MSI installation error due to context menu item registration. (Fix #17918)
    10. Fix NSIS installation stalling caused by context menu registration issue. (Fix #17308, #17885)
    11. Add NPP_LANG property to install a specific localization file for MSI. (Fix issue reported in comment)
    12. Fix MSI installer display random Hexadecimal number as name on UAC. (Fix #17967)
    13. Add version info into MSI file property (as value of “Comments”). (Fix #17803)
    14. Fix minimized window not restoring in administrator mode. (Fix #17945)
    15. Fix Unicode search mismatching ANSI character ‘?’. (Fix #17125)
    16. Fix Column Editor regression with empty fields. (Fix #17912)
    17. Fix floating dialog content not displaying in certain situations. (Fix #17563)
    18. Fix visual glitch when toggling group view in Document List. (Fix #14285)
    19. Support improved C++ 11 raw string literal handling. (Fix #17875)
    20. Fix visual glitch in the Mark dialog. (Fix #16084, #17886)

    Auto-updater will be triggered in 1 week, if no critical issue found.

  • Frequently Asked Questions and Guides (about Notepad++ and this Forum)

    38 Topics
    63 Posts
    PeterJonesP
    Themes in v8.8.9

    With the release of v8.8.9, there is a new feature which automatically updates the active Theme if it is missing Style Configurator settings for any GUI elements, or missing any Languages or any Style entries in existing Languages. This is a long-needed feature, so that as Notepad++ adds new styles for the Style Configurator, you’ll be able to set them, even if your theme hasn’t been updated since before those styles were added. (Before now, if you switched to a theme years ago and set any custom color or user keyword or custom file extensions for a built-in language, it would never update the theme, no matter how many times you update Notepad++ in the meanwhile. This v8.8.9 feature is able to correct that issue, and you will be able to use the Style Configurator to set the colors of any new styles going forward, as soon as you upgrade to a Notepad++ executable that supports the new style.)

    Unfortunately, the v8.8.9 implementation included some annoying growing pains: the procedure always uses the same colors that those styles have in the stylers.model.xml file (ie, the default “light mode” colors), even if you are using a dark theme, which can make for glaring color issues: on Languages that get new styles added, the text that should be that new style can end up as black-on-white text, even if the rest of the text has a dark background; and if the theme was old enough, some GUI elements (like the Bookmark margin and Change History margin, between the line numbers and the text being edited) may clash with the surrounding GUI elements.

    In the future v8.9 this issue will be fixed, so people who had an older theme and use v8.9 will see new styles show up using the default foreground and background colors of that theme, so they won’t clash: it might not highlight the new keywords, for example, but at least it won’t look worse than it used to.

    But unfortunately, once you run it in v8.8.9, your theme will no longer have those entries “missing”, and the glaring white background will be saved. The instructions below will help you with that:

    Instructions

    These instructions are only needed if you ran Notepad++ v8.8.9. If you upgraded from something earlier to v8.9-or-later, you do not need these instructions.

    Download the updated theme file(s) from the Source (see Download Source below) Depending on circumstances, decide whether you need to update the installation-directory theme, the user-config-directory theme, or both If you have a portable version of Notepad++, without using the Cloud directory or -settingsDir, then you need to just follow the instructions to Update Theme(s) in User Config Directory If you are not using a portable version of Notepad++, then it is recommended to follow Update Theme(s) in Installation Directory first, and then decide based on the next item whether to continue or not If you have any theme file(s) in the user-configuration directory (whether it’s %AppData%\Notepad++\themes\ or the Cloud directory’s .\themes subdirectory or the -settingsDir’s .\themes subdirectory, then you should follow the Update Theme(s) in User Config Directory for those.

    Please note: when correctly following step 2, you may need to follow multiple sets of instructions. Please read and understand each point under step 2 to make the right changes.

    Download Source

    The installer themes in the source code have been updated to have all the styles needed (to be able to fix the problems from v8.8.9). You can go here to grab the theme file(s) you want: https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/PowerEditor/installer/themes.

    Update Theme(s) in Installation Directory

    Except when you have a portable version of Notepad++, you will generally need to follow this set of instructions for the themes that come in the installation directory. In a normal installation of Notepad++, the installation will be in c:\program files\Notepad++ directory or equivalent, and the installation-directory themes will thus be in c:\program files\Notepad++\themes. (See the Instructions section above for the decision process to know for sure whether to use this section.)

    Exit Notepad++ Go to the URL mentioned in the Download Source section (above), and download the raw version of your Theme file(s) Use Explorer to go to c:\program files\Notepad++\themes\ directory Copy the downloaded Theme(s) into that directory, overwriting what’s there When you run Notepad++ next time, it will use the updated theme, and the glaring color issues should be gone.

    If you have customized your theme with user-keywords or user-extensions, then this won’t be sufficient, because Notepad++ gives priority to the copy from the user-settings directory. (See the Instructions section above for the decision process to know for sure whether this section is sufficient for your needs.)

    Update Theme(s) in User Config Directory

    If you have your Theme file in the user-settings directory (AppData hierarchy or Cloud directory or -settingsDir directory) for any reason – whether you customized it by changing the font or color or added user-defined keywords or user-defined extensions using the Style Configurator, or whether you intentionally copied or downloaded a Theme into the user-settings directory, or whether it’s there and you don’t know how or why it got there: under any of those circumstances, then just replacing the theme in the installation directory won’t be sufficient. (See the Instructions section above for the decision process to know for sure whether to use this section.)

    Exit Notepad++ If you haven’t already, go to the URL mentioned in the Download Source section (above), and download the raw version of your Theme file(s) Use Explorer to go to %AppData%\Notepad++\ (🛈) or to wherever your Cloud Directory or -settingsDir option point to There should be a themes subdiretory in that directory, if you have customized your Theme. Rename your old custom theme to <themeName>_OLD.xml (like khaki.xml becomes khaki_OLD.xml) Copy the downloaded version of the Theme into that directory (for example, khaki.xml) Start Notepad++. It will use the updated version of the theme, but your customizations will be temporarily missing. Open %AppData%\Notepad++\themes\<themeName>.xml and %AppData%\Notepad++\themes\<themeName>_OLD.xml In the _OLD copy, search for ext="(?!") in Regular Expression mode. The value between the quotes will be the user-extensions for that language. Copy any that you find in the OLD file to the language’s equivalent entry in <themeName>.xml In the _OLD copy, search for (?<!>)</WordsStyle> in Regular Expression mode. Any values between the > and the </WordsStyle> should be copied to the equivalent location in the <themeName>.xml file. If <themeName>.xml just has <WordsStyle name="..." ... /> without having a </WordsStyle> closer, you can replace the /> with a > and the list of keywords, then the closing </WordsStyle> Save <themeName>.xml Exit Notepad++ When you run Notepad++ again, it should now include your customizations again. Native Feature compared to ConfigUpdater plugin

    The ConfigUpdater plugin was introduced as a testbed for some of the ideas that made it into the v8.8.9 native implementation. As such, if you are in v8.8.9 or newer, you no longer need the ConfigUpdater plugin. But if you are before v8.8.9, and waiting for the v8.9 fix to the Notepad++ feature before upgrading, then using ConfigUpdater while in v8.8.8-or-older will help you get to a point where if you did change your mind and upgrade to v8.8.9, it wouldn’t make the glaring UI clash and black-on-white text in dark themes.

    JavaScript in v8.9 Themes

    In v8.8.8 and earlier, Notepad++ would magically use the embedded javascript (JS-in-HTML) styler settings if the javascript.js (*.js) language didn’t have defined styles in a given theme, making it appear to JavaScript users that their theme had the standalone JavaScript colors defined. The v8.9 fix, which filled in default FG/BG colors for all javascript.js styles for themes that were missing javascript.js made it appear to the JavaScript users that v8.9 broke their theme, when it really meant that their already-broken theme was just being “fixed” in a different way. Updated themes are being submitted to the Notepad++ codebase, so that javascript.js will use similar colors to embedded javascript, so they won’t get the surprise color change if they upgrade from v8.8.8-or-older to v8.9.1-or-newer.

    If you already updaded to v8.9, and JavaScript *.js files look like they have stopped syntax highlighting then you will need to follow instructions similar to the Update Theme(s) in Installation Directory and/or Update Theme(s) in User Config Directory

    The PR has been merged, so you can just use https://github.com/notepad-plus-plus/notepad-plus-plus/tree/master/PowerEditor/installer/themes as the source for the updated themes (the same link as mentioned above) You can just copy the entire <LexerType name="javascript.js" desc="JavaScript" ext="">...</LexerType> section from the downloaded theme(s) and paste it overtop that same section in your Config Directory and/or Installation Directory theme file(s), then save and restart to get it to take effect.
  • Notepad++ discussions that don’t fit in other Categories

    4k Topics
    22k Posts
    Alan KilbornA

    @guy038 said:

    There is no mean to achieve such a goal with the present Column Editor feature ! Do you agree with my statement ?

    Yes, but I don’t know that functionality is lacking enough for someone to develop the new feature. Unless, say, you yourself are going to give implementation a try?

    What I would do, instead, for your “second example” would be to manually create the line I want, on a new blank line at end-of-file and then just hold down my keycombo for duplicating a line until the line is copied as many times as I want (e.g. 100). Now, key repeat is likely to make me go over the amount needed slightly, but pressing the delete-line keycombo a few times is an easy repair. Very fast for me, rather than invoking the column editor and then fussing with its controls.

    TL;DR: Your desired feature is okay, but not life-changing for me. :-)

  • 10k Topics
    54k Posts
    guy038G

    ello, @ricardo-barroso, @peterjones, @terry-r and All,

    An other S/R could be :

    FIND (?-i)RequiredItem.+, \K\d+

    REPLACE 0

    The search regex means :

    First, find a string RequiredItem, with that exact case because of the leading part (?-i)

    Then find any NON-zero number of chars ( .+ ) till a comma followed with a space char

    Now, forget anything matched so far, due to the \K syntax

    And just match a non-zero list of digits ( \d+ ), which come next

    Finally, replace that number by 0

    Remark : You must do a global S/R, using the Replace All button. Due to the \K syntax a step by step replacement, with the Replace button, would not work !

    Best Regards,

    guy038

  • Technical discussion of building or contributing to Notepad++ or Plugin codebases

    1k Topics
    9k Posts
    guy038G

    Hi, @coises,

    I re-tested the supposed bug and I simplified the procedure which is necessary to trigger that bug !

    If opened, close the Search++ plugin by clicking on the cross, at the far right

    A Re-open Search++ with the Plugins > Search++ > Search... option

    B Try to close the Search++ panel by clicking on the cross, at the far right => Nothing happens !?

    C After some trys, if you move slightly the mouse, you should be able to close the Search++ panel

    Sometimes, you’ll need to repeat the actions A ato C, up to 5 times consecutively, to trigger that bug. but this event may also occur at the first try !

    I also noted that, when the bug occurs, any subsequent left click on the cross does nothing until I move very slightly the mouse, without any clicking, that is enough, then, to close the search++ panel by clicking againg onto the cross icon. Very strange, indeed !?

    As I suspected that the problem could be an hardware issue with my bluethooth mouse, I disabled it and installed a classical USB mouse, instead. But, unfortunately, results were identical as well as the uncertainty regarding the manifestation of the bug !

    I have different portable versions of Notepad++, but the one which is concerned is the v8.9 release where I installed, both, your Columns++ and Search++ plugins

    Here is my Debug info :

    Notepad++ v8.9 (64-bit) Build time: Jan 10 2026 - 02:25:19 Scintilla/Lexilla included: 5.5.8/5.4.6 Boost Regex included: 1_90 pugixml included: 1.15 nlohmann JSON included: 3.12.0 Path: D:\890_x64\Notepad++.exe Command Line: Admin mode: OFF Local Conf mode: ON Cloud Config: OFF Periodic Backup: OFF 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: 1920x1080, scaling 125% visible monitors count: 1 installed Display Class adapters: 0001: Description - Intel(R) Iris(R) Xe Graphics 0001: DriverVersion - 32.0.101.7084 OS Name: Windows 11 Pro (64-bit) OS Version: 25H2 OS Build: 26200.7462 Current ANSI codepage: 1252 Plugins: mimeTools (3.1) NppConverter (4.7) NppExport (0.4) ComparePlus (2.2) ColumnsPlusPlus (1.3.1) NppUISpy (1.2) MultiReplace (4.6.0.33) Marginalize (1) Search++ (0.5.5)

    Finally, note that this portable version of N++ is installed on an USB drive

    Best Regards,

    guy038

  • Security shouldn't be the privilege of rich people
  • All the issues (publications/questions) about binary translation
    76 Topics
    480 Posts
    U

    @xomx
    Thank you very much for the work you have done, which will lead to improvements in Notepad++ in the future.
    I am very grateful to you.

  • Say fuck to Notepad++ here, and only here
    93 Topics
    555 Posts
    Lycan ThropeL

    @Fii-Ert said in 傻逼软件,傻逼作者,傻逼呆湾人:

    美国干涉台湾,又怎么说?
    台湾的绿圾执政党,自甘堕落化为纳粹,由不得别人不干涉!

    347
    你这种逻辑,正是共产主义灌输教育的典型特征——试图将共产主义的侵略行径粉饰为某种“好事”,而事实绝非如此。这本质上不过是一种混淆视听的企图。你将美国的援助视为“干涉”,这纯粹是你基于自身偏见所构建的一种妄想式解读,而非客观现实。中国必须远离台湾,这一点毫无商量余地。

  • No support request and bug report here, only unconditional praise and worship

    2 Topics
    7 Posts
    Maddox ArmstrongM

    @FreeMeow I goon to Notepad++ :P

  • Share personal tips and cool uses for Notepad++, and similar

    60 Topics
    222 Posts
    guy038G

    Hi, *All,

    Here is a little exercise for a Sunday !

    Start N++ and open a new file ( Ctrl + N )

    Write 2,047 consecutive empty lines

    Save your file

    Move back to its very beginning ( Ctrl + Home )

    Select the Edit > Column Editor.. option or use the Alt + C shortcut

    Enter the values 0 , 1 , 1 to define the sequence

    Select the leading Zeros option and the Bin format

    => You should get a list of binary numbers between 0 and 111 1111 1111

    Now, open the Mark dialog ( Ctrl + M )

    Uncheck all box options

    Enter the regex ^(0|(1(01*0)*1))*$ in the Find what field

    Check the Bookmark line and Wrap around options

    Select the Regular expression mode

    Click on the Mark All button

    Close the Mark dialog or hit the ESC key

    Now, in your opinion, what do all these marked lines represent ? …

    After a while, it should be enough easy to detect that any marked line is a number multiple of 3 !

    Therefore, the main takeaway from this text, is that regexes can simulate mathematical formulas !

    Of course, I did not come up with that regex on my own, but by referring to the last example in this Wikipedia article :

    https://en.wikipedia.org/wiki/Regular_expression#Formal_definition

    Now, I suppose that other regexes could simulate other multiples or formulas, as long, as we simply use the binary format but I have not tested anything yet !

    Best Regards,

    guy038

  • Computer/Programming Jokes are welcome here