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

      Notepad++ 8.8.8 release

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      11
      1 Votes
      11 Posts
      2k Views
      Lukas MayrL

      @PeterJones
      Thank you for adding the MSI-Installer section.

      The usual switches for silent/passive/… installation work just fine out of the box with the .msi.

      @donho
      For the .exe installer there are the Notepad++ -specific options, like /noUpdater
      These options seem to be missing from the .msi package

      For instance: in the putty installer you have the option to set your own install-directory by changing the property of INSTALLDIR

      msiexec /i "putty-64bit-0.83-installer.msi" /q INSTALLDIR="C:\Tools"

      Screenshot 2025-11-21 070153.png

      Those Options seem to not yet exist in the npp-msi installer
      Screenshot 2025-11-21 070257.png

    • N

      How to change file icon on txt files ?

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      11
      0 Votes
      11 Posts
      243 Views
      N

      @PeterJones

      i have to hand it to you this worked, thank you :-)

      I couldnt find this description elsewhere, i tested all the 3 thirdparty apps, wthy didnt work though

      I seems to have missed the reg addition of defaulticon should be in the string sith notepad++

      best Nolan

    • MM tsuchiM

      Notepad++ 8.8.7 "select and search next/previous (Ctrl-F3 / Ctrl-Maj-F3) don't work anymore

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      9
      0 Votes
      9 Posts
      335 Views
      Alan KilbornA

      When the Fill Find Field with Selected Text option, in settings, is unchecked, and the user invokes Select And Find …, perhaps the program should (simply) run the code for the “volatile” version of the command.

      (I should have said this in my previous post.)

    • Vince AmanV

      Save and Restore Change History Markers

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      10
      1 Votes
      10 Posts
      594 Views
      Vince AmanV

      @mpheath ,

      Thanks again for you reply! I plan to test your BufferRestore script after my next “break” in my current project(s). After looking closer at your post and web page, this looks to be a good option for me to use until NP++ has a built in tool…

      I do own a rack of servers and plan to spin up a couple extra VMs once I release my own platform/environment for my apps (within the next couple months). The challenge with one of the (main) current platforms which I’m using is, while I pay annually to be a developer for them, their licensing does not allow me to run on more than 1 PC at a time, so it requires me to log out/in each time I switch between PCs or VMs. I can’t maintain the variable “state” if forced to log out.

      There are many additional issues with Windows Rebooting… When the current test environments get “killed”, all the opened files are now locked and all the variables are flushed. So it requires unlocking the files, and recreating the previous workflow to recreate the variable “state”. Using a log file doesn’t work well in this environment, because it typically goes back beyond the last save… and could only be applied if the saved file was in the exact state as when the log file was started… not sure if that makes sense?

    • donhoD

      Making a new release...

      Watching Ignoring Scheduled Pinned Locked Moved Humour
      6
      5 Votes
      6 Posts
      252 Views
      xomxX

      @donho
      Good attempt, just for surety, why not ;-)

      And I’ve to admit that I used to “abuse” churches too - in the summer it was nice and cool there and, most importantly, quiet, so I could study there and prepare for my exams :-)

      @Terry-R @Lycan-Thrope

      Otherwise on topic - there are IMO no complete atheists (in the sense of believing in something that is beyond my reach or ordinary understanding), everyone has their own faith. But while someone believes e.g. that gravity will still work tomorrow when they wake up, someone else believes in the virgin conception of the Virgin Mary, when the Holy Spirit entered her. For me, religion just parasites on and shackles the natural human need to believe in something better/bigger, something that gives human existence true meaning and a greater dimension.

    • Doctor RashirD

      How to Print Pretty with missing close tags.

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      138 Views
      Doctor RashirD

      @PeterJones

      Hey, I ran the script. The result looks much much better than before. But this file is an OFX (Open Financial Exchange) and is not truly XML. The sample I posted is only a small part. The rest contains private info so can’t be posted.

      I really appreciate that you spent this time. I think it will work great for my needs.

    • Doctor RashirD

      Edited Post content was flagged as spam

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      69 Views
      Doctor RashirD

      @PeterJones
      Thank you for the reply. Yes, I understood that inference. I was hoping there was additional tweaks to try. Yes, I could do a reply. It was triggered on a very minor edit. Maybe the site support would be interested in the issue. But it’s not important to me now.

    • B

      sha512 certificate cannot be validated

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      4
      0 Votes
      4 Posts
      196 Views
      PeterJonesP

      @bvklaveren said in sha512 certificate cannot be validated:

      I have seen the instructions, but installing the self-signed certificate on all computers in the organization is not a practical solution.

      Okay. Then ignore the self-signed, since there’s a commercially-signed alternative that can give you confidence that the binary is being distributed by the one who it claims to be.

      It only takes one certificate to give the confidence, but it also means that you can ignore any other certificate on the same file, because having two certificates (one self-signed that you choose to distrust and the other commerically-signed which you choose to trust) gives you exactly the same amount of confidence that the binary is valid as does having just the commercially-signed certificate with none others. Whereas for someone who does trust the self-signed, they can choose to trust that self-signed and ignore the commercially-signed as being tainted by money.

      Also, why would you include a self-signed certificate if you also have “real” one that can be validated without extra steps?

      The “why’s and wherefore’s” are all available in the public, in various discussions on this forum (search for certificate) and the relevant section of the User Manual and in the various announcement pages in the official website. But I’ll sum it up, from my outside perspective:

      Because for months, there wasn’t a commercial certificate available, because the corporations behind the certificates are set up to make things difficult to open source projects. And once he did get the new globalsign cert, he didn’t feel it was worth it to undo all the effort he had put into creating the self-signed certificate.

      Lastly, it is not in the msi, so why is it in the exe?

      apples and oranges?

      The MSI is a container, which can be signed, and is signed separately from any EXE or DLL that might be contined therein. So the developer apparently chose to only sign that MSI with the commercially-derived – probably because his system was already setup to sign the EXE with both (because it was setup to sign with just the self-signed, then he added the globalsign cert on top of that once it was available), whereas the MSI didn’t come until a month or two after the globalsign was available, so he probably didn’t think it was worth the extra effort to figure out how to sign the MSI with the self-signed as well.

    • h-jangraH

      Flex your customizations

      Watching Ignoring Scheduled Pinned Locked Moved General Discussion
      3
      0 Votes
      3 Posts
      90 Views
      h-jangraH

      @PeterJones nice I will try and upload this theme as well.

    • meM

      Printing (laser) black on white darkness

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      3
      0 Votes
      3 Posts
      76 Views
      Alan KilbornA

      @me

      I printed out a cookie recipe in NP++ and LO Writer

      Try to be more explicit. I actually use LibreOffice and, until @PeterJones explicitly stated it in his response, I had no idea what you were talking about when you said “LO”.

    • J

      Replacing text blocks with ToolBucket

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      3
      0 Votes
      3 Posts
      56 Views
      PeterJonesP

      @JuergenBelle ,

      Further to what @h-jangra said, since N++ v8.8.6, you can just paste your multi-line text into the Replace, and use the Search @h-jangra suggested, and you don’t need the plugin at all…

      If your replacement has parentheses () or dollar signs $, it might not work as you expect, so you might have to escape them, as described in the user manual (https://npp-user-manual.org/docs/searching/#substitutions)

    • N

      Standard ANSI and code still change to something else

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

      @NolanNolan ,

      “ANSI” is the American National Standards Institute. One of the things they did during 80s-era computing was define different encodings that put various character sets into the 256-character page limit of an 8-bit character. At some point, computer newbies confused the organization that defined them with the encodings themselves, and the world was stuck with incorrectly calling all those 256-character encodings “ANSI”, even when referring to the 8-bit encodings that were specific to Microsoft’s DOS and later Windows operating systems.

      When doing encodings for the “Windows” GUI OS, MS thoughtfully named their encoding standards as “WIN-####” or “Windows ####” (people write them both ways). For example, Windows 1252 is the Microsoft encoding that’s nearly identical to ISO-8859-1 (ISO = “International Standards Organization”, an international body who makes standards, like ANSI is US-specific). Windows 1255, which you mentioned, is an encoding for Hebrew.

      When Notepad++ says “ANSI”, what it means is, “using whichever 8-bit encoding your installation of Microsoft has set as the default character set / codepage” (which gets even more confusing now that you can confuse things by telling the OS to use 65001, which is the UTF-8 codepage, which causes many unexpected bugs, since Notepad++ is not expecting multi-byte characters when in ANSI mode).

      But anyway, when you save a file, Notepad++ writes those bytes to disk based on the default Windows encoding; but the OS does not save any metadata about the encoding of the file (back in the DOS days, FAT and FAT32 didn’t have enough space to store such metadata; and when MS made the NTFS for NT, they could have added in metadata like encoding, but chose not to) – but that means, when any application, Notepad++ or otherwise, reads the file later, they have no way to know for sure what encoding was used for a given “text file” based on the information in the file itself or based on non-existent metadata. As a result, Notepad++ uses a set of heuristics to guess, based on byte frequency and byte sequences, what encoding it probably is. But it often guesses wrong, which is why my recommendation is to always turn off Settings > Preferences > MISC > Autodetect character encoding: assuming that the majority of “ANSI” text files you are reading are made by you on your same computer with the same default codepage/encoding, you shouldn’t need Notepad++ to “guess” what encoding it thinks it is: you can just let it always apply the Windows default encoding when it reads the file.

      Or you could do something that brings you into this century, by using the UTF-8-with-BOM or one of the UTF-16 encodings, any of which will unambiguously be able to encode any of the 160k or so characters defined by Unicode – which allows you to mix characters from across the world without any ambiguity of 1980’s style 8-bit encodings. If you have a choice in your data, choose UTF-8 or UTF-16; if you have no choice, complain to whoever is not giving you the choice that they are hindering efficiency by forcing you to continue to use outdated 1980’s character sets instead of a modern encoding built to interface with the whole world.

    • jeffs555 sJ

      Move left scroll arrow to left side of tab bar?

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

      @jeffs555-s ,

      With more tabs than will fit on screen, most programs put the left scroll arrow on the left side of the tab bar and the right scroll arrow on the right side of the tab bar.

      I am not sure I’d agree with the word “most”.

      Microsoft’s new Windows 11 Notepad app (the one that handles multiple tabs) does. But Chrome just keeps shrinking the tab shape, and after a few dozen, I stopped trying to see if I ever got it to show scroll controls OpenOffice/LibreOffice Calc (and my memory of Excel) put both the ◀ go-left and ▶ go-right and add-sheet buttons on the lower left Google Sheets webapp puts both the < and > on the lower right As far as I can tell, Visual Studio doesn’t give such buttons; instead, they just have the ▼ pulldown, similar to the one on Notepad++'s menu bar. Mozilla Thunderbird (email client), like Chrome, seems to just shrink the tabs; again, I could never get it to show scroll controls.

      So I tried a variety of apps, from different categories of tabbed-like interfaces, and only one of them puts the left-scroll on the left and the right-scroll on the right. In my quick experiment, “most” put them immediately next to each other, wherever they go. But really, it seems there’s no global consistency on such scroll controls. That’s not to say that there aren’t a gazillion other apps that do split them between left and right sides of the Tab Bar – just that it apparently depends on one’s set of applications that they use.

      I can understand wanting it as a feature, if it’s what you are used to. It isn’t currently an option in Notepad++ (though it could be requested, as described in our feature request FAQ); and, as far as I know, there aren’t any plugins that currently move the Tab-Bar-scroll-left button to the left side of the Tab Bar (and I don’t know who would win the war between a plugin and the main app as far as trying to position that button, so I don’t know if a plugin could enforce a different location for it)

    • Rick KostersR

      can't find words with search in files

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      5
      0 Votes
      5 Posts
      215 Views
      László BotkaL

      @Rick-Kosters

      You can try the free Agent Ransack utility from https://www.mythicsoft.com
      It works with .doc, .docx and .pdf files too.

    • S

      autoupdater and connection temp.sh

      Watching Ignoring Scheduled Pinned Locked Moved Security
      9
      0 Votes
      9 Posts
      3k Views
      donhoD

      @John-Smith-4

      I see in v8.8.8 release there was an issue addressed with WinGup. Could you elaborate what caused this behavior?

      Unfortunately I can’t provide more facts than what we already know.
      We are not aware of any confirmed exploitation of this vulnerability in the wild.
      The fix in v8.8.8 is the best I could do to address the issue of WinGUp being hijacked.

    • Barry LortB

      Move Line Up

      Watching Ignoring Scheduled Pinned Locked Moved Help wanted · · · – – – · · ·
      6
      1 Votes
      6 Posts
      303 Views
      Barry LortB

      @guy038

      More good information. Thank you!

      Barry

    • C

      possible to create a openfile dialog under jn-npp-plugin ?

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      5
      0 Votes
      5 Posts
      468 Views
      C

      after a look at jn-npp-plugin on github it seems Win32 API is not available in win x64 and i didn’t find other way to use openfiledialog…
      i am looking at python plugin now .

      thanks for your help

    • sound-fxS

      Scripts to align text

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      4
      4 Votes
      4 Posts
      2k Views
      sound-fxS

      The following code supports PythonScript 3.0.23 as well as earlier versions of PythonScript 3.x.

      #------------------------------------------------------------------------ # If the character specified in the current selection is a white space, # then prompt the user to enter the alignment character (or characters), # using this character as the initial default. #------------------------------------------------------------------------ default_align_char = ',' from enum import Enum class PaddingSide(Enum): LEFT = 0 RIGHT = 1 def align_selected_text(max_align_char_count = None, padding_side = PaddingSide.LEFT): """Insert padding into the lines in the selection, as needed, to align up to max_align_char_count instances of a specific character or string of characters The default is to align all instances of the specific character. At present, the alignment character is taken as the character at the top of the current selection. You can uncomment some code below to change this policy to instead take the alignment character from within the selection at whichever end has the cursor. Either way, if that character is white space, the user is prompted to type the character (or characters). If you really wish to align on a white space character, you can just click OK at the prompt. When prompted to type the alignment character, the user may enter a sequence of characters, e.g., "-->", in which case the alignment is on the instances of that entire character sequence. For example, if the user enters "-->" at the prompt, then instances of the "-" character get aligned only if they're followed immediately by the characters "->", while instances of, say, "-1" and "- " remain unaltered. If there is no current selection, then aligns all lines in the editor. If there is a current selection, then aligns only the lines that are at least partially included in the selection, and the selection is changed to the entire block of newly-padded lines. Parameters ---------- max_align_char_count : positive integer, optional The maximum number of instances to align of the specific character. For example, set to 1 to align only the first instance of the character on each line. The default is to align all instances of the specific character. """ from Npp import editor #---------------------------------------------------------------------------- # For the alignment character, take the character just inside the bounds of # the selection block (at either the start or the end, as determined below). #---------------------------------------------------------------------------- editor.targetFromSelection() selected_text = editor.getTargetText() # Use this code to get the align_char unconditionally from the start # of the selection. align_char = selected_text[0] # Optionally use this code to get the align_char from within the selection # at whichever end has the cursor. # (startByte, endByte) = editor.getUserCharSelection() # if startByte == editor.getCurrentPos(): # align_char = selected_text[0] # else: # align_char = selected_text[-1] # If the character from the selection seems implausible as the # align_char, then prompt the user for it. if align_char.isspace(): from Npp import notepad global default_align_char align_char = notepad.prompt('Align character:', 'Enter Alignment Character', default_align_char) if align_char is not None: default_align_char = align_char #---------------------------------------------------------------------------- #%% Get the lines of text within the selected alignment block #---------------------------------------------------------------------------- (startLine, endLine) = editor.getUserLineSelection() startPos = editor.positionFromLine(startLine) endPos = editor.getLineEndPosition(endLine) text_lines = editor.getTextRangeFull(startPos, endPos).splitlines(True) #---------------------------------------------------------------------------- # Remember whether there is a user-selected block, so we can restore a # corresponding selection after aligning the text. #---------------------------------------------------------------------------- restore_selection = editor.getSelectionStart() != editor.getSelectionEnd() #---------------------------------------------------------------------------- # Align all instances of align_char within the lines of text #---------------------------------------------------------------------------- if align_char is not None: # Enable the following to save the align_char, however it was determined, # to be the default_align_char when prompting for it next time. # default_align_char = align_char padding_side_offset = padding_side.value * len(align_char) if max_align_char_count is None: align_char_count = max(line.count(align_char) for line in text_lines) else: align_char_count = max_align_char_count start = 0 for instance in range(align_char_count): # Set the target column using the index of the align_char, ignoring # immediately preceding space, or the length of the line tgt_char_col = max(len(line[:line.find(align_char, start)].rstrip()) for line in text_lines) for (idx,line) in enumerate(text_lines): align_char_col = line.find(align_char, start) if align_char_col >= 0: text_lines[idx] = line[:align_char_col+padding_side_offset].rstrip().ljust(tgt_char_col) \ + line[align_char_col+padding_side_offset:] start = tgt_char_col + len(align_char) editor.setTarget(startPos, endPos) editor.replaceTarget(''.join(text_lines)) if restore_selection: startPos = editor.positionFromLine(startLine) endPos = editor.getLineEndPosition(endLine) editor.setSelectionStart(startPos) editor.setSelectionEnd(endPos) if __name__ == '__main__': align_selected_text()
    • h-jangraH

      NppVim 1.6.0.0 Release - what's next macros?

      Watching Ignoring Scheduled Pinned Locked Moved Notepad++ & Plugin Development
      1
      3 Votes
      1 Posts
      84 Views
      No one has replied
    • donhoD

      Notepad++ 8.8.8 release candidate

      Watching Ignoring Scheduled Pinned Locked Moved Announcements
      2
      7 Votes
      2 Posts
      986 Views
      donhoD

      FYI, v8.8.8 RC has updated to RC2 to enhance the security of auto-update.