Plugin development help
-
Hi,
So i have decided that i want to make a plugin for NP++.
I’m using (or trying to!) NP++ Plugin.NET, but i am having trouble understanding which commands to use.
What i want to do is make a plugin that brings up call-tips if you type “(” or “{”.
Can someone help?Cheers,
FinnP.S: I don’t really know where to put this, in Plugin Development or Help wanted, so sorry if it is in the wrong place :)
-
You could look at the sources of
https://sourceforge.net/projects/npp-plugins/files/XBrackets Lite/
It’s in C++, but I believe it’s enough to catch the idea of what to do in C#.
Search for SCN_CHARADDED in the source code. -
Thanks @Vitaliy-Dovgan
-
Hi,
Well i found it and i know what i’m looking for (sort of?). I think i need some help. Again :)
And your right about C being easy to understand
I did what you said and found no trace of SCN_CHARADDED. Thought i did search the plugin template and that had it.
By the way, what would i do with SCN_CHARADDED, what i mean is: what is it’s use?
e.g.if NppData.SCN_CHARADDED /*Would somthing like that work?*/ { };I think this code is maybe what i’m looking for (it’s from XBrackets.h):
public: enum TFileType { tftNone = 0, tftText, tftC_Cpp, tftH_Hpp, tftPas, tftHtmlCompatible }; enum TBracketType { tbtNone = 0, tbtBracket, // ( tbtSquare, // [ tbtBrace, // { tbtDblQuote, // " tbtSglQuote, // ' tbtTag, // < tbtTag2, tbtCount }; enum eConsts { MAX_ESCAPED_PREFIX = 20 }; static const TCHAR* PLUGIN_NAME; static const char* strBrackets[tbtCount - 1]; protected: // plugin menu CXBracketsMenu m_PluginMenu; // internal vars INT_PTR m_nAutoRightBracketPos; int m_nFileType; bool m_bSupportedFileType; public: CXBrackets(); virtual ~CXBrackets(); // standard n++ plugin functions virtual void nppBeNotified(SCNotification* pscn); virtual FuncItem* nppGetFuncsArray(int* pnbFuncItems); virtual const TCHAR* nppGetName();Is it what i’m looking for?
Cheers,
Finn -
@Finn-McCarthy said:
would i do with SCN_CHARADDED, what i mean is: what is it’s use?
I think the implication here is when you see that, you could check if what was added was
(or{(from your spec)…and do whatever actions you want your plugin to do when that occurs. -
Source file XBrackets\src\XBrackets.cpp,
void XBrackets::nppBeNotified(SCNotification* pscn) { ... switch ( pscn->nmhdr.code ) { case SCN_CHARADDED: OnSciCharAdded(pscn->ch); break; ... } ... }Basically, what needs to be done now is:
- implement own method Plugin.nppBeNotified to be called from the standard
void beNotified(SCNotification* pscn); - implement own Plugin.OnSciCharAdded (looking at the one in XBrackets as an example)
- implement own method Plugin.nppBeNotified to be called from the standard
-
See scintilla docu: https://www.scintilla.org/ScintillaDoc.html#SCN_CHARADDED. Scintilla is the framework N++ is based on.
-
@Victor-Dronov
Hi,
I found out the proper name of what i’m trying to do: Call-Tips. (custom Call-Tips).
Ok. I have had a look…And i still don’t understand. I probably should mention that have never, ever coded in C, C++,C# or VB (well 3 years ago, anyway and i cannot remember practically anything). So yeah…(This next bit will probably sound lame…sorry)
What I am trying to say is: I basically need someone to write the plugin for me, and i can learn from their source code. That’s how i normally learn…
Cheers,
FinnP.S: Sorry, (I know i probably sound whiny)
-
EDIT: I found a way, yippee!!
jN Notepad++ Plugin
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login