• Plugin; irregularities with inplace editors closure

    13
    0 Votes
    13 Posts
    1k Views
    K

    @PeterJones Peter, oh sorry - i hadn’t realized it this morning in the hurry, my bad!

  • Feature Request: Insert Current Date and Time Like Excel

    2
    0 Votes
    2 Posts
    246 Views
    PeterJonesP

    @أحمد-حمدي-حمدين said in Feature Request: Insert Current Date and Time Like Excel:

    Hi Notepad++ Team,

    I’d like to request a simple yet useful feature:

    Feature already exists. No request needed. (If a request were needed, this isn’t the right place, as our FAQ makes clear)

    Currently, Notepad++ does not appear to have a built-in shortcut or menu option for this (the old “Edit → Time & Date (F5)” seems to be missing in newer versions).

    Edit > Insert > Date/Time (…) exists. It doesn’t default to any keystroke, but Shortcut Mapper can remedy that.

    User Manual:

    https://npp-user-manual.org/docs/editing/#edit-menu https://npp-user-manual.org/docs/preferences/#multi-instance-and-date

    By the way, you claimed,

    the old “Edit → Time & Date (F5)”

    That never existed in Notepad++. MS notepad.exe used that menu name and hotkey, but never Notepad++. Don’t believe everything that hallucinating AI tells you

  • Shortcut mappings are transferred to a plugin's activity

    10
    0 Votes
    10 Posts
    1k Views
    K

    @Coises : My thoughts about the topics:

    “IsDialogMessage” (“standard Windows way of separating messages that are directed to a non-modal dialog or any of its child controls from the normal flow through the message loop”) and “WM_GETDLGCODE” (“If keyboard focus is in a control, that control will decide which keys it wants and which keys should be processed as container navigation”):

    Basically the Lazarus component library (LCL) acts as a fully qualified message loop system that is able to react on nearly each message and notification within a windows message loop, nearly all WM_, eg. WM_KEY(down,press;up;…) can be detected and processed (*).
    Normally it’s hard to detect any lacks here imo. However i initially looked into that hierarchy, as here, like everywhere else in the programming world, some business rules might have been come into play for to negate a message (like eg. an app can do when it nulls out an Enter Key for to suppress a beep; Key := #0).

    (*) At least in the win32 “widgetset” as one within all those platforms: all-interfaces win32-interface
    It depends a bit on whether someone compiles “cross-platform” or for an OS-specific build, ie. “win32”):

    But - right, maybe that is it what matches your pointing! - there is no explicit call of “IsDialogMessage” itself within the LCL hierarchy (i grepped here)!
    But it is a function that is known and predefined in the free pascal compiler system (FPC) though. And, so, there really low-level based apps can be written (and do exist) without the LCL, using basic TranslateMessage, DispatchMessage etc. which are calling “IsDialogMessage” explicitely.
    “Matches your point” in so far as it makes understandable why without NPPM_MODELESSDIALOG (which calls “IsDialogMessage”) “most shortcut keys will be intercepted by Notepad++” - with other words, let NPP act as a gate-keeper for messages here.

    In sum, with your explanations it’s much more understandable now for me what’s going on (hope so).
    And why “RegisterForm” (-> the NPPM_MODELESSDIALOG-Send) in the docking formcreate now lets work again F2 (and Ctrl-c, Ctrl-v & co.) by the plugin. Otherwise the NPP gate-keeper would decide itself and won’t pass messages to the plugin that it claims for own usage, e.g as defined in the shortcut mapper.

    I hope I’m somehow on the right track here :-)
    I’d use this solution, it does indeed remove the issue :-)
    (i have to sort out a few subsequent flaws now, but those are assumingly outside the current thread)

  • 0 Votes
    6 Posts
    738 Views
    Bas de ReuverB

    Nice, thanks for fixing the issue 👍

  • AndroidLogger version 1.4.2.7: added search action!

    6
    0 Votes
    6 Posts
    752 Views
    glandonG

    截屏2025-05-06 07.10.16.png

  • 0 Votes
    13 Posts
    1k Views
    rdipardoR

    @ThosRTanner said in When is there going to be a release of NPP plugintemplate with a definition of NPPM_ADDSCNMODIFIEDFLAGS:

    @rdipardo Wouldn’t a better place to put the action be in the notepad++ repo so when a new version was released it’d do the updates to the template repo automatically?

    You make a good point.

    The workflow steps would essentially be the same, but in the opposite direction (clone the template repo, update the file tree, validate the build and push if successful). The main difference would be the trigger; ideally you would want to watch for tagged Notepad++ releases, e.g.,

    on: push: tags: - 'v*'

    This way new template versions can be explicitly tied to a Notepad++ release, e.g.,

    # 'refs/tags/vX.Y.Z' -> 'vX.Y.Z' echo "NPP_RELEASE=${env:GITHUB_REF}.Split('/')[2]" >> $env:GITHUB_ENV # ... git tag -a "${{ env.NPP_RELEASE }}" '@' -m "plugintemplate-for-Npp-${{ env.NPP_RELEASE}}" git push --tags --repo=https://github.com/npp-plugins/plugintemplate

    But it would be a problem if incompatible changes were made to the template. A failed build would cause a red X to appear beside the tagged Notepad++ commit, giving the false impression the release was a botch.

    I think the separation of concerns principle is best observed if the template project looks after its own updates. A little extra churn won’t be a great inconvenience. The majority of plugin authors are still copy-pasting the template files into their source tree, as shown by how many have “C” as their detected primary language, since the template files contain no unique C++ syntax or standard headers, which GitHub relies on to classify header files, unless you manually override the heuristics.

  • Slight issue with plugin's toolbar bitmap when switching light/dark mode

    8
    1 Votes
    8 Posts
    968 Views
    K

    And now - whilst i was a bit irritated why i should not have seen during my tests that indeed ‘LR_LOADMAP3DCOLORS or LR_LOADTRANSPARENT’ would remove the ‘looks like focusing’ effect too, i repeated the steps for a check. And what do i see? Hello again, the ‘focusing effect’ is back:
    marked_active.jpg

    Crazy & curious … and not severe, indeed. But not understandable neither …
    as i only became aware of this because this did NOT happen with other plugins, eg. the explorer plugin.
    But meanwhile i think it’s ‘normal’ for an active (loaded) plugin to show up with a kind of ‘active’ marker.
    Is it as such, and i simply was misleaded by, eg., the explorers bitmap rendering?
    At least others like JSONViewer or the HelloWorldPlugin itself use the active indicator too:
    HelloWorld_active.jpg
    So, maybe a simple misunderstanding … but is the marker done from the NPP core itself, or by a statement from a plugin?

    Btw: yes, NPPM_SETMENUITEMCHECK had been called indeed (in the plugin’s “FormDock” procedure).
    But it doesn’t make a difference if i either omit this call, or use ‘false’ for the “doCheck” parameter:

    SafeSendMessage(self.Npp.NppData.NppHandle, NPPM_SETMENUITEMCHECK, self.CmdID, 0);
  • JsonTools v5.5. is live!

    15
    7 Votes
    15 Posts
    9k Views
    Mark OlsonM

    JsonTools v8.4, which adds translation to several more languages and a few minor bugfixes, is live.

    It has been tested and appears to work well for versions of Notepad++ ranging from 7.3.3 to 8.8.1, both 32-bit and 64-bit.

  • Kotlin Language

    3
    0 Votes
    3 Posts
    3k Views
    Ako SajaiaA

    plzz add koltin guys , i love notepad ++ everything i’m writing in it , pluzz doit :3

  • WebServerNpp (Python Script plugin)

    8
    2 Votes
    8 Posts
    917 Views
    notdodgeballN

    Nice. It’s progressing fast.

    Now which will come first, https or authentication?

  • 0 Votes
    8 Posts
    957 Views
    ThosRTannerT

    @Chris-Fesko using vs 2022 doesn’t mean the code is using .net. My code certainly isn’t. It’s standard c++ throughout (though it is c++20 so i’m not sure how well that work with vc++ 6.0)

  • [New plugin] Linter++ - Linter plugin with message navigation.

    1
    2 Votes
    1 Posts
    159 Views
    No one has replied
  • 4 Votes
    67 Posts
    17k Views
    PeterJonesP

    @Coises,

    How do you go about testing the ARM64 version? I’ve left that out of all my plugin work so far, because I haven’t a clue how to verify that it works at all.

    I don’t. I’m following the time-honored tradition of releasing software untested, and hoping that any users will find edge cases for me. :-)

    Given that it works as 32b and 64b on Intel processors, and I’m not doing anything that is out-of-the-ordinary, I am hoping that there aren’t any ARM64-specific bugs

  • Single click to open file in workspace

    2
    0 Votes
    2 Posts
    300 Views
    PeterJonesP

    @Joe-Bruns-0 said in Single click to open file in workspace:

    Enhancement request.

    FAQ: Feature Requests aren’t tracked in the forum. If you want the developer to see your request, you’ll have to follow the instructions in the FAQ. But we can talk, and get ideas/feedback from other users here.

    Similar to single clicking on a file in document list panel to open it, can we do the same on folder as a workspace? It would appear that in folder as a workspace, a person has to double click on the file to open it.

    The two interfaces have a slightly different mindset, so, IMO, it would be a bad idea. In the Document List panel, you are dealing with files that are already open in Notepad++; in that mindset, then you’d want it to behave more like the tabbar, where a single click activates that already-open file. But in the Folder As Workspace (FaW) panel, the interface is much more like Windows Explorer: in Explorer and explorer-like interfaces, the user’s expectation is that single-clicking a file will select it, not launch it; and breaking that expectation in an explorer-like interface of the FaW panel will cause confusion on the part of many users, even though for some, it might be desired. If it were an option, I’d be okay with it; but unexpectedly forcing your preferred interface on everyone, especially on people who have been using Notpead++'s FaW for years (given how old the feature is, maybe even more than a decade) would be a bad experience for a large portion of the users.

  • Looking for a plugin that can mark "similar" lines in a text file.

    3
    0 Votes
    3 Posts
    390 Views
    LordP666L

    @Terry-R

    Fair enough. I thought I’d give it a shot.

    Thanks for your time and suggestions.

  • XML-Tools - Validation problem

    5
    0 Votes
    5 Posts
    739 Views
    Thorsten KreutzT

    @Mark-Olson and @Terry-R

    Thank you for your answers and sorry for the late response.
    I checked if there are unseen characters but there are none.

    I’m sorry for not translating the error text - I just made the screenshot and never thought about it. The google translation offered by @Terry-R is correct though.

    As for the mentioned lack of information:

    I’m using Notepadd++ 8.7.9 with XML tools 3.1.1.13.

    The XSD files are from the german tax offices and can be downloaded here:
    https://www.bzst.de/SharedDocs/Downloads/DE/Handbuecher/fs_XSDs_ab_20240401.zip?__blob=publicationFile&v=3

    A valid xml file which produces the mentioned error is:

    <?xml version="1.0" encoding="utf-8"?> <n1:ELMA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.itzbund.de/elan ./XSD/ELMA_FSAK_FS-6.1.0.xsd" xmlns:n1="http://www.itzbund.de/elan" xmlns:elan="http://www.itzbund.de/elan/elemente" xmlns:verf="http://www.itzbund.de/FSAK/FS/02.00" xmlns:std="http://www.itzbund.de/FSAK/FSStd/02.00" elmaVersion="2" verfVersion="6.1.0"> <elan:ELMAHeader> <elan:BenutzerkontoID>1006870761</elan:BenutzerkontoID> <elan:Transportweg> <elan:Datenart>FSAK_FS</elan:Datenart> <elan:Umgebung>PRODUKTION</elan:Umgebung> </elan:Transportweg> <elan:Identifizierung> <elan:EingangsID>1e6bb852-e445-47fc-965e-cdd2dc7f251c</elan:EingangsID> </elan:Identifizierung> <elan:Zeitpunkte> <elan:Erstellung>2025-02-28T12:20:25Z</elan:Erstellung> </elan:Zeitpunkte> </elan:ELMAHeader> <verf:FSAKFSRoot> <verf:FSAK_FS UUID="02c2af01-5d0e-1eef-bdb8-d2d5ad5dd1cb"> <verf:Melder> <verf:Daten Bezeichnung="Monster Inc." Zulassungsnummer="12345678" Steuernummer="9120012345678" eMail="mike@monster.inc" Telefon="555-1234567"/> <verf:Adresse PLZ="12345" Strasse="Monsterroad" HausNr="47" HausNrZu="a" Ort="Monsterville" /> </verf:Melder> <verf:MeldungListe> <verf:Meldung freigestellterBetrag="75" OrdBegriff="98765432" Zeitstempel="2025-02-28T12:20:25Z" Meldejahr="2024" UUID="02c2af01-5d0e-1eef-bdb8-d2d5ad5e11cb" xsi:type="verf:Meldeart1"> <verf:Glaeubiger> <verf:Daten Geburtsdatum="1970-06-19" Name="Sullivan" Vorname="James" IdNr="12345678901"/> <verf:Adresse xsi:type="std:AdresseInlandType" HausNr="11" Strasse="Homelandway" Ort="Home" PLZ="23456"/> </verf:Glaeubiger> <verf:Ehegatte> <verf:Daten Geburtsdatum="1979-11-24" Name="Sullivan" Vorname="Jane" IdNr="98765432109"/> <verf:Adresse xsi:type="std:AdresseInlandType" HausNr="11" Strasse="Homelandway" Ort="Home" PLZ="23456"/> </verf:Ehegatte> </verf:Meldung> </verf:MeldungListe> </verf:FSAK_FS> </verf:FSAKFSRoot> </n1:ELMA>

    The schemaLocation points to the a directory “XSD” in the same directory as the xml file with the content of the downloaded XSD extracted to “XSD”.

    Thanks again and still glad for any help!
    Thorsten

  • Black line highlight background after use of compare plugin

    4
    0 Votes
    4 Posts
    2k Views
    rdipardoR

    @Moratilla said in Black line highlight background after use of compare plugin:

    Solution: Alt+F4 & Reopen Notepad++ solves this, not the best solution but not the worst either xd

    You need to turn off CSV Lint’s transparent cursor option, or the problem will keep coming back:

    csv_lint_settings_panel.png

    See https://github.com/BdR76/CSVLint/issues/77

  • Navigating in a JSON, howto?

    2
    2 Votes
    2 Posts
    278 Views
    Mark OlsonM

    @Martin-Hoppe
    Open the tree view and paste your path after the @ symbol in the query box. When you select a node in the tree view, the caret will automatically snap to its position in the document.

    I am the JsonTools maintainer, and thus the best person to direct such questions to.

  • Having problems testing how I can release a plugin

    3
    1 Votes
    3 Posts
    406 Views
    ThosRTannerT

    @Coises Thanks. That works fine and have been able to test and update.

  • PythonScript to process -pluginMessage="..." command-line option

    4
    4 Votes
    4 Posts
    532 Views
    Alan KilbornA

    It appears that the “shortcoming” has been FIXED and should appear in the next Notepad++ release.
    Nice.