64-Bit Plugins

  • I haven’t moved to 64-bit N++ due to the lack of plugins - I have a lot by default. However, I have N++ 64-bit installed and I’m trying to have 1-for-1 parity on plugins with my 32-bit install. I’ve solved some of the holdouts myself:

    QuickText: https://github.com/vinsworldcom/nppQuickText
    Column Tools: https://github.com/vinsworldcom/nppColumnTools
    Git: https://github.com/vinsworldcom/nppGitSCM
    Speech: https://github.com/vinsworldcom/nppSpeechPlugin

    I’m trying Multiclipboard but even after clearing all warnings in the source files and compiling successfully, it just crashes in N++. I also have SourceCookifier compiled, but it complains about being an ANSI plugin despite having the isUnicode() sub returning true (https://notepad-plus-plus.org/community/topic/17322/help-to-porting-sourcecookifier-for-64bit).

    The major holdout for me is the DBGp plugin - it’s written in Delphi 6 and I understand that’s old and relies on many outdated libraries / imports so it’d need a re-write in addition to making 64-bit compatible. I spoke with the author and another Delphi developer (of PreviewHTML which is now 64-bit ready) and both indicated it would be a big undertaking - especially since I don’t know Delphi at all!!!

    Anyone else know Delphi or care to port DBGp plugin to C++? It’s really the show-stopper for my 32-bit to 64-bit migration.

  • @Michael-Vincent

    I’m trying Multiclipboard but even after clearing all warnings in the source files and compiling successfully, it just crashes in N++

    This sound like 32bit/64bit pointer/integer issue.
    Do you have a github repo?

  • No, it’s not my code. None of the above mentioned are “mine” either, they’re just my improvements on others’ code. I grabbed Multiclipboard here:

    https://sourceforge.net/projects/npp-plugins/files/MultiClipboard/MultiClipboard 2.1 unicode/

    and spoke with the author who wasn’t really interested in making 64-bit due to time constraints. I can try to put a GitHub repo up, but it’d just be my changes since unfortunately I didn’t git init the directory I unzipped the original source into. First commit would be all of my changes already. OK?

  • @Michael-Vincent

    I guess it is good to push 64-bit Notepad++ usage forward, if you can (and as you are doing), but really, there is nothing forcing that move. AFAIK there are no plans to eliminate 32-bit releases (but I have no insider knowledge about this).

    There still is no great advantage in 64-bit N++ over 32-bit. Maybe you can open some larger files, but certainly still not huge files like everyone seems to expect. I believe Scintilla plays a larger role in that than N++ 64 vs 32.

  • @Michael-Vincent

    Was “Column Tools” really a holdout? It appears to be your own original creation? So don’t you control its bitness, directly?

  • No, I merged my “use the right margin line to show the active column” with the Horizontal Ruler plugin discussed here: https://notepad-plus-plus.org/community/topic/13369/a-notepad-beautiful-ruler-plugin-finally

    Like I said, none of the above are my “creations”, they’re my improvements on seemingly “dead” (aka: abandoned) N++ plugins.

  • Just FYI, the plugins I use in both 64-bit and 32-bit are:

    The 32-bit only I’m trying to convert are:
    SourceCookifier (possibly, although TagLEET seems to address this Feature acceptably)

    Some can done with the build-in Plugin Admin, some with the older Plugin Manager and some manual intervention, some require a direct download, possible compile and manual install.

  • @Michael-Vincent

    I built ColumnTools from source and all went just fine. I tried it out functionally and I like it. Specifically the vertical column marker. Very nice plugin.

    Occasionally I have the need to line up things vertically that are a distance apart but still on one screen–this plugin will help with that task in the future.

    One minor point: I was a bit confused by the “Enable” menu option, but some experimentation showed how it worked. I think I would have left out the “Enable” option, but it is fine. I think if it was called “Quick Enable All” then I wouldn’t have had any confusion.

  • @Alan-Kilborn said:

    One minor point…


    So my “minor point” from earlier wasn’t a bug report, but now I have one. The “Column highlight” option doesn’t retain its “on” setting from run to run of Notepad++. Do you want bug reports here (since you are not taking “ownership”), as issues on the github site (where your “ownership” gets solidified), or, as I suspect…you don’t want them at all? :)

  • Correct, I don’t save state of the column mode because it’s using SCI_[SG]ETEDGE* calls which affect the column marker that N++ can set. I normally have this set at 80 columns and in line mode. Others may have a different mode set, a different column, or have it disabled altogether. I didn’t want to save that state and have it get out of sync with the N++ setting in the Settings => Preferences => Editing configuration.

    Alas, I gave it a shot and you can find the result here:

    Both 32 and 64 bit - I tested a bit with the 64-bit version. There’s still a danger of editing the config file directly or changing the setting in N++ menu as described above and getting things out of sync.

  • @Michael-Vincent

    Ah, okay…so it’s a feature. At first I was thinking I didn’t like it, but the more I consider it…

    It really is OK, just knowing that it is possible to turn it on in when needed.

    My first thought was that it should always be on, and I had a special reason: It helps you locate the caret very quickly if you’ve lost track of it. With the N++ native current line highlight feature enabled, plus this one, you get a crosshairs of caret location.

    Since you seem receptive to critique, :) , it would be nice if it also worked (both features, ruler and column-indicator) when the caret is in virtual-space land, but perhaps that isn’t possible (given that you are working within the bounds of what the Scintilla vertical edge can do).

    Anyway, thanks again for sharing this great plugin. And I do realize that your purpose in starting this thread was for a different purpose!

  • No worries - happy to help. Like I said, the entire ruler part is someone else’s code that I merged with my little edge marker. For EXACTLY the same reason you state - aligning columns far enough way but still on the same screen quickly and visually and the “crosshairs” look of it. I realize there is a column counter in the status bar, but this visual is so much easier. I rarely use it, but when I do, I’m glad I wrote it.

    Admittedly, it’s a hack and I don’t know enough of the N++, Scintilla or just plain C++ programming for that matter to do something really cool - that’s why I piggy-back on other’s work and just make improvements. In any case, I had a look at keeping the edge marker and adding a second vertical line to track position instead of hijacking the edge marker - it seems you can do this:


    but I don’t see how you then control the second edge. There’s just a call to add one at a location and then to clear all of them.

  • @Michael-Vincent

    the scintilla version 3.5.6 used by notepad++ doesn’t have this feature.

  • @Ekopalypse said:

    the scintilla version 3.5.6 used by notepad++ hasn’t this feature.

    True, but @Michael-Vincent , keep an eye on N++ as @donho said recently that Scintilla is gonna get updated soon! :)

  • @Alan-Kilborn

    N++ as @donho said recently that Scintilla is gonna get updated soon! :

    that would be cool because it would introduce other cool features like better
    multiple edits as well :-)

  • @Michael-Vincent Let me know if you think the 64bit ports are ready to be added to the PluginAdmin list.

Log in to reply