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

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.

Brackets

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

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]
}

Icdiff

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.

Notepad++

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.

Summary

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

Select topics you’re
interested in

In submitting this form, I confirm that I have read and agree to Canonical’s Privacy Notice and Privacy Policy.

Related posts

Stepping Down Gracefully

The Snap Store has been designed to enable upstream developers and enthusiastic community contributors to publish snaps. As with most Linux packaging...

The Expandables – snapcraft extensions and the secret code

If you’re a snap developer, you know that snap development is terribly easy. Or rather complex and difficult. Depending on your application code and...

Security corner: snap interface & snap connections

One of the defining features of snaps is their strong security. Snaps are designed to run isolated from the underlying system, with granular control and...