• Find in Files: all fields highlighted

    13
    1 Votes
    13 Posts
    449 Views
    S

    OK, should have mentioned here I had created an issue on GITHUB. OK, one remains, that’s fine.

  • C# GUI access

    9
    0 Votes
    9 Posts
    543 Views
    PeterJonesP

    @General-Coder ,

    My guess is that @myGitAlex thought that showing you another example of a GUI written in C# would be helpful – maybe assuming you were asking “how do I write any GUI for my plugin using C#”, not realizing you were asking for a very specific question about accessing specific parts of the native Notepad++ GUI from your plugin, even though they don’t have plugin API calls.

  • Delete lines from Search Result

    3
    0 Votes
    3 Posts
    200 Views
    ΣΥΝΠΑΝ SoftwareΣ

    It does not work for me. It seems never to receive keyboard focus although I can click my mouse and copy text from the results window, nor is there a delete entry in the context (right-click) menu. All keyboard events go to the active tab window

  • Hide/shade code not #defined

    9
    0 Votes
    9 Posts
    920 Views
    PeterJonesP

    @Vitaly-Gelman ,

    I wonder if there is a way to set a background to grey for a disabled block of C code

    Use editor.styleSetBack(...) instead of editor.styleSetFore(...)

    Also, where can I find a description of editor.styleSetFore() function

    If you click on editor.styleSetFore() in your script inside Notepad++, and use Plugins > PythonScript > Context-Help, it will take you to the PythonScript documentation for styleSetFore, which tells you that the second argument is the color

    namely the second argument (clr). What are the three integers there?

    The “color” to use. Specifically, the three integers in the tuple are the red, green, and blue values. In my calculation, I had it set the “disabled/hidden preprocessor section” (aka “SCE_C_PREPROC_HIDDEN”) to the foreground color that’s halfway between the foreground and background of a normal preprocessor (which is a reasonable hidden value, whether in Light Mode or Dark Mode).

    So if you want to set the background, you would have to pick red/green/blue values that make sense given your theme, and use editor.styleSetBack(self.SCE_C_PREPROC_HIDDEN, ...) where ... is either a tuple variable (like clr) or a literal tuple (like (63,63,63)).

    (Please note that Scintilla, and thus Notepad++, treat the #if 0 exactly the same as the #ifdef NOTDEFINED, so there is no way to distinguish between a hardcoded #if 0 and the define-based #ifdef NOTDEFINED – so I hope you weren’t asking to be able to distinguish between the two, as you would be disappointed if you were.)

    PS: the styleSetFore() didn’t specifically describe that a “color” was in a tuple, because near the top of the Editor Object page, there is a paragraph which says,

    Colours are a tuple of (red, green, blue) where each of red, green, and blue is between 0 and 255.

    … and that paragraph applies to all “color/colour” arguments throughout the documentation.

  • [New Plugin] Blitz Search

    8
    3 Votes
    8 Posts
    1k Views
    natestahN

    So glad this is in the latest build!

    Small Demo here:
    https://www.reddit.com/r/notepadplusplus/comments/1e6eceq/blitz_search_in

  • Npp and plugins, font size of the representations

    2
    0 Votes
    2 Posts
    216 Views
    CoisesC

    @Raff-Zahn said in Npp and plugins, font size of the representations:

    In Windows 11 I set the display to 125%. Npp does not handle the adjustment.

    That’s strange. On Windows 10, I have two monitors; one is scaled at 100% and one is scaled at 125%. The size of menu text, icons and editable text changes when I move the Notepad++ window from one monitor to the other (unmistakably visible as I drag it across, because when the window changes from being mostly on one monitor to mostly on the other, the size changes on both monitors). If the display scaling is really not affecting Notepad++ in your installation, there must be some reason; normally, it does.

    Is there a way to adjust and zoom the representations in plugins?

    Plugins in Notepad++ create their own user interface, aside from docking dialogs when docked (and even then, it’s only partially under the control of Notepad++). You would have to make your request to the author of the plugin in question; usually there is a GitHub issues forum.

  • 1 Votes
    9 Posts
    709 Views
    Guido ThelenG

    Hi,
    did you install the C++ development tools when installing Visual Studio. This is mandatory for developping the Npp Plugin.
    Regards
    Guido

  • List with self created code snipets

    7
    0 Votes
    7 Posts
    363 Views
    Raff ZahnR

    My ancient Oxford English is very bad? I actually have a poor understanding of US English here in the forum. So I have to use a translator. Thanks for the tip.

    Actually, it’s not QuickText but the Snippets plugin that’s right for me. It’s much more elegant than Panel in the old Weaverslave.
    As a docking popup it’s OK. I expand the left editor margin to the maximum, make the snippets quite narrow, use very short tag names, put the line numbers and the margin in the snippets. So it’s almost perfect.

    Thank you for help. I’m already happy with the npp. Must see, Donate is mandatory.

  • Plugin MultiReplace: Translation Help Needed!

    3
    1 Votes
    3 Posts
    413 Views
    Thomas KnoefelT

    Russian is the first language translation completed. Thanks to AlexERistGIT.

    There are still a few more languages left to go ;-)

    If you are a native speaker of a language other than German or English, feel free to join and help with further translations.

  • Support for Plugins Admin & NppPluginList

    73
    1 Votes
    73 Posts
    88k Views
    CoisesC

    @PeterJones said in Support for Plugins Admin & NppPluginList:

    Let me know if that procedure […] is able to work for debugging.

    Yes, it works. Thank you.

    I didn’t bother to examine the code to find out how it works, but apparently using a debug version of Notepad++ automatically uses the .json plugin list instead of the .dll, so the test proceeds just fine. Just to be sure, I tried changing my plugin’s hash value in the list and it flagged the mismatch, so it is validating the hash.

    I don’t think that’s an unreasonably difficult procedure for plugin authors to follow (relative to the work to actually write and debug a plugin!). It’s not a big deal if updating those fixed-URL debug builds is inconvenient. It would just be good to have the procedure documented, either in the manual or in the plugin list readme (to which the manual could refer — personally, I think it makes more sense in the plug list readme).

  • 1 Votes
    3 Posts
    228 Views
    CoisesC

    @PeterJones said in I was ambushed by the 63-character limit for plugin menu item names:

    Given that the menuItemSize doesn’t affect anything except the size of the Plugins’ menu entries in TCHAR _itemName[menuItemSize], and the equivalent for built-in context menus is generic_string _itemName , which doesn’t have length restrictions, I think it’s worth trying to ask Don to allow for an increase (“Notepad++ menu entries don’t have a length restriction, but Plugin menu entries do” seems a solid argument, to me).

    Changing that would break existing plugins. It’s hard-coded into the C interface.

    @Mark-Olson
    I’m coming a bit off the top of my head here, but I see no way Notepad++ could offer a message, since the length limit is hard-coded into the interface structure. If you’re supplying more than 63 characters, you have, by definition, broken the interface.

    If you hard-coded a character string of more than 63 characters into a C/C++ program using that structure (as I use it here), you’d get a compile time error.

    As I understand it, plugins that choose to be translatable must supply their own translation mechanism; Notepad++ doesn’t do anything about that. I believe it must be the translation process in your plugin that is copying a string without checking the acceptable target length first.

  • Little script is very slow (depends on file size)

    9
    0 Votes
    9 Posts
    335 Views
    PeterJonesP

    @0BZEN said in Little script is very slow (depends on file size):

    Not necessarily, no, it’s just very convenient, especially with shortcuts.

    I’m just saying, select, Ctrl+M, visually confirm checkboxes, and click Mark All isn’t that onerous… and if your script is “very slow”, it’s sure to be faster than >15sec for the script version.

    Possibly, although that will get invalidated when the file content changes

    Mine doesn’t cache that information from run-to-run. It just precomputes the mapping of the positions-from-lines in a way that only requires going through the whole document once (as far as I can tell), rather than counting from the beginning every time.

    Yeah, the search results don’t contain meta-data, like line numbers. It might be possible to count the number of ‘/R’ characters from the last hit, the first search result using the slow function (or count the ‘/R’ from beginning of file).

    I’m pretty sure that the extra effort of counting between matches (which isn’t implemented already, so it’d have to be manually done) would be more time-consuming than the current.

  • New Language for TeraTerm Macro (TTL)

    2
    0 Votes
    2 Posts
    344 Views
    PeterJonesP

    @Jens-Lindhardt ,

    There is a User Defined Language Collection at
    https://github.com/notepad-plus-plus/userDefinedLanguages , where users can share their UDL definitions (along with AutoCompletion and now FunctionList definitions that go with that UDL)

  • Error File plug-in

    2
    0 Votes
    2 Posts
    249 Views
    PeterJonesP

    @Dave-Mear ,

    Specifically for that? Not that I’m aware of. But…

    The NppExec plugin has Console Output Filters, which will color error messages (and similar) for things that are printed into the NppExec Console – and double-clicking on those lines in the NppExec Console will take you to the right file and line number (and even character position in the line, if your error log is that specific). So if you set up an NppExec script that ran cmd /c type "$(FULL_CURRENT_PATH)" , it would take the contents of the current file and print them in the NppExec console.

    So if you use Plugins > NppExec > Console Output Filters to define a pattern that matches the errors in your specific format. The NppExec_Guide.txt help-file that comes with the plugin shows examples for gcc warnings and errors:

    Example 1: %ABSFILE%:%LINE%: warning:* => detects the warning lines from gcc
    Example 2: %ABSFILE%:%LINE%: error:* => detects the error lines from gcc

    (The %CHAR% sequence will match the character-position number)

    Further, you can use NppExec to actually run your compiler or build process, so if you wanted to skip the temporary error-output file, you could run the build inside NppExec (from a script or manually typed in the Console) and just allow the build to output to STDERR as per normal inside the Console, and NppExec would still be able to see the errors.

  • Search Commands and settings

    4
    0 Votes
    4 Posts
    544 Views
    mkupperM

    @conky77 I deal with it by searching the manual and have a shortcut for https://www.google.com/search?q=site%3Anpp-user-manual.org

    For settings/preferences I sometimes look at the config.xml file and have another shortcut that opens that file using a portable copy of Notepad++… It’s often faster for me to search and edit the config.xml file than to try to remember where in the sub-menus of the preferences a setting is found.

    I agree though that modern software seems hard to navigate. You are in a maze of twisty little passages, all alike. :-)

  • show the current zoom

    28
    1 Votes
    28 Posts
    4k Views
    Alan KilbornA

    @PeterJones said in show the current zoom:

    try to start a language-war with the proponents of Python

    No saber-rattling detected…or intended with the following:

    My history is Perl first, then Python – standalone, not PythonScript.
    And both were for text processing type things; for other things I’ve always been a C/C++ person (mainly C).
    The old command-line guy in me really liked Perl’s quirkiness, perhaps readers know what I mean … command.com’s interpreter really had/has a bunch of quirks.

    However, as much as I liked Perl at the time, I found that if I “put it down” for a while, it was really hard to come back to it (due to ever-advancing age perhaps). With Python, I found it just sort of flows from the fingertips, so to say, and was easy to come back to after some time off. Aside from maintenance of some large scripts I wrote and still use, I haven’t done any new Perl in many years (perhaps a decade?).

    I was rather pleased when I discovered Notepad++ and saw that its most popular scripting plugin was Python-based. (This might be the only sentence in the post that is on-topic).

    But overall, I see no need for “language wars”.
    I’m reminded of the quote from the Lord of the Rings (movies): “Go off and die in whatever manner most suits you” (or something like that).
    In this case, “Go off and use whatever language most suits you, as long as it gets your job done”.

  • "Whole Word Only" Option in Combination with Non-Alphanumeric Characters

    13
    1 Votes
    13 Posts
    522 Views
    Alan KilbornA

    @Coises said in "Whole Word Only" Option in Combination with Non-Alphanumeric Characters:

    that modifying Scintilla would be “off limits” for the Notepad++ project

    It mostly is.
    But I think in some areas it was judged to be something that “had to be done”.

  • Intercept a command before it is executed

    10
    3 Votes
    10 Posts
    568 Views
    EkopalypseE

    @Alan-Kilborn said in Intercept a command before it is executed:

    I’m sure you didn’t know ahead of time

    Read it, forgot about it :-( and then remembered it again when I read your question :-)

  • Upgrading notepad++ with one click.

    14
    0 Votes
    14 Posts
    3k Views
    Кирилл ФроловК

    You can use WingetUI
    9afa65b2-3420-4133-a5f0-bea9be1e1836-image.png