Notepadqq Extensions

Support for extensions is finally ready!

Remember the last poll? Python was the preferred language, and… we didn’t choose it. With a lot of grief, and after a lot of experimentation, JavaScript has proven to be the best choice for packaging and deployment of the extensions. Sorry.

You can already find a preliminary API reference and a tutorial on how to write an extension.

But remember: It’s still an alpha feature! A lot of methods are missing in the API, so suggestions about methods you need are welcome (here).



Developers: what language would you use to develop Nqq extensions?

This poll is closed! Poll activity:
start_date 2014-05-05 09:54:49
end_date 2015-06-23 11:25:00
Poll Results:
Developers: what language would you use to develop Nqq extensions?

Next Feature

What's the next feature that you'd like to see in Notepadqq?

What we’ll find in Notepadqq 0.40.0

Since Notepaddqq 0.39.0, there have been some noticeable things we’ve been working on.

Language hints have been introduced: you can now hit Ctrl + Space to open a contextual menu with suggestions from your current code and your current language:hint

And if you’re editing a plain text file, you can still get suggestions for all the words contained within the document.

But the main focus of this release was on proper single-instance behavior. When you right-click a file in your file manager, and you choose to open it with Notepadqq, it will be attached to the last used window, if it exists.

In addition, a lot of improvements were made to the Debian package. For example, on some distributions Qt can’t detect the correct system gtk style. On those distributions, you can force Qt to use gtk by installing the new notepadqq-gtk package.

The experimental build based on CodeMirror looks promising

This is a video showing some basic features of Notepadqq 0.30.3 (you can get it from the ppa).

As you can see, the performance of this build is comparable to that of the qscintilla version. But there’s still room for improvements.

Right now, Notepadqq is using CodeMirror 4.5. QtWebView is behaving well, and the switch to QtWebEngine could at least be delayed. We’ll see as soon as Qt 5.4 comes out.

Experimental “CodeMirror” build

I’ve just pushed a new branch on GitHub: It’s an experimental notepadqq build based on CodeMirror instead of QScintilla. CodeMirror is an highly active project, and it could be a good thing to use something like that as our engine.

CodeMirror, however, is written in javascript, so we have to run it in a web view. Currently, the experimental branch uses the QtWebView component of Qt 5.3. The intention is to switch to QtWebEngine (faster, newer) as soon as possible.

If we’ll be able to maintain high code performance and a seamless integration of CodeMirror with the C++ part, it isn’t excluded that CodeMirror could become the primary engine of notepadqq. Almost nothing should change from a user perspective, except a whole bunch of new features.

Notepadqq & CodeMirror screenshot

A screenshot of the experimental build, as it looks right now.

Help releasing notepadqq 1.0 sooner

Notepadqq needs developers. You may have noticed that the development is going veeery slooow: this is because I can’t do it alone anymore.

Getting started is really easy. All the development stuff is centralized github, the code is Qt (C++) and everything is straightforward.

You can code new features, translate, fix small bugs, fix huge bugs, write docs, and a lot of things. If you’re interested please let me know in the comments, and I will write some new articles explaining how to get started step by step.