Hi all, I apologize for my lack of knowledge, I hope someone can give me some advice, other than "give up" :D
I have been teaching myself C++, and I have dabbled a little bit in programming over the years, but trying to read through the instructions on how to create a simple plugin is like trying to read Korean for me. There is SO much knowledge that I do not have apparently to understand it all.. all this Windows specific programming stuff, Scintilla stuff, I mean... I have tried reading through it all a number of times but I am sooooo lost.
What I would like to ask everyone is this. Try to think through all of the knowledge someone would need to understand making a plugin, and give me some very basic things I need to start learning. Maybe some book recommendations, online tutorials etc..just point me in the direction I need to go.
I am actually wanting to do this all in C# (I have VS 2013 and the plugin template for c#).
Since we do not quite know what blocked your progress, answering is a bit difficult. Some pointers hough:
- If https://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Development was hard, did you visit <>https://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugin_Development_Quick_Start_Guide>? The latter relies on a template plugin in C++, its code may help you.
- Documentation of Scintilla is at http://www.scintilla.org/ScintillaDoc.html
- If C++ is a problem, it shouldn't be, because, as long as you can produce a dll, you can code the plugin in any language you like. There are sevral exmples in C#, Basic, Delphi and more. Templates have been written for such, look the Template category in https://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Plugins_By_Category.
- About general Windows programming: A. Petzold's book "Windows programming" is a solid base. The book is not too expensive, and second-hand versions even less.
- To talk to Notepad++ proper, not its child Scintilla, and to understand what information it passes on to you, you'll need https://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Messages_And_Notifications.
- Did you simply check plugins the source of which is available? After all, these re working example, they should help.
All the above is general documentation. If it is too general because of a finer point blocking you, please tell us, we may then provide more relevant help.
Thank you Chris. I have a difficult time describing what is blocking me because I understand so little of it. It's a bit of a catch 22.
When I am learning C++ and writing small console apps, or going through Code Academy lessons, I feel like I understand everything just fine. However when I look through a lot of the plugin examples and teaching tools, I don't seem to see much of anything that appears like the code I have been learning.
So much of it is simply using classes and functions that are already written, and seemingly, not doing much of your own programming at all. I just see line after line of all these classes and functions and don't really understand what they do or how to use them.
Thank you for your help. I apologize about my lack of understanding. I have already looked through most of those links you posted and got really lost, so I really need to go to something more basic I think. That book you recommended may help though.
Perhaps indeed you need some firm background on the Windows API.
Also, did you try understanding the code of a working plugin? I like XBracketLite because it is fairly well written. Get it from Plugin Manager, I think the code is included. Tyr looking at it and see whether it looks weir to you or not. Depending on what seems to be weird, you may get the idea of what you miss the most.