• KNOWN ISSUE: 8.8.2 doesn't appear to be digitally signed

    Pinned until 8/2/25, 12:32 PM
    4
    0 Votes
    4 Posts
    393 Views
    TragenT

    It’s even worse that you now need a USB stick / HSM for code signing certificates which makes it even more complicated and expensive.

  • FORUM: Posting Queue

    Pinned
    9
    12 Votes
    9 Posts
    2k Views
    PeterJonesP

    @donho ,

    Makes sense.

    Since deleting posts was tedious for me, I had recently been looking into whether I could use the API that the forum offers to write a script to automate some of the cleanup (like with purging the deleted posts/topics), but that will take some time to develop.

    update: As of Nov 9, the purge automation is working, and it will run once a week. (Along with purging deleted posts/topics, it will also delete user accounts that are more than a year old where the user never posted and never logged in after the first day – nearly half of the 30000 accounts were in this category)

  • Please Read This Before Posting

    Pinned Locked
    1
    5 Votes
    1 Posts
    4k Views
    No one has replied
  • 4 Votes
    1 Posts
    41 Views
    No one has replied
  • Does Notepad++ support Language Server Protocol (LSP)

    9
    0 Votes
    9 Posts
    1k Views
    EkopalypseE

    @notdodgeball

    thanks - I’ve changed it accordingly.

  • This topic is deleted!

    0
    0 Votes
    0 Posts
    44 Views
    No one has replied
  • 9 Votes
    45 Posts
    11k Views
    PeterJonesP

    @Lycan-Thrope said in Config Files Need Updating, Too:

    more likely you’re just overworked and missed

    Typo fixed

  • Editar formulas de excel en Notepad

    8
    0 Votes
    8 Posts
    116 Views
    Chris Martin 1C

    Hola Jhorbam,

    Lo que estás buscando se puede lograr parcialmente en Notepad++ utilizando resaltado de sintaxis personalizado (User Defined Language, UDL). Notepad++ no tiene soporte nativo para fórmulas de Excel, pero puedes crear una definición de lenguaje personalizada que resalte palabras clave como SUMA, PRODUCTO, operadores como +, =, *, (, ), y los signos de dólar $.

    Pasos para hacerlo: Abre Notepad++. Ve a “Lenguaje” → “Definir tu lenguaje…”. Crea un nuevo lenguaje con un nombre como ExcelFormulas. En la pestaña “Palabras clave”, añade funciones de Excel que uses, como SUMA, PRODUCTO, SI, etc. En la pestaña “Operadores y delimitadores”, puedes agregar =, (, ), {, }, $, y otros símbolos. Personaliza los colores de texto para que se parezcan a los del editor de fórmulas de Excel. Guarda tu configuración y aplícala al archivo.

    Esto no será tan avanzado como el editor de fórmulas de Excel, pero puede ayudarte visualmente al copiar y revisar fórmulas extensas.

    También puedes exportar/importar configuraciones si quieres compartir tu UDL con otros.

    Saludos.

  • 1 Votes
    3 Posts
    109 Views
    Valery OrlovV

    @guy038, Thanks to you, I not only solved my problem, but also became better acquainted with the possibilities of Notepad++.
    Best regards

  • Note++ file location

    5
    0 Votes
    5 Posts
    376 Views
    PeterJonesP

    @tnet-chrome said in Note++ file location:

    The file config.xml under %AppData% had the recent files list. But if I manually delete any recents, save the file and restart Notepad++ the same list of files is re-added. Why? Where from?

    Because those recents were still in memory when you exited Notepad++, and when Notepad++ exits, it overwrites the existing config.xml with those values from memory – even if you had recently manually edited config.xml. The user-manual section on Editing Config Files has a paragraph explaining how to edit config.xml, because it must be treated differently than the other config files (and config files in general have to be treated differently relative to “normal” files, as that entire section describes).

  • The accents above Cyrillic capital letters are incorrectly displayed

    3
    0 Votes
    3 Posts
    99 Views
    Valery OrlovV

    @xomx, thank you very much. When I selected another font (Ebrima), the problem was resolved.

  • is thier any posibilities to find and replace multiple words at once ?

    4
    0 Votes
    4 Posts
    93 Views
    CoisesC

    @neeraj10786:

    While I don’t use it myself (and so can’t give detailed advice), it seems like the MultiReplace plugin by @Thomas-Knoefel would be easier to use than built-in methods. If this is a single-time problem, then the built-in methods others have given make sense; but if it is something you’ll need to do repeatedly, I’d check out that plugin.

  • Editor displays "!=" token as "≠" symbol - how to turn off?

    5
    0 Votes
    5 Posts
    223 Views
    B

    Many thanks to @PeterJones and @Coises, for the answers, perspective, and (in Peter’s case) updating the User Manual.

    You are right, it was Cascadia Code; changing it to Consolas, for example, got rid of it. My “exhaustive” font testing was… only Cascadia Code and Fira Code, so I literally hit both of the two. I’ve been mostly using Hack font for such a long time, I just haven’t really noticed any of this ligature-supporting fonts. I just got a new PC and hadn’t installed Hack yet.

    I like finding out where I was ignorant and wrong. It makes me less so.

    Cheers and thanks again!
    –BrBill

  • Unexpected text display change for >=

    5
    2 Votes
    5 Posts
    446 Views
    PeterJonesP

    @BrBill said in Unexpected text display change for >=:

    @Alan-Kilborn I want to turn this off too. It also displays != as ≠. Does anyone know?

    You didn’t need to post a second time with the same question 15 minutes after your first post here.

    Besides, one answer in the post you were replying to – turning off DirectWrite, which is now setting it to GDI (most compatible) as of a few versions ago – would have worked for you if you’d tried it.

    Or, as I explain here, pick a font that doesn’t have the ligature feature.

    Either works.

  • Applying Diff patches?

    4
    0 Votes
    4 Posts
    263 Views
    EkopalypseE

    @pbarney

    Using PS3 and an installed pygit2 library
    you can do something like

    import pygit2 repo = pygit2.Repository(Path(notepad.getCurrentFilename()).parent) diff = pygit2.Diff.parse_diff(editor.getText()) repo.apply(diff)

    This assumes that

    the patch file has been created from a git tool the current file open is the patch file in question the patch file is in the repo directory
  • Quick Question: what Python version for Pythonscript does everyone use?

    3
    1 Votes
    3 Posts
    164 Views
    EkopalypseE

    @pbarney

    I only use the pre-release version, PS3,
    as I only work with utf8 encoding, which I think everyone should do.

  • Npp website spelling error

    7
    3 Votes
    7 Posts
    796 Views
    deleeleeD

    @mkupper said in Npp website spelling error:

    FWIW, this Google search gets zero hits other than this forum thread.

    site:notepad-plus-plus.org "featurs"

    I’m guessing that the misspelling, if it ever existed, was corrected a while back.

    Yes, it was fixed within a few days of me posting 😁👍

  • 8.8.2 - coming soon??

    16
    0 Votes
    16 Posts
    3k Views
    xomxX

    @rdipardo said in 8.8.2 - coming soon??:

    edition in a user-local path

    I already checked such possibility (for N++ installer, not for portable eds) and have the non-admin user-installations on my TODO, but so low spare time… (#15182)

    @rdipardo said in 8.8.2 - coming soon??:

    can still have context menu entries — scoped to HKEY_CURRENT_USER by default

    Very good. I think the NppShell project should take this into account somehow and allow the HKCR registrations when needed/requested. This HKLM default is(?) IMO the reason for a possible regsvr32 zombie process when trying to register the NppShell manually & unelevated (#15182)

    @Coises said in 8.8.2 - coming soon??:

    I don’t think I’ve ever used a package manager.

    But OTOH you also said that for some SW (Firefox) you allow (welcome(?)) the autoupdates. Such package managers do just that - they remove the burden from the user to constantly check and update their software (even for a portable non-admin user-installation), but at the same time they leave them free to enter this process (if they wanna) and therefore it is not completely hopeless like with the locked stores like WindowsStore or GooglePlay. One example - with the WinGet you can go simply back in the app-versions if you need to (as you do with your “Software\Old”), this is of course impossible with e.g. the GooglePlay (damn hell to them for it!).

    SW-updating “world” just changed and not everything is so bad. So e.g. the WinGet (or more user friendly WinGetUI) way is ok for me (I am not using it for N++, I do it old-school as you do, I admit :-) ). Some relevant links:

    https://community.notepad-plus-plus.org/topic/24884/winget-real-autoupdater-finally
    https://github.com/microsoft/winget-pkgs/tree/master/manifests/n/Notepad%2B%2B/Notepad%2B%2B

  • Replace 2nd occurrence in string per line, then nth occurrence Npp v8.8.1

    5
    0 Votes
    5 Posts
    281 Views
    FraF

    @PeterJones thanks a lot for the nuances. Indeed, I first wondered about the difference from the group indexing starting at 1. Then also about the difference from the quantifier ( {n} where n is an integer >= 1 https://www.regular-expressions.info/refquick.html).
    Thanks for the $0 group placeholder mention, I wondered about that too, now I understand what it captures.

    I understand the regex as this:

    Find:

    Put everything that preceeds the occurence of interest into a group (1st group referenced by the placeholder with the starting index at 1 ($1) — though there is a placeholder 0 ($0) which references the whole set/string instead of any subgroup of it)). Exclude the occurence of interest from the that group, but state is a the search delimiter for the regex just outside the group.

    Replace with:

    Capture the group with it’s placeholder (make a copy of it and store it: $1 = foo / ^((?:.?foo){0}.?) for the 1st occurence (N+1) with index 0). Use the 2nd/next occurence as external delimiter reference to stop the regex search at (^((?:.?foo){0}.?)foo). Then append the new value (XOO) to the copied unchanged group.

    I think I see what you mean when considering there must always be a 2nd /next occurence for the regex to work so it can’t be starting at zero? While in the background the engine uses a zero based indexing for the 1st element of the occurences series.
    0 is the 1st element in the indexes series, 1 is the 2nd and so on.
    While for the groups placeholders, 0 isn’t an ordinal reference, it’s an arbitrary reference to the set. The ordinal reference starting at 1 in this case.

    I need to check the doc and do more practice to get over the confusing parts!

    The quantifier also starting at 1 though index 0 is still valid but return no value (or the whole set but with empty values)?

    For example:

    19 empty string matches:

    0.gif

    [A-Z]{0} goo A greAS gir PE

    https://regex101.com/r/dYnJmE/1

    / [A-Z]{0} / gm Match a single character present in the list below [A-Z] {0} matches the previous token exactly zero times (causes token to be ignored) A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive) Global pattern flags g modifier: global. All matches (don't return after first match) m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string) 0-0 empty string 1-1 empty string 2-2 empty string 3-3 empty string 4-4 empty string 5-5 empty string 6-6 empty string 7-7 empty string 8-8 empty string 9-9 empty string 10-10 empty string 11-11 empty string 12-12 empty string 13-13 empty string 14-14 empty string 15-15 empty string 16-16 empty string 17-17 empty string 18-18 empty string No match/invalid:

    1.gif

    [A-Z]{} goo A greAS gir PE

    https://regex101.com/r/CtqQ0D/1

    / [A-Z]{} / gm Match a single character present in the list below [A-Z] A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive) {} matches the characters {} literally (case sensitive) Global pattern flags g modifier: global. All matches (don't return after first match) m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string) Your regular expression does not match the subject string. 5 matches:

    2.gif

    [A-Z]{1} goo A greAS gir PE

    https://regex101.com/r/MImsNL/1

    / [A-Z]{1} / gm Match a single character present in the list below [A-Z] {1} matches the previous token exactly one time (meaningless quantifier) A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive) Global pattern flags g modifier: global. All matches (don't return after first match) m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string) 4-5 A 9-10 A 10-11 S 16-17 P 17-18 E 2 matches:

    3.gif

    [A-Z]{2} goo A greAS gir PE

    https://regex101.com/r/p1WOWQ/1

    / [A-Z]{2} / gm Match a single character present in the list below [A-Z] {2} matches the previous token exactly 2 times A-Z matches a single character in the range between A (index 65) and Z (index 90) (case sensitive) Global pattern flags g modifier: global. All matches (don't return after first match) m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string) 9-11 AS 16-18 PE
  • [suggestion] View > Tab > Move up/down

    3
    0 Votes
    3 Posts
    479 Views
    S

    Thanks for the tip.