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
    • PeterJonesP

      FAQ: February Security Announcement

      Watching Ignoring Scheduled Pinned Locked Moved Security
      4
      2 Votes
      4 Posts
      1k Views
      PeterJonesP

      Updates with new clarifications from this comment:

      Target Information

      Kaspersky only saw evidence of victims IP addresses in Vietnam, El Salvador, Australia and the Philippines, and noted, “We observed three different infection chains overall, designed to attack about a dozen machines…”.

      Thus, it wasn’t just “targeted” – out of all the update attempts that would have happened during the June to December timeframe, it appears there were only a dozen victims: everyone else got a normal, unaffected update, with no malicious payload.

      Obvious Side-effect: Notepad++ Not Actually Updated after “Update”

      When the attackers redirected victims, the victims got “updaters” which did nothing to notepad++.exe. If every time that automatic updates ran, you saw Notepad++ actually updated, you were not one of the victims.

      In case the user runs Notepad++ updater, if the version remains exactly the same after the attempted update, the user can check %LOCALAPPDATA%\Notepad++\log\securityError.log to see what happened & report it.

    • Troglo37T

      Is There a Way to Prevent Pasted Text from Spreading Out with Rows of Spaces?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      369 Views
      PeterJonesP

      @PeterJones said in Is There a Way to Prevent Pasted Text from Spreading Out with Rows of Spaces?:

      implementing it in PythonScript today

      Thankfully, I found an old script which did something related, which was easy to update.

      # encoding=utf-8 """in response to https://community.notepad-plus-plus.org/topic/27385/ This will paste the CF_TEXT plaintext from the clipboard, but will convert any series of newline characters into a single space before doing the paste. Because this uses .insertText() instead of putting the modified text back into the clipboard and doing .paste(), it should avoid clobbering the clipboard. (based on @alan-kilborn's clipboard script here: <https://community.notepad-plus-plus.org/post/97132>) """ from Npp import * try: editor3h # third editor, hidden except NameError: editor3h = notepad.createScintilla() def get_clipboard_text_without_newlines(): retval = '' editor3h.clearAll() editor3h.paste() if editor3h.getLength() > 0: editor3h.rereplace(r'[\r\n]+', ' ') # replace all newline seqeuences with a single space retval = editor3h.getText() return retval editor.beginUndoAction() editor.insertText(editor.getCurrentPos(), get_clipboard_text_without_newlines()) editor.endUndoAction()

      This has been tested in the PythonScript 3 plugin. The PythonScript FAQ explains how to install PythonScript plugin, and how to run a script using PythonScript plugin, and even how to assign a keyboard shortcut to the script. Make sure you follow the instructions for PythonScript 3, not PythonScript 2 (as I have not tested under the older plugin syntax, though it will likely work there)

    • Pawan SharmaP

      Real-time search results

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      2
      0 Votes
      2 Posts
      62 Views
      Mark OlsonM

      @Pawan-Sharma
      If I had to guess, two words: race conditions (and an opposite-ish problem, deadlocks).
      Iteratively updating the results while searching seems like a great way to introduce endless difficult-to-reproduce bugs.

    • Joc BedenčičJ

      need to edit text

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      92 Views
      PeterJonesP

      @Joc-Bedenčič ,

      Based on my guess as to what you meant,
      FIND = (^#EXTINF:0,).*$
      REPLACE = $1
      SEARCH MODE = Regular Expression

      That gives the result,

      #EXTINF:0, #EXTTV:Mpeg2;slv; udp://@232.2.1.1:5002 #EXTINF:0, #EXTTV:Mpeg2;slv; udp://@232.2.1.2:5002

      Because that’s my guess as to what you meant by “remove everything behind #EXTINFO:0,”

      If that isn’t what you wanted, you will want to give both “before” and “after” data (“only channel names” has no meaning to someone who doesn’t know the format)

      ----

      Useful References Please Read Before Posting Template for Search/Replace Questions Formatting Forum Posts Notepad++ Online User Manual: Searching/Regex FAQ: Where to find other regular expressions (regex) documentation
    • TomásT

      suggestion

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      108 Views
      NicholasN

      @Tomás Preferences > Highlighting > Smart Highlighting > Highlight another view

    • Muhammad Nihal NaseerM

      Replace all entries in a row

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      2
      0 Votes
      2 Posts
      83 Views
      PeterJonesP

      @Muhammad-Nihal-Naseer ,

      Unfortunately, your example data (both before and after) wasn’t good enough to clarify what you wanted.

      There are lots of regex that will do what you want on that specific piece of data. But until you define what you actually want under multiple conditions, it will be impossible to make you happy.

      For example,

      Is Ns what causes it to be “a particular row” Is it possible for there to be “a particular row” that has something other than five numbers Are all your numbers single digits? Or can some of them be multiple digits (like Ns 0 11 2 33 4444)? Are there any spaces before the Ns? Are those spaces or tabs between columns?

      The best advice for asking for search/replace help is to give a block of data, showing both things that change, and things that should stay the same.

      For example,

      Ms 0 1 2 3 4 Ns 0 1 2 3 4 Ps 0 1 2 3 4

      would work (by my definition, based on my interpretation of your incomplete spec) with

      FIND = ^(Ns) \d \d \d \d \d REPLACE = $1 1 1 1 1 1 SEARCH MODE = Regular Expression

      ending up with

      Ms 0 1 2 3 4 Ns 1 1 1 1 1 Ps 0 1 2 3 4

      … but it would do nothing to the text

      Ms 0 1 2 3 4 Ns 0 11 2 33 4444 Ps 0 1 2 3 4

      Assuming the rule is “match a line starting with Ns followed by 5 integers of 1 or more digit each”, the FIND would be ^(Ns) \d+ \d+ \d+ \d+ \d+ and the REPLACE would be as I described above. That updated FIND would then turn the “do nothing” text the same way my original did.

      But it all depends on what your real data looks like.

      ----

      Useful References Please Read Before Posting Template for Search/Replace Questions Formatting Forum Posts Notepad++ Online User Manual: Searching/Regex FAQ: Where to find other regular expressions (regex) documentation
    • K

      Plugins Admin gets Curl Error

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      2
      0 Votes
      2 Posts
      136 Views
      xomxX

      @KelltimeOG

      https://github.com/notepad-plus-plus/wingup/issues/103

    • W TXW

      How to change keyword colors in VHDL?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      2
      0 Votes
      2 Posts
      80 Views
      FreeMeowF

      @W-TX under Settings -> Style Configurator
      You can choose a language, VHDL is in there, choose what kind of word you want to change ( default, comment, number, etc. ) and you can change color and font.
      I don’t know VHDL specifically so I can’t be more specific, but this should suffice for you to play with.

    • Jeff EspositoJ

      Notepad++ VERY slow to open

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      21
      0 Votes
      21 Posts
      14k Views
      PeterJonesP

      @Gerard-Kiekens said in Notepad++ VERY slow to open:

      I agree with you that the size should not change, but it did.

      Hard to argue my side cogently when you provide no data.

      Editing a fresh Darkmode_Default afterwards solved the problem. This one also increased in size, but kept working as fast as it should.

      But not from 220kB to 500MB.

      If you want to "play"with it, you can find it here:
      https://www.key-can.nl/Info/DarkModeDefault.xml

      The file you linked there is only about 220kB as well. And the reason it’s a different size than the actual DarkModeDefault is because it obviously started from an old version of Choco.xml, as evidenced by the copyright notice starting:

      <?xml version="1.0" encoding="Windows-1252" ?> <!--// choco Copyright (c) 2008 Fabio Zendhi Nagao <http://zend.lojcomm.com.br/>

      I can tell it’s an old copy of choco, though, because it is still “Windows-1252”. That was changed to UTF-8 in v7.9.3 from 2021.

      DarkModeDefault was originally derived from Zenburn.xml, since the time it was created (it started with the full zenburn preamble, but eventually pared it down to

      <!-- Dark mode default style for Notepad++. This file is based on Zenburn them (zenburn.xml) License: GPL2 -->

      As you will probably know you can find the themes in %users%\Appdata\Roaming\Notepad++\Themes

      That’s where you find your customizations. The originals (kept up to date with each update of the program) are in c:\program files\Notepad++\themes. Historically, Notepad++ would just leave your customized themes completely alone, so they would never show you any of the new styles that had been added/enabled over the last 5 years; in the recent Notepad++ releases (starting in v8.8.9, though I recommend skipping 8.8.9 and 8.9.0 and going directly to 8.9.1-or-newer because of bugs in the first two releases of this feature), it will add any missing styles or missing languages to your active theme, so that way, your Style Configurator will allow you to edit colors for new styles or languages without losing all your old theme customizations.

      So the small size difference between your Choco-based theme and the actual DarkModeDefault can be explained by being based on the old Choco. The huge 500Mb size that you reported from earlier cannot be explained by anything that’s been said yet, and I still don’t understand how it could have happened inside Notepad++. And without a hint as to what the edited XML looked like for the super huge file, there’s really no way that mystery will ever be solved.

    • T

      NP++ making new folders and opening them in tabs

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      2
      0 Votes
      2 Posts
      75 Views
      PeterJonesP

      @Tangfolio ,

      From a Windows command line, to pass a filename with spaces to an application, you need to put quotes around the filename. This is the way that Windows defines the command-line interface, and not something specific to Notepad++

      update: sorry, that was an abbreviated response. Real life interrupted, so I posted what I had so far, at the time. continuing where I left off:

      So, from the command line, notepad++.exe word1 word2.txt would try to open word1 and word2.txt in the current directory, which presumably don’t exist, whereas notepad++.exe "word1 word2.txt" would properly try to open the file with spaces in the name.

      If you are using the right-click context menu in Explorer, the normal Edit with Notepad++ (which gets added via NppShell.dll, when you do a normal Notepad++ installation), then it should handle the spaces just fine. But if you created your own Notepad++ entry using regedit or a registry .reg file, you have to make sure that your entry says, "c:\Program Files\Notepad++\notepad++.exe" "%1", with the quotes around each, otherwise it will behave as you described.

      Again, requiring the quotes around the filename is just the way Windows OS has defined the command-line interface (but similar is true in other operating systems, as well, because any OS must be able to tell the difference between program file1 file2.txt trying to work on two different files and program "word1 word2.txt" trying to work on one file with a space in the name.)

    • A

      gup.exe - never seen that process on my pc

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      149 Views
      PeterJonesP

      @akurzawa ,

      gup.exe is the binary that Notepad++ uses when it is asking the server if there are updates available, and when you are installing plugins using Plugins Admin.

      The destination IP that your screenshot shows is the current IP for norepad-plus-plus.org

      I am not an expert on the format of your output, but everything I see seems legit to me.

    • J

      Unsaved?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · unsaved
      2
      0 Votes
      2 Posts
      125 Views
      PeterJonesP

      @jpatterson-ATL said in Unsaved?:

      But, as a general rule, are you saying that if I didn’t manually save the file, that the cached changes just disappeared when I made the save choice, whatever that was?

      See our periodic backup FAQ. Essentially: Notepad++ believed you when you gave it the answer. The “session snapshot and periodic backup” feature was never meant as a long-term backup (there’s the backup-on-save option for that), but as a “try to protect me, if you can, if something goes wrong on the computer between my reasonable-duration saves” feature.

      The notes.txt file is stored in OneDrive but the file version history shows the newest date to be over a year ago.

      It boggles my mind that you would have a named file that you cared about, and not noticed that it hadn’t saved to the OneDrive in more than a year. And not noticed that the icon on the tabbar had been saying “unsaved changes” for all that time. And that you can go that long without ever thinking about hitting Ctrl+S or clicking the Save menu or toolbar button.

      Given your habit, I would highly suggest installing and configuring the AutoSave plugin, so that you don’t lose data again in the future. How to set up that plugin is described in detail in the FAQ.

    • LaMar ML

      Modleine Parser No Longer Works

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      116 Views
      PeterJonesP

      @LaMar-M said in Modleine Parser No Longer Works:

      I’ve been using “ModelineParser_0.2” for several years to automatically select the language. This parser is still available here.

      Yes. But it hasn’t been updated in 13 years. Notepad++, on the other hand, releases a new version about once a month.

      Recently my NP++ version got auto updated (by IT) to version Notepad++ v8.7.4.

      Your IT department chose a version from 14 months ago? It will still be missing security updates found in more recent Notepad++ versions.

      But yes, in the intervening 13 years, Notepad++ has made multiple changes to the documented interface for communication between a plugin and Notepad++. There have been some changes that were known to break older/unsupported plugins. But Notepad++ cannot stop all progress just because there are legacy plugins still published out there.

      When I open a program that used to default to a specific language, no language is set. I have to manually set it.

      Fortunately, the NppFileSettings plugin has modeline support, including recognizing filetype, ft, syntax, and syn for setting which syntax highlighting lexer to use. And its Releases page has 32bit and 64bit downloads, so it will work in your 32-bit edition of Notepad++.

      (And also, if you have a consistent filenaming convention with extensions that match the filetype, you can just set the User ext: box in the appropriate language(s) in the Style Configurator to make Notepad++ recognize the file type by extension, rather than by modeline. But if you need modeline support, hopefully NppFileSettings will work for you.)

      Notepad++ v8.7.4 (32-bit)

      In the modern world, where Windows OS is only maintained in 64-bit, there is virtually no reason to use 32-bit applications. For Notepad++, the only good reason for 32-bit instead of 64-bit is because you have a legacy plugin that only comes in 32-bit, that has no 64-bit version or alternative plugin with the same features.

      Looking at your other non-default plugins:

      CSVLint (0.4.6.7) PythonScript (0.9.2)

      Both of those come in 64-bit versions now.

      And PythonScript’s latest official release is up to v2.1.0, which uses Python 2.7.18, with significant bugfixes and feature improvements in both the plugin itself, and in the underlying Python interpreter (interpreter 2.7.1 from plugin 0.9.2, vs interpreter 2.7.18 from plugin 2.1.0). (Given your IT department’s apparent reticence to upgrade, I am not going to suggest moving to the “alpha” version of PythonScript 3.0.24, which uses Python interpreter 3.12.10, even though unless you use a lot of non-unicode files, I personally recommend using the version of the plugin that uses a modern Python interpreter rather than an interpreter that’s past its end of life.)

      And assuming that NppFileSettings plugin works as a replacement for the unsupported and incompatible modelineparser plugin for you, then all three of the non-preinstalled plugins that you have shown an interest in will work with 64-bit Notepad++ as well.

      As such, if you can confirm that PythonScript v2.1.0 and NppFileSettings will work for you, then I highly recommend that you talk with your IT:

      Ask if they can switch to 64-bit Notepad++. Ask if they will support a newer Notepad++. I desparately want to recommend the newest version, because of all the recent security fixes, but if you use UDL, then v8.9.2 probably won’t work for you, so you might have to stick with v8.9.1 until the regression fix for UDL is released in v8.9.3 (hopefully soon)
    • donhoD

      Notepad++ v8.9.2 Release Candidate

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      2
      3 Votes
      2 Posts
      557 Views
      donhoD

      FYI, v8.9.2 RC has been updated to RC2:
      https://github.com/donho/notepad-plus-plus/releases/tag/RC2
      See original announcement for more information.

    • pasha-19P

      styler.xml/WordsStyle/keywordClass association with langs.xml/Language/Keyword/Name

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      130 Views
      PeterJonesP

      @pasha-19 said in styler.xml/WordsStyle/keywordClass association with langs.xml/Language/Keyword/Name:

      I was looking to add a WordsStyle with a keyword list to an existing language.

      That’s not the way it works. Existing languages are hardcoded (compiled) internally with a list of available styleIDs, and only particular styleIDs have keyword lists associated with them. You cannot just add a WordsStyle with its own styleID and a list of keywords, and hope that the lexer will magically see them. It will not.

      My question concerns the styler.xml/WordsStyle/keywordClass that appears to match langs.xml/Language/Keyword/Name. There are some seemingly standard keywordClass values instre1, instre2 and type1 to type7 and maybe type8. Do these seemingly standard values have any additional meaning besides providing a link from the keywordClass in styler.xml to the Language/Keyword/Name in langs.xml?

      They have an integer value (0-8). Those correspond to the 9 available keyword lists inside the lexer, which any given lexer may reference zero or more of.

      If you use the wrong keywordClass, Notepad++ will not be able to pass the list of words to the lexer. And if you make up a keywordClass or use one that’s not already defined for a given language, the lexer won’t see it, and those keywords won’t get highlighted.

      [can] any keywordClass/Name that matches could be used?

      Nope, sorry. Each lexer has a predefined list that Notepad++ will pass on to the lexer and that the lexer will recognize.

      To sum up: the official list of available keywordClass/name values for any given lexer are listed in the copy of langs.model.xml that ships with a given version of Notepad++: that will always list all the ones that Notepad++ knows about, and if you try to define others than those for any given language, Notepad++ cannot pass it on to the lexer.

      However, it may be that your langs.xml or stylers.xml are out of date. If you haven’t updated to v8.9.1 yet, run that update, and the first time you run, Notepad++ will update langs.xml and stylers.xml (or any other active theme) to include any missing styles. You might find that the language you want to customize has more keyword lists available in the Style Configurator now.

      If a given language doesn’t have enough different styles to give you differently-colored sets of keywords, you cannot just trick Notepad++ into creating more for you. However, using the EnhanceAnyLexer plugin (you can install it using Plugins Admin from the Plugins menu), you could define a regular expression to match the keywords you wanted. For example, for a given lexer language, if you wanted to add three keywords with red foreground and four with a blue foreground, you could use the following in the EnhanceAnyLexer configuration file (whcih you can easily access using Plugins > EnhanceAnyLexer > Enhance current language.

      [LexerName] 0x0000FF = \b(red1|red2|red3)\b 0xFF0000 = \b(blueA|blueB|blueC|BlueD)\b

      This will give:
      ad688e24-5716-46a9-beae-934a6017df82-image.png

      The EnhanceAnyLexerConfig.ini has documentation in its comments, explaining that it’s 0xBBGGRR for the hex colors, and how to get those colors to only apply within certain parent styles, etc. And https://github.com/Ekopalypse/EnhanceAnyLexer/ is the homepage for the plugin.

    • donhoD

      Notepad++ community on nodebb.org

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      33
      6 Votes
      33 Posts
      11k Views
      donhoD

      @PeterJones
      Fixed.
      Thank you for reminding me!

    • David Smith 2D

      How to change the colors used for html/css that is exported

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      131 Views
      David Smith 2D

      This issue has been fixed:
      I did the following. As I use a inline style sheet I created a “css color.css” file in Notepad++. Just a blank page that I can do the following:

      I can now paste my HTMLPad 2025 css code into Notepad++ with the colors I changed under Settings> Style Configurator.

      I also created a “html-colors.html” blank file and I can copy the html code with colors that Notepad++ provides that has been updated in the Style Configurator.

      Next I highlight the text then go to “Plugins” on the toolbar then “NppExport” then “Copy all formats to clipboard”.

      I can now paste in the html/css code into Word with the colors I want.

      I still cannot create a style in Word 2024 with colors as I suspect it would be too complicated for Word to figure what parts the different text it should color.

    • Magic MugsM

      Session migration

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      2
      0 Votes
      2 Posts
      121 Views
      PeterJonesP

      @Magic-Mugs ,

      Assuming all your open files are real files, and all in the exact same folders on old and new machine, then just copy over %AppData%\Notepad++\session.xml

      If some of your files are the unsaved new # tabs, you will also need to copy over everything in %AppData%\Notepad++\backup\

      But if you want all the same settings from your old to your new, just copy over everything from %AppData%\Notepad++\

    • N

      Plugin Manager v8.9.1 has ghosted us

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      2
      0 Votes
      2 Posts
      298 Views
      PeterJonesP

      @nikkinisly ,

      The thing truly named “Plugin Manager” was last compatible with Notepad++ in v7.5.9 from October 2019. Had you really not updated since then?

      Or are you talking about Plugins Admin? That’s the builtin replacement since v7.6 in November 2019

      And it’s still in v8.9.1:
      0e15144b-967e-42d8-a505-a19330607d00-image.png

      My guess is that you deleted gup.exe and/or other of the content in the updater folder, or the plugin list DLL. To find out:

      Exit Notepad++ Perform steps 1-3 for each of the following files List of files C:\Program Files\Notepad++\notepad++.exe C:\Program Files\Notepad++\plugins\Config\nppPluginList.dll C:\Program Files\Notepad++\updater\GUP.exe C:\Program Files\Notepad++\updater\libcurl.dll If any of those files are missing, you will need to reinstall, making sure to include the auto-updater and Plugins Admin, because all of those files are required for Plugins Admin to work Steps Right click on the file and choose Properties Look to see if it still has the Unblock checkbox If it does, checkmark it, then click Apply / OK

      here is an example of a GUP.exe that still has the mark of the web:
      9baed526-5a1a-4497-a75b-1acdc23f3b85-image.png

      After making sure the Mark of the Web is gone from all those files, then restart Notepad++, and Plugins Admin should be there.

    • Jay SJ

      PythonScript 3.0.24.0 - "PluginsManager:runPluginCommand Exception" dialog with "Access Violation" with one of my scripts.

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · · pythonscript python error scripting access violation plugins
      2
      0 Votes
      2 Posts
      139 Views
      EkopalypseE

      @Jay-S

      I replied here.