Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

Development corner: IDEs and tools that can make your coding more productive

This article is more than 4 years old.

Every craft needs craftsmen, every craftsman needs tools. If you make a living developing code, you want a friendly ecosystem to help you achieve best results from your work. Good development software will allow you to achieve higher productivity and precision, leading to a product that is more effective and with fewer bugs. Finding the right tools is an important part of this equation. Let’s see if we can assist in the search.


If you’re a Web developer, Brackets is an open-source editor, with focus on Javascript, HTML and CSS. Overall, the editor supports 38 file types. You also have tabs, linting, extensions, and can use the Live Preview option to see changes you make to your code in real time. There is also a Javascript debugger built into Brackets, to help you troubleshoot any usability or performance issues with scripts.

QML Creator

If you’re developing applications for mobile, there’s a good chance you’re utilizing Qt and QML technologies in your work. QML Editor is a lightweight IDE for projects based on QML and Javascript, with syntax highlighting and a sizable array of demo projects. The last part can be particularly valuable for developers starting in the mobile world, as you can review code that composes different UI elements and widgets, and also preview how they work (including both mouse and touch). You can then make changes to the examples, and learn in an interactive manner.


Cppcheck is a static analysis tool for C/C++ code. It can be used to detect bugs and errors in a code that would normally not be detected by compilers. For instance, memory leaks can be notoriously elusive, and it is much better to find them before you compile the code and release the software into production. You can use cppcheck in a terminal, if it detects any errors, it will print the line and name of the variable, so you can make necessary code changes.

cppcheck example.cpp
Checking example.cpp …
example.cpp:9:1: error: Memory leak: mem_alloc_object [memleak]


Another useful way of spotting errors and bugs in your code is by running a visual diff between two files. You can use existing command-line utilities available in your distribution, and some text editors also support this feature. Sometimes, though, the information can be somewhat difficult to read, and thus easily discern the differences.

Icdiff offers a color-coded diff functionality, allowing you to easily distinguish between lines or sections of code that have changed, and thus make any tweaks if needed. The usage is pretty straightforward, but you get the clarity and visibility you require. You can customize the look and feel. Icdiff also supports git, subversion and mercurial.

Sublime Merge

If you work a fair deal with version control software, you may want to take a look at Sublime Merge. This is a code editor specifically optimized for git, including powerful merge and conflict control, commit history and search, advanced diff functionality, and syntax highlighting. You also get extensions, and command-line integration. Sublime Merge is particularly valuable if you have multiple git projects with lots of frequent commits, as it allows you to manage those more easily, boosting your efficiency and productivity.


This text editor may sound like an unlikely candidate for a development tool in Linux, because it is officially a Windows-only application. But it is available as a snap, with a WINE backend, allowing Linux users to tap into its feature-rich interface.

Notepad++ comes with a long list of capabilities, including code linting and auto-completion, spellchecker, tabs, regex-supported search, macros, syntax highlighting for more than 80 programming languages, and more than 100 plugins. Another useful feature is that all work is auto-saved, including new file buffers. This means you can close Notepad++ without having saved certain open tabs to the disk, and the contents will still be available on next start. As a text and source code editor, Notepad++ offers flexibility to its users, especially if they also happen to use Windows tools, where they may already be familiar with the application.


In a world inundated with software, finding the optimal tools for work are essential. This is a small sampling of the snaps available in the development category, but we believe they offer a good mix and balance between advanced functionality, productivity and fun.

We will follow up with additional developer-focused articles in the future, as there’s a whole trove of other utilities and applications we haven’t explored yet. Meanwhile, if you have any comments or recommendations, please join our forum for a discussion.

Photo by Markus Spiske on Unsplash.

Ubuntu desktop

Learn how the Ubuntu desktop operating system powers millions of PCs and laptops around the world.

Newsletter signup

Get the latest Ubuntu news and updates in your inbox.

By submitting this form, I confirm that I have read and agree to Canonical's Privacy Policy.

Related posts

Snapcraft 8.0 and the respectable end of core18

‘E’s not pinin’! ‘E’s passed on! This base is no more! He has ceased to be! ‘E’s expired and gone to meet ‘is maker! ‘E’s a stiff! Bereft of life, ‘e rests in...

Craft team welcomes you to another episode of its adventures

Welcome to the second article in the Craft team saga. Previously, on Craft Team, we gave you a brief introduction into the team’s function, we announced our...

What happens in the Craft team stays in the Craft team … until today

Snapcraft, Charmcraft, Rockcraft … you may have heard of these tools, but have you ever wondered how – and by who – they are developed? These tools are the...