New to Notepad++ Community
I’m new to this community and want to understand the code from scratch. Please share with me the resources & tools to understand the same.
If you’re trying to understand the source code of Notepad++, I recommend you check out:
- User Manual
- GitHub repo
- Scintilla documentation
- You might also look at various plugins to see how people interface with Notepad++ and the Scintilla editor component.
I feel like the easiest way to begin to understand how Notepad++ works is to create a plugin or some PythonScript scripts.
@Mark-Olson : Thank you so much Mark :)
@Mark-Olson : please help me with how to create a plugin (or) write python scripts for a person new to it ?
please help me with how to create a plugin
The links that @Mark-Olson already gave you are a great place to start. You have to understand the specifics in the User Manual – especially the section on How to Develop A Plugin, and the large page on the Plugin Communication: Messages and Notificiations, which include the core concepts and required interface to get a plugin to communicate with and use the features of Notepad++.
The Scintilla documentation that he linked you to is also essential, because that gives you the details of how to interface with the editor component (ie, how to use your plugin to modify or access the text of the active tab).
And looking at the source for other plugins will help you understand how successful plugins were implemented.
And looking at the Notepad++ repository will help you see how Notepad++ reacts to the various Messages from plugins, or what the various Notifications mean.
(or) write python scripts ?
Follow our FAQ for installing the plugin and using a script. Read the help that comes with the plugin. Search the forum for the hundreds of example scripts that have been published in the forum over the years. Learn the Plugin Communication concepts and Scintilla concepts (which are the exact same concepts that PythonScript provides a wrapper around) that I linked to above.
for a person new to it
Do you mean “new to plugins and/or pythonscript in particular”? Or do you mean, “new to coding in general”? We cannot teach you to code here – that’s not the purpose of the forum. So if that’s what you want, you’re going to be disappointed by your results here. And if it’s just about Plugins or PythonScript, then @Mark-Olson’s answer already gave you pointers, and I’ve pointed out how his suggestions help you.
To expand on what @PeterJones said, my general feeling about learning any kind of programming is that you will probably make better progress and gain a better understanding if you have some intrinsic motivation to do something.
So I guess my advice is this: look for some aspect of Notepad++ or an existing that you don’t like. Spend some time thinking about whether you have an idea of how to make it better. Look at the documentation and see if you can see a reasonable way to implement your idea.