• 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
    1k 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.

  • 0 Votes
    4 Posts
    109 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
    418 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
    28k 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.

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

    11
    1 Votes
    11 Posts
    642 Views
    Jonathan JohansenJ

    Update: when I inspect the WndProc messages that come through $"{m.Msg} {m.WParam} {m.LParam}", I note these (mostly tangential, but I’d like to document them):

    Pressing ‘normal’ keys (e.g. a-z, arrows, 0-9, punctuation) does not send a message to the ElementHostEx, but instead (after I turned the volume up on my laptop), it somehow triggers a bell sound. Mouse click comes through with 528 513 36634781 and 33 723656 33619969 Switching to another program sends 8 0 0, and switching back to NPP sends 1024 0 0 Pasting into the TextBox works, but does not trigger any messages. Similarly for copying, deleting and backspacing. Opening the WPF About window sent 8 1116900 0

    I’d like to convert the msg id to a string, I’m not familiar with their values. But there still aren’t that many messages, so perhaps I haven’t set up the dock panel correctly. I’ll try the same thing in the existing Forms version and see what comes up for comparison.

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

    9
    0 Votes
    9 Posts
    475 Views
    PeterJonesP

    @Coises said in C++ DarkMode dialogs -- not all controls inherit the mode:

    is an oversight? Would it be worth a feature request issue?

    Probably.

    I just did an experimental build of N++, calling subclassTabControl from an "if WC_TABCONTROL, and it seems to work – in that, whether or not my plugin subclasses on its end, if I have that call in N++, it makes the tab control properly follow N++ DarkMode settings.

    I’ll create an Issue (complete with making a branch of my plugin where I don’t manually subclass, so there can be easy steps-to-reproduce), and then submit a proposed PR to fix it.

    update:

    Issue: https://github.com/notepad-plus-plus/notepad-plus-plus/issues/16668 PR: https://github.com/notepad-plus-plus/notepad-plus-plus/pull/16669
  • How to create a C# plugin?

    29
    0 Votes
    29 Posts
    6k 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
    584 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
    222 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
    143 Views
    No one has replied
  • Display markdown outline view through Functionlist

    15
    2 Votes
    15 Posts
    4k 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
    605 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
    150 Views
    No one has replied
  • New polls have arrived, hurry, only while stocks last.

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

    45
    8 Votes
    45 Posts
    41k 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!

  • Opened files fully expanded

    3
    0 Votes
    3 Posts
    480 Views
    mpheathM

    @Christian-Hoffmann

    Tested v8.8.1 being quite a new and clean portable and reopens new 1 folded

    Set as Python language folded at if on line 1. Programmatically regarded as line 0.

    new 1:

    if a: b

    session.xml:

    <?xml version="1.0" encoding="UTF-8" ?> <NotepadPlus> <Session activeView="0"> <mainView activeIndex="0"> <File firstVisibleLine="0" xOffset="0" scrollWidth="39" ... snipped ...> <Fold line="0" /> </File> </mainView> <subView activeIndex="0" /> </Session> </NotepadPlus>

    See the xml tag Fold. Folding is saved and restored.

    More details might be needed to solve your issue, like version being used … as ? -> Debug info... shows.

  • AndroidLogger.v1.4.3.1 added super features welcome your tests!

    6
    0 Votes
    6 Posts
    800 Views
    Alan KilbornA

    @glandon said:

    i try to get users clear

    This six-word thing is by far the most important thing you could do.

  • Workspace with Monospaced Fonts

    2
    0 Votes
    2 Posts
    319 Views
    EkopalypseE

    @ptrstack

    How difficult is it to make the folder tree …

    depends on how complex you want your solution to be.
    I would probably just change the font in the resource file and use the WM_SETFONT call in WM_INITDIALOG after initializing the treeview component. Depending on the size, you may also need to call TVM_SETITEMHEIGHT. So this would be 3 lines of code, I guess.