Categories

  • Announcements regarding our community
    323 Topics
    5k Posts
    donhoD
    Notepad++ 8.9.6 Release Candidate is available here: https://github.com/donho/notepad-plus-plus/releases/tag/ReleaseCandidate Notepad++ v8.9.6 regression fixes, bug-fixes: Fix x86 installer regression of not showing installation entry in “Unstall a program” of Control Panel. (Fix community discussion) Fix x86 installer regression where context menu not installed or uninstalled correctly. (Fix community discussion) Fix UAC prompt display regression (“Notepad++ installer” instead of “Notepad++”) for Notepad++ v8.9.5. (Fix GitHub comment) Fix incorrect bevaviour when saving dirty read-only files. (Fix #17956) Fix regression where saving a UDL file removed XML declaration. (Fix GitHub comment) Notepad++ v8.9.5 regression fixes, bug-fixes & new improvements: Fix updating issue where using v8.9.4 32-bits installer creates duplicate “Uninstall a program” entries. (Fix #17979) Fix v8.9.4 64-bits installer error message caused by MSIX on Win10. (Fix installer regression) Fix regression in UDL xml file EOL parsing issue. (Fix #18022) Update Scintilla to 5.6.2 & Lexilla to 5.4.9. (Implement #18011) Add option to synchronize zoom level across views. (Fix #17862) Fix MSI installer writting language info to HKCU instead of HKLM. (Fix MSI issue) Fix imported UDLs not appearing in the language menu without restarting Notepad++. (Fix #17909) Make “(?)” tooltip in preferences & Find in Files dialogs persitant & reduce display delay. (Fix #17995, #16961) Fix visual glitch in Mark dialog when in reduced mode. (Fix #17983) 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) The new release will be available in about 2 days.
  • 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
    PeterJonesP
    @shodanx2 said: I have a few observations to make about the function pane and a few improvements to propose. I could not find the keybind, is there one ? Not by default. But like all menu commands, you can assign one with Shortcut Mapper, if you want one. There are more menu entries in Notepad++ than there are keystrokes available, so not every menu entry gets a keystroke. I propose LeftALT+F by default ? As far as I have been able to tell, the way that Notepad++ internally handles shortcuts doesn’t distinguish the left and right alt keys. It’s just “Alt” as the modifier. Unused horizontal space It seems there is this horizontal space, maybe it’s useful in another language, but for me, there isn’t anything useful in that space. Maybe it should be reduced somehow ? That’s the way that treeview controls generally work. I think it would take a huge amount of development effort to customize or re-create oit. X. Function filtering In my language, functions which begin with “" … It would be great to be able to hide functions that start with "”. but have a toggle button to show them if I suddenly need them. Interesting feature idea. I’m not sure how easy that would be to implement. But this would be the first thing you said that I would think would be worth putting in an official feature request. (If you think that this Community Forum is the place to make feature requests, you need to read the Feature Request FAQ) X. Resetting the function search X. function search length has a maximum ! I haven’t used the function search feature enough to be able to comment on those. If other users agree with you on those items, they could each go in as separate feature requests. X. The function search sidebar is somehow, never the right width ! I don’t know why, but I am constantly adjusting the width of the function search sidebar. I don’t know why I can’t just set it once and forget it. Presumably just the right width, I shouldn’t need to touch it again. But somehow, I don’t know what I do, but I do move and resize notepad++ a lot with AltSnap and I end up often having to readjust the function sidebar width. I don’t know that there’s anything the developer can do to fix that. If you are accidentally resizing it, he cannot prevent it. The docking panels are designed to be resizable. And I struggle to hit that narrow width to drag it. Hmm… Do you have a high-DPI monitor? Because on my old-fashioned 100%-scaling setup, it seems to me to be the same width as any size resize control in any windows application. Beside what could be done to automatically have it be “the right size” automatically. “The right size” is meaningless. Everyone disagrees on what that would be, which is why it’s user controlled. Besides, all the docking panels share the same basic control, and everything docked on the right (for example) shares the same width… so what would be “perfect” (in your opinion) for the FunctionList on the right might be too small for the DocumentList (for example) on the right. I suggest these. Make middle-click-drag allow drag-resizing of the sidebar I seem to remember that was suggested elsewhere in the forum, and that someone wrote a script for the PythonScript plugin which could do that. But maybe it was just a related thing I’m remembering. search, search. Okay, this discussion is what I was thinking of (the “move the ‘other view’ separator” portion. I haven’t studied the scripts provided, but if one of them addressses the separator, my guess is that it could be modified to work on the docking-separator instead. X. The function sidebar cannot be docked to the other view separator The docking code for Notepad++ hasn’t been set up to allow “dock to middle” (which would be made more complicated because sometimes the views have a vertical separation when they’re side-by-side, an sometimes a horizontal separation when they are stacked top/bottom). I think there’s already an existing official feature request for dock-to-middle, so you might want to search through the existing features (make sure to remove the “open” filter, because there might be a closed/rejected request) to see if any of the requests about “dock” or similar might already ask for that. But if you cannot find one, maybe I’m mis-remembering (or maybe it was just a user in the Community, who never bothered to put in an official feature request). X. Visual glitching during resize Not a big deal, but the re-paint algorithm is quite sloppy It could be improved Can you be more specific about that? Under what circumstances? What’s your setup like (monitors, DPI, etc… ? > Debug Info is always useful for helping understand your setup)? What do you mean by “sloppy”? Ok, this is everything I had for you regarding the Function sidebar, thanks ! As fellow users, we might be able to talk about it, or commiserate with you. But if there are real problems or real feature requests, you would have to create separate tracking issues for each request, as described in the already-linked FAQ. (Putting a bunch of requests into a single Feature Request issue means the individual sub-requests won’t be properly tracked, and one or more are likely to get lost.) From above, I see two possible feature requests for sure (hide functions starting with _, and dock-to-middle), and another two that are likely reasonable, if someone else can confirm (the two function-list filtering points). I think the “sloppy re-paint” needs to be given more detail before suggesting that a bug report get submitted. But for any feature request or bug report in the official tracker, make sure you search through existing reports/requests (open and closed) before submitting one, to make sure it’s not a duplicate.
  • 10k Topics
    54k Posts
    LachlanmaxL
    @guy038 Just to say, I tried your solution in native N++ for kicks, and it worked! So kudos for an elegant idea. :)
  • Technical discussion of building or contributing to Notepad++ or Plugin codebases

    1k Topics
    9k Posts
    rdipardoR
    @Robk-Blue said: What config.xml file are referring to? At the link I provided in my last message you will find the following: [To l]ocate your config.xml file: %AppData%\Notepad++\config.xml, if you installed Notepad++ for all users; or $(PORTABLE_NPP_DIR)\config.xml, if it’s a portable installation Find and remove the PluginDlg element with the attribute pluginName="PreviewHTML.dll", for example: <!-- config.xml --> <GUIConfig name="DockingManager" leftWidth="200" rightWidth="168" topHeight="200" bottomHeight="124"> <FloatingWindow cont="4" x="257" y="440" width="916" height="686" /> <FloatingWindow cont="5" x="161" y="206" width="761" height="606" /> <!-- Remove: <PluginDlg pluginName="PreviewHTML.dll" id="0" curr="1" prev="-1" isVisible="yes" /> --> <PluginDlg pluginName="Notepad++::InternalFunction" id="44085" curr="1" prev="-1" isVisible="no" /> </GUIConfig> Yes, Edge is installed O.K. What about the Notepad++ debug info?
  • Security shouldn't be the privilege of rich people
    72 Topics
    358 Posts
    S
    I have checked out the https://github.com/donho/xmlSigner project and it is what I needed. I have used that project to correctly pass the XML signing test. I have opened some issues with that project. Here is a quick summary of how the update process works. The wingup code first queries a website to determine if an update is required and the returned XML provides information to be used later. None of the information in the XML is used if it doesn’t pass the XML security check. After passing the security check the code looks for the update status and download location, assuming an update is required. After prompting the user to download the update and finishing the download, it checks the code signing of the installer. Assuming that the code signing is valid and the correct certificate, it starts the install. I will try to document all the customizations to the code from Notepad++, wingup and xmlSigner to make it work in my project so that future users have a place to start, but that will be after I am sure its all working correctly with the new security updates. Thank you @xomx for pointing me in the right direction.
  • 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
    94 Topics
    558 Posts
    pnedevP
    @baberzaman , You can also check NppGTags plugin from Notepad++'s Plugin Manager (this is its project URL: https://github.com/pnedev/nppgtags) - it uses Global GTags to index your code-base and then you can look-up identifiers and do greps. P.S. You love Notepad++, “Boycott Notepad++” is probably not the proper place for your thread. It is more suitable for general discussion or plugins sections as a question and/or suggestion for Notepad++ improvement. BR
  • 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

    58 Topics
    187 Posts
    donhoD
    https://github.com/sherlock-project/sherlock/issues/2011