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

by Igor Ljubuncic on 30 January 2020

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.

Newsletter Signup

Related posts

A snap confined shell based on Mir: Mircade

Mircade: An example snap confined user shell There are various scenarios and reasons for packaging a Snap confined shell and a selection of applications together in a confined environment. You might have applications that work well together for a particular task; or, you may want to offer a number of alternative applications and have them […]

A blast from the past – Shutter

The wheel of software turns, and apps come and go. But the end of development does not always mean the end of usefulness. Sometimes, programs stubbornly remain around, offering a complete experience that can withstand the test of time. Several weeks ago, we talked about how you can preserve old applications with snaps. Today, we […]

Split Personality Snaps

Broadly speaking, most snaps in the Snap Store fall into one of two categories, desktop applications and server daemons. The graphical applications such as Chromium and Spotify use desktop files, which ensure they can be opened on demand by any user via a menu or launcher. The server applications such as NextCloud and AdGuard-Home typical […]