A Guide to Source Code Editors

It is known that the IDE (Integrated Development Environment) provides the programmer with the most complete tools for working with code. Examples of such environments are NetBeans, Microsoft Visual Studio, Eclipse. The problem of choosing between IDEs and source code editors is actively discussed on the Internet, primarily by newcomers to programming. Many people agree that an IDE is not needed to work with HTML and JS languages ​​(including the jQuery framework). Also, when working with small projects, developers prefer lightweight source code editors. We will talk about them further.

Sublime Text

Sublime Text is a multi-platform editor (Linux, Mac OS, Windows). The license price is $70, but the free version works without restrictions.

Among the primary capabilities, we should note the basic support for several dozen programming and markup languages: HTML, CSS, Ruby, PHP, SQL, Javascript, C and others. Syntax highlighting and autocompletion are provided for supported formats.

To integrate Sublime Text more closely with a language (for example, jQuery, Ruby, C), you can install extensions. Among the most useful: SideBarEnhancements, Emmet, SublimeGDB, SFTP. Extensions are installed in Sublime Text through the command palette using the Package Control module.

One of the most interesting features of Sublime Text is multi-selection, which allows you to edit several sections of code at the same time. To do this, just press Ctrl and place the cursor on those areas where you need to enter data, or Alt + F3. To edit multiple lines, you can press Ctrl+Shift+L and move the cursor to the desired location.

ST has extensive search capabilities. In addition to searching within a file, you can quickly navigate throughout the entire project, for example:

  • Ctrl + R - jump to symbol (@)
  • Ctrl + G - go to line (:)
  • Ctrl + P - go to file

To focus on writing code, you can switch to Distraction Free Mode (Shift + F11). In this case, the file map will remain available, and it will also be possible to switch between tabs (Alt + number) or change the display mode.

When working in Sublime Text, you can also speed up code writing using snippets and macros. Snippets are fragments of frequently used code that are inserted using autocompletion. Macros are used to reproduce a sequence of actions.

Other interface features include a sidebar that speeds up access to files and projects. Tab sessions are convenient: you can close Sublime Text, and the next time you start the editor, the tabs will be in the state saved when closing.

Perhaps, Sublime Text has two noticeable inconveniences: the impossibility of localization and the absence of a graphical window with settings. Both problems, however, will pose little burden to the programmer. By editing text configuration files, absolutely everything can be configured (see the “Preferences” section in the menu). You can change the theme, color scheme, configure extensions, hotkeys, etc.

Intype is a text editor that, at first glance, is no different. However, good basic functionality coupled with a light and neat interface will find its supporters.

There are few supported languages, about 20. To work with them, bundles are provided, which include code highlighting, snippets, and spell checking. There is a special editor in which you can easily view existing snippets, change them or their corresponding triggers (short phrases).

Like Sublime Text, there is multi-selection and a smart selection mode in columns. Alas, the editing commands are the bare minimum, and instead of the above functions it would be more rational to add at least the ability to comment out a line.

Among the interface features: Intype, in addition to tabs and sessions, also provides a side panel where you can transfer any files and folders for further use, for example, in a project. There is a Distraction Free mode (F11), when activated, only the edit field and ruler are displayed. Thus, nothing distracts you from writing code on the screen.

Search supports regular expressions, but there is no search across multiple documents, which creates problems when working with projects.

Other disadvantages: no support for extensions, very few settings. How autocompletion works is unclear, and where to look for documentation is also a question. The price of 42 euros, which the user pays rather for minimalism, does not look very attractive. After all, when compared with Sublime Text, the gap in functionality is huge.

PSPad

Unlike the minimalistic interface of the Intype or Programmer’s Notepad editors (see below), there is an icon in the menu for almost every command, which is an additional plus when working with a graphical shell. It could be argued that it is preferable to use hotkeys, but such points are also important.

The PSPad sidebar is the most functional among the editors reviewed. With its help, you can not only manage projects, but also set up synchronization. Also available in the panel are favorites, a file manager, and even an FTP manager.

Standard features include macros and templates (snippets are called here). Highlighting of paired brackets, autocompletion - available, however, the latter is not implemented in the best way: a very inconvenient menu.

PSPad will be of interest to HTML (XML) coders, since this editor has a built-in TopStyle Lite CSS editor and the well-known Tidy library, which allows you to optimize the code. Validation and other layout tools are also available.

However, HTML formatting is not the PSPad's main profile. Thus, from additional tools you can find HEX mode, hash generator, text generator, text file comparison and many other modules. A very popular feature is the code explorer, which displays a list of variables, classes, functions, etc. in the form of a tree (Shift+Ctrl+E). Search is available not only within a file, but also within a specific folder.

Notepad++ has a classic set of features for working with code: autocompletion of functions, parameters and words, highlighting. This also includes operations with strings, including commenting and text conversion. A characteristic feature of Notepad++ is the ability to use code style tokens (templates). In addition to standard line numbering, code folding is assumed, which is not available in every editor.

Notepad++ is based on Scintilla's editing component, but don't expect any striking similarities. From a convenience point of view, many users will find Notepad++ the most familiar and understandable editor. These are tabs that have already become a de facto standard, saving sessions, as well as the ability to change the interface mode, support for a huge number of encodings, searching using regular expressions, recording and playing macros.

Programmer's Notepad was built early on by Scintilla, so it includes code folding, color schemes, and other features mentioned in SciTE.

The interface is convenient, with some reservations. Firstly, instead of the less frequently used buttons (copy/paste/cut), it would be more logical to provide a more “programmer” set. The toolbar has to be reconfigured. The second caveat is the lack of a convenient sidebar; when activating several windows (View → Windows), the working window distracts from work due to its bulkiness. On the positive side, in the settings you can split the window horizontally or vertically.

Of greatest interest is the settings dialog with a competent division of options: setting up hotkeys, auto-completion, styles, schemes, file associations, etc. This allows you to flexibly configure Notepad at your discretion. It is possible to change the localization to Russian. Color schemes are redefinable: they can be reconfigured, and there is a separate place for advanced settings.

The editor is paid, the license price is $35.

EditPlus natively supports HTML, CSS, PHP, ASP, Perl, C/C++, Java, JavaScript and VBScript formats, but you can . STX files are responsible for the syntax, ACP for autocompletion, CTL for snippets (available through the Cliptext Window, Alt + Shift + 1).

EditPlus natively has functions that are available in the form of modules in other editors: for example, support for SVN (Subversion - version control) and an FTP manager (there is no need to synchronize project files manually). Unfortunately, this manager does not have any hint of the SFTP protocol.

You can also find a working ZenCoding module in the editor. With its help, it is easy to set the structure of an HTML document without copying/pasting tags, composing a request literally from one short line. In addition, EditPlus provides a separate toolbar and a built-in browser for working with HTML. It is noticeable that EditPlus is adapted to this markup language to a greater extent than to other formats. Although it has other tools, like a HEX editor, there are not many of them.

There are disproportionately fewer settings in EditPlus than there are functions (as evidenced by the settings dialog). Other noted inconveniences: there is no official support for the Russian language, no extensions.

Pivot table

ProgramLicenseExtension supportLocalization (official)Platform support
Sublime TextProprietary software, $70+ Windows, Mac OS, Linux
Shareware, 42 eurosWindows
PSPadFreeware+ + Windows
Freeware+ + Windows
SciTEFreeware+ Windows, Linux
Freeware+ + Windows
Proprietary EULA, $35Windows

Summary

Sublime Text the closest source code editor comes to IDE functionality. In addition to excellent functionality and the possibility of its extension, emphasis is placed on those features that affect the speed of writing code.

It will appeal to users who work with very small projects and are accustomed to using the bare minimum set of features - code highlighting, autocompletion, etc.

Distinctive feature PSPad- availability of convenient tools for various languages. This makes it the most versatile editor, which in terms of functionality can compete on equal terms with Sublime Text.

A source code editor with a user-friendly interface, rich code editing tools and wide support for plugins.

SciTE- the most difficult editor to configure, which requires careful study of the documentation. However, the Russian-language assembly simplifies many difficulties.

An editor with basic functionality, flexible in configuration. Not updated since 2011.

Contains basic source code editor functionality, as well as FTP and SVN out of the box. It will be optimal for HTML coders.

In short, the functional editor can easily compete with the IDE. Moreover, programs in this category can be easily brought even closer to an IDE using plugins and adapted to a specific programming language.