• Read This First

    Pinned Locked
    1
    5 Votes
    1 Posts
    2k Views
    No one has replied
  • New API to fix eventual regression regarding SCN_MODIFIED for some plugins

    Pinned
    32
    2 Votes
    32 Posts
    13k Views
    ThosRTannerT

    Just a quick question - when will the plugintemplate repo be updated to include the new message?

    Thanks

  • Announcement: NPPM_GETOPENFILENAMES and related are being deprecated in v8.8.2

    Pinned until 6/30/25, 3:12 PM
    15
    3 Votes
    15 Posts
    2k Views
    CoisesC

    @Vitalii-Dovgan said in Announcement: NPPM_GETOPENFILENAMES and related are being deprecated in v8.8.2:

    My last question was rather related to NPPM_GETFULLCURRENTPATH, NPPM_GETCURRENTDIRECTORY and the other messages from the same family. These messages:

    are internally limited by MAX_PATH; do not provide ability to request/retrieve the length required for the returned path/name.

    See the first part of this comment and the first part of the reply by the maintainer of Notepad++.

    The MAX_PATH limitation is present in the file handling routines of Notepad++, not just the interface for these messages. As I read that reply, Don has rejected (for now, at least) consideration that the MAX_PATH constraint might someday be removed. If you know MAX_PATH is enough, there’s no need to request the actual length ahead of time.

    I agree that there is some inconsistency in what is considered appropriate for deprecation, but I return to the observation that it will always be possible to screw up calling a C interface, and there were and are compelling reasons to keep the plugin interface as a pure C interface. (If we could pass a std::wstring or a std::vector<std::wstring> the whole problem would go away.) It’s a judgement call what is “too error-prone.” Not worth all that much debate.

  • Hi and I'm working on a WPF fork of NppCSharpPluginPack

    18
    1 Votes
    18 Posts
    1k Views
    Jonathan JohansenJ

    I figure I’d better document the solution(s) for others that may tread this path. A summary of some of the steps needed (of course built on top of Mark’s work!):

    Ensure you register your modeless dialog with NPP (NPPM_MODELESSDIALOG, in Main.cs we call NppFormHelper.RegisterFormIfModeless(Form, bool)) The WPF System.Windows.Controls.UserControl should be in an System.Windows.Forms.Integration.ElementHost, which is in a System.Windows.Forms.Form. I’ve subclassed the ElementHost to handle WM_SHOWWINDOW to update the Visible property, and to trigger a (slightly delayed) refresh of the visuals when we get a WM_SIZE. There I invalidate the visuals and update layouts. There may be a way to skip this, but it’s working, so I’m not trying to fix it. In the WPF UserControl, when it’s Loaded, we have to get the presentation source (as a HwndSource) and add a hook to respond to the WM_GETDLGCODE and tell the source that we DLGC_WANTCHARS and DLGC_WANTARROWS, and maybe we also need DLGC_HASSETSEL.

    I’ve pulled most of it into a method called MakeModelessDialog. And now for a short recording of it working!

    2025-06-28 Typing in Notepad++ modeless WPF dialog works.gif

  • 0 Votes
    4 Posts
    356 Views
    FraF

    @PeterJones Thanks for the input.

    Surprisingly, just dragging and dropping all the files at once onto Notepad++ opens all the files in about 5 seconds for 1000 files.

    Then the XML Tools takes about 10 seconds to prettify all opened files.

    Then just go to File > Close All so to not have to close each file manually.

    Will do it that way.

    Would be great to update the XML tools plugin if someone’s able and it is not to much work.

    Or just adding the Pretty Print feature directly to the Find In Files feature as extra function for the next Notepad++ update.

  • Suggestion about Right Click Context Menu

    3
    0 Votes
    3 Posts
    229 Views
    Maciej ZetM

    @pbarney BIG thanks as this is was I looking for.
    Just for the record - just checked and 2 entries is also fine:

    Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\SystemFileAssociations\.ps1\Shell\Edit with Notepad++ from line 450\Command] @="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\" -n450 %*" [HKEY_CLASSES_ROOT\SystemFileAssociations\.ps1\Shell\Edit with Notepad++ from line 450] "Icon"="C:\\Program Files\\Notepad++\\notepad++.exe"

    and perfect icon appear :)

  • C++ DarkMode dialogs -- not all controls inherit the mode

    10
    0 Votes
    10 Posts
    805 Views
    PeterJonesP

    For those who weren’t watching:

    ozone10 made a better fix for the tab-control: PR #16673 has been accepted ozone10 also fixed my “secondarily” report about the listbox scrollbar from above, which I reported in issue #16674, fixed in PR #16676 (accepted) progressbars also don’t go to darkmode, and ozone10 has proposed PR#16687, which hasn’t been accepted yet, but hopefully will be.

    So at least 2 of those 3 (and hopefully the third) will be in v8.8.2

    Meanwhile, CollectionInterface v1.1 has been released – the new version will be in PluginsAdmin for v8.8.2, or you can install it from the assets in the release at https://github.com/pryrt/NppPlugin-CollectionInterface/releases/tag/v1.1.0 :

    Adds DarkMode support (with N++ v8.5.4 or newer; in earlier versions, dialog will be LightMode still) [I do my own subclassing on the TabControl for v8.5.4-v8.8.1; it will use the builtin starting in v8.8.2] Allow selecting multiple files for bulk download (#6) Add label to progress bar so “100% [DONE]” is more clear (#9) Fix crash if firewall blocks download (#13) and make error handling better in other edge cases as well
  • NppExec v0.8.9 has been released!

    1
    4 Votes
    1 Posts
    88 Views
    No one has replied
  • 0 Votes
    4 Posts
    236 Views
    wonkawillyW

    After reading the answers, it seems that the proposal for improvement of this OP is not a real good Idea.

    Thank you all for the clarifying answers.

  • NppMenuSearch version 0.9.7 available

    13
    3 Votes
    13 Posts
    833 Views
    Vitalii DovganV

    Here is a funny scenario:

    type “menu” in the Search textbox; select Plugins -> NppMenuSearch -> Menu Search… press Enter.
    As the result, the Search textbox does not have a focus!

    Well, I know this is a strange use-case: call itself, but anyway :)

  • [New Plugin] MultiReplace

    69
    3 Votes
    69 Posts
    31k Views
    wonkawillyW

    IMHO the features of this plugin should be implemented directly into N++, maybe adding a further tab page to the current Search and Replace dialog to include the features of this plugin and its future evolution.

  • How to create a C# plugin?

    29
    0 Votes
    29 Posts
    7k Views
    EkopalypseE

    @scampsd

    Although the registry is actually the Windows standard, I would personally avoid it and rather use the plugin config directory. Can be determined via NPPM_GETPLUGINSCONFIGDIR.
    However, I would create a subdirectory with the plugin name and add a json, xml, toml … file there.

  • Script To Fix ASCII->Hex Byte Limit

    5
    0 Votes
    5 Posts
    653 Views
    Mark OlsonM

    It occurs to me that I could implement a feature in HugeFiles that would load a chunk of a file, run a plugin command on that chunk, append it to a new file, and repeat for each chunk.

    Such a feature would AFAICT eliminate the need for scripts like the one posted above.

    If this post gets at least 4 upvotes, I will consider implementing this feature. I expect it would be a lot of work but potentially useful.

  • Hash errors installing Analyse plugin

    2
    0 Votes
    2 Posts
    253 Views
    mkupperM

    @D-V, please post your Notepad++ debug info. I tested installing the Analyse plugin and it installed without any errors on Notepad++ v8.8.1 (64-bit) and also Notepad++ v8.8.1 (32-bit).

    You get the debug info from Notepad++'s ? / Debug Info ... menu.

    To post your debug info here in the community forums use </> on the forum’s menu bar and then replace the code_text that </> generates with the debug info.

  • 2 Votes
    1 Posts
    214 Views
    No one has replied
  • Display markdown outline view through Functionlist

    15
    2 Votes
    15 Posts
    5k Views
    A

    @MAPJe71 I like your solution. Unfortunately I get all comment lines from my (python) code fences into the function list. I tried some things without success, it seems that my skills in regex are limited.

  • 0 Votes
    4 Posts
    695 Views
    rdipardoR

    @martin-honnen said in Any idea why self compiled plugin works on "normal" Windows 11 but doesn't in Windows Sandbox?:

    [T]he used software needs the Visual C++ runtime …

    Runtime DLLs are not needed if you link them statically, i.e., use the /MT linker option or put the
    <RuntimeLibrary>MultiThreaded</RuntimeLibrary> property under <ClCompile> in the *.vcxproj file.

    See https://learn.microsoft.com/cpp/build/reference/md-mt-ld-use-run-time-library

  • XMLTools with XSLT 3.0 support

    1
    3 Votes
    1 Posts
    204 Views
    No one has replied
  • New polls have arrived, hurry, only while stocks last.

    1
    2 Votes
    1 Posts
    212 Views
    No one has replied
  • [New Plugin] NppOpenAI

    45
    8 Votes
    45 Posts
    43k Views
    Richárd StockingerR

    Hi everyone,

    @andrea-tomassi’s PR was really helpful, and it was accepted of course, moreover this gave the project a great shake-up! Of course, the update has also been added to the nppPluginList repository and was recently accepted.

    If someone doesn’t want to wait, manual installation is available as usual with the v0.5 release (unzip the appropriate ZIP file to the plugins/NppOpenAI folder):
    https://github.com/Krazal/nppopenai/releases/tag/v0.5.0

    The last few months have been very stressful for me (there was a nationwide update in the Hungarian .HU domain name registry, which also affected our developments too), but now things are starting to calm down and I hope to have more time for the plugin. ✨

    Once again, thank you to those of you who are trying out the plugin, and I am very grateful for all the contributions!