• 2 Votes
    14 Posts
    3k Views

    @Dan-Ignat-0 ,

    For non-programming langauges, like Markdown, there’s probably less concensus among users as whether “headers” or something else is the most likely “function” to include, which is probably why the developer hasn’t included such. But asking the developer (follow our Feature Request / Bug FAQ) to include the FunctionList would be reasonable at this stage (though someone would likely have to create the unitTest for him as well, otherwise he might not include it on his own).

  • Dictionary plugins

    Aug 31, 2023, 1:02 PM
    0 Votes
    8 Posts
    671 Views

    @Peter-Oates said in Dictionary plugins:

    However, it does not tell you what to do if the app cannot/will not create the folders it requires.

    I must also admit that I find Windows folder / file permissions an almost impregnable forest

    The latter causes the former issue.

    Assuming that the user knows how to deal with Windows OS permissions is not an unreasonable assumption, since you have to deal with them to do a normal Notepad++ installation. For the vast majority of users, whatever process they take that allows the Notepad++ installation will be sufficient to allow the plugin to work correctly – in all the complaints about DSpellCheck, this is the first time that I remember seeing permissions issues be the cause of the problem.

    Every once in a while, a Notepad++ user will find that, because of their non-standard, personal customizations of the OS and/or UAC settings and/or Notepad++ and/or the combination, something weird happens with permissions in the user’s AppData (which is what I’m guessing happened to you). But given how infrequent the reports are here, I don’t think it’s a highly common situation.

    I suppose the plugin author could put a note in his README and/or Online Manual to explain that “if you follow all the steps for installing a Hunspell dictionary, and it doesn’t show up, you should chcek the permissions on your %AppData%\Notepad++\Plugins\Config\ hierarchy” or similar – you could even put in a request for the author to do that – but I wouldn’t have necessarily expected a plugin author to have realized that such a comment would be necessary, since AppData permissions issues are reasonable rare.

    And even if the author had already documented that, you have admitted that you wouldn’t’ve seen the note on your own or even gone looking for it when you had a problem. So is it really worth the effort for a plugin developer to note that edge case – even if they know about it – when the people who run across that edge case are not likely to try to look up the documentation for it anyway?

    For the documentation that I work on, including Notepad++'s manual itself and FAQs for this forum, I most likely would, once it was pointed out to me, because I like to pretend that at some point, people will figure out how to look for documentation; but I don’t know that I expect other people to waste their time in the same ways I waste my own time.

    update: Rereading my post, I guess I could say, since it’s a permission issue, I would have expected the plugin to have received an error from the OS when it tried to write the dictionary to the right folder, and they could have popped up a dialog informing you… I’m actually surprised there wasn’t one. So either the OS was silently erroring out (in which case the plugin cannot do much if the OS doesn’t admit to the failure), or the plugin author was trying to shield you from error messages or something. But it would be a good idea for somebody (you) to put in a request for the plugin to check the status of the dictionary download/install, and if they cannot write it, to let you know about the problem.

  • 3 Votes
    11 Posts
    345 Views

    So it turns out that my plugin was at fault, as noted here. I was allocating MAX_PATH bytes for a buffer that could contain MAX_PATH wide chars, so any filename with length MAX_PATH / 2 or greater would cause a bug.

  • 3 Votes
    13 Posts
    398 Views

    I said in Some plugins' icons disappear when going from light to dark mode:

    BMP icons are statically sized; the ICOs are “fluent”, i.e., can be scaled up […]

    This is mostly correct, but I should have mentioned that toolbar BMPs actually can simulate a kind of “DPI awareness”, provided your plugin interface can access the GDI device capabilities API. See, for example, how ComparePlus goes about sizing its icons. There’s also a .NET example in my experimental template project.

    If that’s too much trouble, just re-dimension your bitmaps to make sure they can scale up without blurring, then load them at 24x24 pixels, since that’s what the graphics device will normally choose for conventional screens using 96 DPI.

  • [New Plugin] MultiReplace

    Jun 11, 2023, 5:08 PM
    3 Votes
    67 Posts
    13k Views

    Version 4.1.1.21 has been released and will be included in the next Notepad++ update. Below are the key changes and improvements:

    Header Column Menu: Right-click on the header to toggle columns like Find count, Replace count, Comments, and Delete.

    Comments Column: Add custom comments to entries via the new optional Comments column. Existing list files remain fully compatible.

    Column Locking: Lock the width of columns (Find, Replace, Comments) with a double-click on the header divider. A lock icon shows the status.

    New Variables: Two new variables have been added for “Use Variables” option: FNAME: Represents the filename or window title for new, unsaved files. FPATH: Represents the full path including the filename, or is empty for new, unsaved files. Multilanguage Support: The plugin now supports Danish. Configuration Options: Manage settings via the INI file located at
    C:\Users\<Username>\AppData\Roaming\Notepad++\plugins\Config\MultiReplace.ini: DoubleClickEdits: To disable direct editing on double-click, set DoubleClickEdits=0 (default: enabled). Tooltips: To disable tooltips, set Tooltips=0 (default: enabled). AlertNotFound: To disable notifications for unsuccessful searches, set AlertNotFound=0 (default: enabled).

    Here is a visual take on the changes:
    fe07924a-0201-4e47-b3c8-46b815cd081b-image.png

  • 1 Votes
    11 Posts
    744 Views

    @Guido-Thelen

    This file in JsonTools contains a lot of the helper code you would need to make your forms compatible with NPP’s more recent releases.

    As you may notice from reading the file, making your forms compliant with NPP’s expectations introduces a lot of frustrating issues, but IMO this is just the cost of maintaining a C# plugin.

  • 0 Votes
    2 Posts
    160 Views

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

    The referenced module was not found.

    The sandboxed version of Windows seems to have fewer core libraries than the “full” version, The operating system is saying that your plugin wants to call a function in a core library which is not installed.

    Try setting the Windows API level in the Visual C++ project file by defining the _WIN32_WINNT and the NTDDI_VERSION macros to a Windows release that predates Win10: https://learn.microsoft.com/windows/win32/winprog/using-the-windows-headers

    See, for example, how Notepad++ defines both to target Windows 7 (the oldest version it supports).

    Worst case, you may have to to seek out the exact version of Visual Studio the XMLTool author was using.

  • 0 Votes
    7 Posts
    244 Views

    @Alan-Kilborn
    Yes! Now its a beauty…

  • 7 Votes
    14 Posts
    7k Views

    I’ve just commited the unreleased JsonTools v8.2.0.3 that hopefully fixes the issue described in my previous comment. Did my commit fix it? I have no idea, 🤷!

    Same deal as in my previous comment: please upvote this comment if and only if you notice that JsonTools v8.2.0.3 reformats 11.11 as 11.109999999999999. Don’t upvote this comment for any other reason; that way, I’ll know that this is still an issue if I get upvotes.

  • 0 Votes
    3 Posts
    346 Views

    @Eric-Schetselaar ,
    Like @Mark-Olson says, at least for Syntax Highlighting, the UDL is about your best bet if any, and that probably means you’d have to create your own. (fun!!) Not sure what prompting means in this usage.

    Unlike @Mark-Olson , I hadn’t heard about this language, but the quick view I had, looks like the UDL could handle it. It’s got essentially a Class/Function style that is similar to most OOP language implementations.

    If by prompting, you mean Autocompletion or FunctionList capability, that’s even more work, but doable, since the language looks like most others, it just needs to be structured into a Notepad++ UDL structure system…but as @Mark-Olson suggests, there might already be capable editors for that specialization already, since it’s under the Meta banner, they could provide it. If you’re simply looking for an alternative, then roll up your sleeves and get to work. :-)

  • 4 Votes
    24 Posts
    3k Views

    @PeterJones: the wiki is now up, so this thread can be locked 🔒, please and thank you.

  • 5 Votes
    5 Posts
    247 Views

    @PeterJones keeping the 2 Listboxes might be OK as well since I have mocked it recently.

    NppListToCombo2.png

    Left side and center same as my previous post. The right side displays 2 listboxes with 8 items per list being visible. Either of the 2 alternatives appear wider as can be seen in the image.

    Here is the AutoIt3 sources if anyone wants to play with them. Just need the AutoIt3 interpreter which can get from downloading the Zip file and extract AutoIt3.exe or AutoIt3_x64.exe.

    ; about: With 1 ComboBox and 1 Listbox. Global Const $CBS_DROPDOWNLIST = 0x3 Global Const $GUI_EVENT_CLOSE = -3 Global Const $WS_VSCROLL = 0x00200000 Global Const $WS_CAPTION = 0x00C00000 GUICreate('Style Configurator', 750, 405, -1, -1, $WS_CAPTION) GUICtrlCreateLabel('Select theme:', 67, 15) GUICtrlCreateCombo('Default (stylers.xml)', 142, 15, 160, Default, $CBS_DROPDOWNLIST) GUICtrlCreateGroup('', 10, 45, 250, 345) GUICtrlCreateLabel('Language:', 20, 60) GUICtrlCreateCombo('Global Styles', 20, 85, 230, Default, $CBS_DROPDOWNLIST) GUICtrlSetData(Default, 'ActionScript|ADA|ASN.1|ASP') GUICtrlCreateLabel('Style:', 20, 120) GUICtrlCreateList('Default Style', 20, 145, 230, 180, $WS_VSCROLL) GUICtrlSetData(Default, 'Indent guideline style|Brace highlight style|Bad brace colour' & _ '|Current line background|Selected text colour|Multi-selected text color' & _ '|Caret colour|Multi-edit carets color|Edge colour|Line number margin' & _ '|Bookmark margin|Change History margin|Change History modified' & _ '|Change History revert modified|Change History revert origin' & _ '|Change History saved|Fold|Fold active' & _ '|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20') $idExit = GUICtrlCreateButton('Exit', 650, 365, 80) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idExit Exit EndSwitch WEnd ; about: With 2 Listboxes Global Const $CBS_DROPDOWNLIST = 0x3 Global Const $GUI_EVENT_CLOSE = -3 Global Const $WS_VSCROLL = 0x00200000 Global Const $WS_CAPTION = 0x00C00000 GUICreate('Style Configurator', 750, 405, -1, -1, $WS_CAPTION) GUICtrlCreateLabel('Select theme:', 67, 15) GUICtrlCreateCombo('Default (stylers.xml)', 142, 15, 160, Default, $CBS_DROPDOWNLIST) GUICtrlCreateGroup('', 10, 45, 250, 345) GUICtrlCreateLabel('Language:', 20, 60) GUICtrlCreateList('Global Styles', 20, 80, 230, 120, $WS_VSCROLL) GUICtrlSetData(Default, 'ActionScript|ADA|ASN.1|ASP|Assembly|AutoIt|AviSynth' & _ '|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20') GUICtrlCreateLabel('Style:', 20, 195) GUICtrlCreateList('Default Style', 20, 215, 230, 120, $WS_VSCROLL) GUICtrlSetData(Default, 'Indent guideline style|Brace highlight style|Bad brace colour' & _ '|Current line background|Selected text colour|Multi-selected text color' & _ '|Caret colour|Multi-edit carets color|Edge colour|Line number margin' & _ '|Bookmark margin|Change History margin|Change History modified' & _ '|Change History revert modified|Change History revert origin' & _ '|Change History saved|Fold|Fold active' & _ '|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20') $idExit = GUICtrlCreateButton('Exit', 650, 365, 80) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE, $idExit Exit EndSwitch WEnd

    I didn’t type the full list of items as it is just mocking the Style Configurator Dialog for display purposes.

  • ftp profiles gone a lot

    Dec 8, 2024, 11:37 AM
    0 Votes
    3 Posts
    193 Views

    @PeterJones

    option 1 is most likely, but one time it happened when i restarted notepad++ himself
    i will backup the file you told me

  • 6 Votes
    12 Posts
    5k Views

    Hi NCalu,

    i like your plugin and have it on my watchlist. Want to try it out, but didn’t had the time yet.

    Personaly i work only with Sinumerik Controllers. Looking at your G-Code, it looks more like Fanuc or Mitsubishi Style G-Code programing. However the preview is a really nice feature.

    Can the plugin handle unexpected commands, which are possible only on certain controllers e.g. Sinumerik G-Codes, Functions, Cycles e.g like Cycle61(,…,) for face milling and so on?

  • 0 Votes
    4 Posts
    179 Views

    @PeterJones Hi Peter, thanks for pointing me to this feature, did’t know it existed! Indeed probably a good candidate to have this enabled by default, doesn;t hurt.

  • "} else {" as a new section

    Dec 4, 2024, 11:02 AM
    0 Votes
    2 Posts
    138 Views

    @Bert-Nieuwenampsen said in "} else {" as a new section:

    Can I adjust this somewhere in Notepad++?

    Notepad++ uses the Lexilla IP by Scintilla for syntax highlighting and folding. Apparently, the PowerShell lexer has a property called fold.at.else, but Notepad++ doesn’t currently set that option. If Notepad++ were to set that true on PowerShell documents (by setting that property in setPowerShellLexer()), then it would allow folding at } else { for PowerShell.

    So if someone (you) were to follow the instructions in our Feature Request FAQ, and make an official request, it could be turned on, or a preference could be added to allow the user to toggle it. Then, if the developer thought it was a good idea, it might eventually be added to Notepad++.

    Until that happens, you could use the PythonScript plugin to toggle that setting:

    bb4ef35e-f36b-4ac3-a885-50a5637b20ea-image.png
    vs
    fa016149-1177-4813-a3aa-c9961a2295f5-image.png

    To be able to automatically do that, you could edit (or create) your user startup.py to include

    from Npp import editor, notepad, LANGTYPE, NOTIFICATION def cb_pwshFoldAtElse(args): if notepad.getCurrentLang() == LANGTYPE.POWERSHELL: editor.setProperty("fold.at.else", 1) notepad.callback(cb_pwshFoldAtElse, [NOTIFICATION.BUFFERACTIVATED])

    (For more on PythonScript and the user startup.py, and the need to set ATSTARTUP instead of LAZY for my instructions to work, see our FAQ: How to install and run a script in PythonScript)

  • Prevent file loading

    Nov 27, 2017, 2:44 PM
    0 Votes
    10 Posts
    2k Views

    @Alan-Kilborn said in Prevent file loading:

    I don’t believe NPPM_DOOPEN or WM_OPEN do the job, though.

    I doubt that too

    @clach04
    To “really” not open a file before it is read, Npp must support this internally, which is not yet the case.

  • Code Beautifier 1.0 (PythonScript)

    Feb 17, 2024, 11:13 PM
    2 Votes
    25 Posts
    8k Views

    @Khundian-Twitch
    Hello, can you please put your script back please? I need to create one for a very specific langage of an IBM tool and your work can really help me.

    Thank you,
    Regards

  • 0 Votes
    4 Posts
    182 Views

    Thank you guys for the quick answers

  • 0 Votes
    17 Posts
    451 Views

    @Alan-Kilborn said in æøå ÆØÅ Python in Notepad++ with NppExec Norwegian, Icelandic, Danish and the Faroe Islands:

    You can write in the NPPExec Console window?? I didn’t even know that!

    Yeah this was me having an “omg, that’s cool” / “I am an idiot” moment ^^ It might have been lost in translation though and can easily be misinterpreted as something else. If so i am sorry.

    @Alan-Kilborn said in æøå ÆØÅ Python in Notepad++ with NppExec Norwegian, Icelandic, Danish and the Faroe Islands:

    Do something (intro). Literally the first way to do something says “using NppExec’s Console allows you to enter some command and execute it by pressing Enter”.

    English is not my first language so that pretty much went straight over my head. I interpreted this as “making a .txt or .py file (or any file used for the console)” and writing the command line there and sending it to the console. Not as pressing the mouse inside the console and using it as a “command prompt/terminal” since that is not what i set out to do in the first place.

    @Alan-Kilborn said in æøå ÆØÅ Python in Notepad++ with NppExec Norwegian, Icelandic, Danish and the Faroe Islands:

    There used to be a common sense thing that when you’re starting to use something new, you do at least a glance-through of its manual. I’m probably old school, though.

    If one is doing something they want to learn and set out to do so then ofc read the manual! But for my use, nah i see that as an waste of time in my matter. Yet i did go into the link and glance over it. Remember i made this post to help my future self and hopefully others, not be schooled in how to use npp/python. All though i do appreciate all the help that has been given! And i am sure others will too!

    @Alan-Kilborn said in æøå ÆØÅ Python in Notepad++ with NppExec Norwegian, Icelandic, Danish and the Faroe Islands:

    It also pays to be a bit humble when others are trying to help; makes the whole process smoother.

    I believe I’ve been more then “a bit” humble in this thread. But yeah you are right, this thread did not go very smoothly.