The best text editor for programmers. Inspect six text editors with code highlighting
So do those who have been involved in web development for a long time. After all, something new always appears, customer requirements change, your own skills improve, you want to automate routine processes for large projects and get as many opportunities “out of the box” as possible. In this article, we have collected the best text editors for web developers at the moment.
Sublime Text (Windows, Linux, Mac)
It is a text editor for web developers, written in C++ and Python. It looks the same on all supported platforms thanks to the use of its own UI framework. The developers provide a free version for evaluation, but for long-term use you will need to purchase a license. The bonus is that the license is provided per user, and not per device. Discounts are also available for purchasing multiple licenses for a company.
Main advantages Sublime Text:
- Ease of use - Once you open Sublime Text, you can start working in it almost immediately.
- Fast and flexible search using fuzzy matches.
- Possibility of multiple selection for entering the same text in several lines at once. To set the cursor position, press Ctrl + left key mouse or Ctrl + triple left-click to select an entire paragraph.
- The presence of a visual mini-map of the code - it is useful when working with large files, as it allows you to quickly find the necessary fragments:
- The ability to use snippets to speed up work and a large number of plugins for the most different tasks. The main one can be considered Package Control, with which you can search and install the necessary plugins directly from the editor.
Here are some examples of plugins:
Emmet is an excellent plugin that allows you to use shortcuts to enter certain tags, for example:
Ul#nav>li.item$*3>a(Item $)
Emmet converts the shortcut above into a list with three elements:
SublimeLinter is a syntax checking plugin. It allows you to minimize the number of errors by checking the written code on the fly. You just need to install the necessary packages, for example: SublimeLinter-html-tidy, SublimeLinter-csslint, SublimeLinter-jshint and SublimeLinter-php.
CSScomb is a plugin that helps you place CSS selectors in in the right order for ease of reading and editing in the future.
As for the disadvantages of Sublime Text, these include its cost ($70), and also the fact that configuration is carried out not through the GUI, but by changing json configs.
WebStorm (Windows, Linux, Mac)
WebStorm is not just an editor, but an integrated development environment (IDE) written in Java. But since the difference between IDEs and editors with big amount plugins may be insignificant, we decided to also include it in this list.
WebStorm has the following advantages:
- Efficiently work with projects of any size thanks to the integration of version control systems, including Git, Mercurial and Subversion.
- Increase code quality and adhere to Test Driven Development (TTD) principles by using Google's JsTestDriver.
- LiveEdit to instantly view changes without reloading the page.
- Availability of built-in capabilities for checking code quality - JSHint, JSLint, Google Closure Linter.
- Support for a large number of technologies: TypeScript, CoffeeScript, Less, Sass, Stylus, Compass, EJS, Handlebars, Mustache, Web Components, Jade, Emmet and others.
WebStorm is a godsend for those who need a lot of different functionality and are willing to pay for it: the cost of an individual license for the first year is $59, cost corporate license for the first year - $129. If you need something simpler, check out other editors.
Atom (Windows, Linux, Mac)
Unlike the two previous editors, Atom is a free, open source product source code. It is assembled from 50 modules and written in C++, JavaScript, CSS and HTML. It is possible to add your own modules to the public repository so that others can use them. It has all the same basic features as Sublime Text, like quickly finding fuzzy matches in projects and files, having a mini map, and also using snippets. It supports the previously mentioned Emmet, Autoprefixer, code autoformatting with atom-beautify, Livereload.
Advantages of Atom compared to paid Sublime Text:
- GUI settings instead of JSON files.
- To install plugins, you do not need to install Package Control; everything is done from the visual interface.
Brackets (Windows, Linux, Mac)
This is a text editor for web developers from Adobe. It has open source code and simple but necessary features that are present in the already mentioned editors:
- Instant display of changes in the browser ().
- Multiple selection and editing.
Bonus Brackets is a well-documented API for creating your own plugins, as well as an Extract for Brackets (Preview) feature that speeds up the process of extracting color, font and size data from PSD.
The disadvantage of Brackets is the low speed of operation if many plugins are installed.
Coda (Mac OS and iOS)
TextMate and Coda are the most popular web text editors for Mac. We believe that Coda is still more suitable for web developers than TextMate, which was intended to be a universal product. Coda is a lightweight editor with all the features you need (like collapsing code blocks, quick search and replace, project autocomplete, Git and Subversion support), but it also has its own features:
- The ability to remotely edit files via FTP, SFTP, WebDAV or on Amazon S3 servers.
- Simplified search using regular expressions thanks to wildcard buttons.
- WebKit Preview and AirPreview. The latter lets you use an iPad or iPhone running the iOS version of Coda to preview pages while you're building them on your desktop computer.
- Built-in Terminal and MySQL editor.
Coda also has its own plugins, but, of course, there are not as many of them as open source editors. Many people praise the PHP & Web Toolkit plugin, which includes:
- Automatic PHP syntax checking, moving to the next error and autosaving.
- Organizing, reformatting code written in HTML, CSS, JavaScript or PHP.
- Validation of HTML, CSS and JavaScript.
- Minification of JavaScript and CSS.
The cost of a Coda license for one user is $99.
As you can see, the functionality of modern editors is quite extensive, so the choice depends on the platform used, as well as on financial opportunities. Which editor for web development do you prefer?
The studio staff always follows the latest trends in web design and development. By choosing us as your partner, you can be sure that your website will respond modern standards web design and development.
There are many ways to write code for web applications, from text editors to cloud-based development environments. It is difficult to immediately decide which environment is best suited for the tasks at hand. To save you time, we selected the most popular:
At the end of each section there is pivot table, in which you can clearly see a comparison of the functions of editors for web development. This article discusses exclusively free cross-platform solutions, so popular proprietary editors like Sublime Text are not included in the selection.
Text editors for web development
Komodo Edit
Main features:
- endless story of cancellation,
- a wide range of plugins,
- support for hundreds of programming languages and file formats,
- powerful search and replace,
- integration with third party tools.
GNU Emacs
Desktop Integrated Development Environments (IDEs)
Eclipse
Cloud IDEs
Most desktop applications have moved to the cloud, so it is not surprising that cloud environments are also becoming popular among programmers. Not everyone immediately trusts cloud IDEs, but popular tools like Github and Pastebin help you get used to the fact that the source code is not stored on local machine, but on a third-party server.
Cloud9
After a few minutes of working in Cloud9, you get the impression that you are in paradise for programmers. The interface is written in JavaScript, and the server part is written in NodeJS. Although Cloud9 is favored by developers and interface designers, it supports syntax highlighting for C#, C++, Python, Perl, Ruby, Scala and some other languages.
Vim's built-in mode is a nice touch, as is support for popular version control systems like Git, Mercurial and SVN. With CSSLint and JSBeautify, it is one of the most beautiful development environments.
Codeanywhere
Another app creation tool that often tops lists of the best is Codeanywhere. This cloud-friendly IDE supports code highlighting for HTML, CSS, JavaScript, PHP, MySQL and other languages. With apps for iOS, Android, and BlackBerry, Codeanywhere allows programmers to work anywhere.
Additionally, Codeanywhere supports Dropbox and SFTP, which help you easily create backups project files and share them with colleagues. It's not the most fully featured environment, but it gets the job done perfectly.
The system is paid, but there is a free tariff plan.
Eclipse Che
Eclipse Che - cloud based working space developer and built-in IDE. Che provides an open source remote platform for multi-user application creation.
Main features:
- workspaces including runtimes and IDEs,
- workstation server with RESTful web services,
- cloud IDE,
- language plugins, platforms and tools,
- SDK for creating plugins and assemblies.
Eclipse Che has two builds - single-user and multi-user. The first does not have components that provide multitenancy and differentiation of access rights. In this case, the server remains unprotected, but for local development- it's a good choice.
Multi-tenant provides multi-tenancy. Accounts Users and desktops are isolated, and the KeyCloak mechanism is used for registration, management and authentication. Permissions APIs govern access to objects such as spaces, stacks, and organizations. User information is stored in a migration-aware database (PostgreSQL).
A text editor is used to edit text files. Word processors differ from word processors such as Microsoft Word or WordPerfect in that they do not add additional formatting information to documents. You could write an article in Word, since it contains tools for changing fonts, margins, and layout, but it defaults to inserting formatting and markup information directly into the file, which will confuse the compiler. If you open a .doc file in a text editor, you will see that most of the file is formatting codes. Text editors, however, do not add formatting codes, which makes the code easier to compile.
Why should I use a text editor?
Word processors have a different set of features than a traditional word processing program. For example, most won't let you insert photos or tables, or set double line spacing. Features of text editors vary, but there are a few features that most editors have. Below are some of the most common and useful features.
Syntax highlighting
Syntax highlighting is a very useful feature. It consists in the fact that the editor will highlight certain words, or types, or syntax that are characteristic of the language. For example, if you have C++ highlighting enabled, the editor can make all C++ keywords green. This makes it much easier to follow the flow of your program. Here's another example: the editor might display all quoted text in light blue. This way, if you forgot to put opening or closing quotes, you'll quickly realize it because of the color of the text on the screen. The text editor can also indicate incorrect use of a square or parenthesis by highlighting them in red; if you have a closing parenthesis but no opening one, the color will tell you that you've made a syntax error somewhere.
Flexibility
How does the editor know which words to highlight? Good question. The editor knows what language you are programming in. Either you can specify the language yourself, or it can, like Vim, determine this by the file extension. If you're working with a file named code.cc , it will see .cc and know to use the C++ rules, but if you're working with one of code.html , it will apply HTML rules. Some editors know hundreds of languages, ranging from the trivial (C, Java, Perl) to the truly complex (TADS, ABAQUS). This means you can use the same editor to program in almost any language and still get the same features and command set you're used to.
Automatic indentations
Automatic indentation is perhaps the most useful feature text editor. You'd rather be dealing with code that looks like this:
// search for the minimum element in the matrix const int search_min(int **const array, const int kol_tasks,const int type_model) ( int min; for (int i = 0; i< kol_tasks; i++) { for (int j = 0; j < type_model; j++) { if (array[i][j] != -1) { min = array[i][j]; i = kol_tasks; j = type_model; } } } for (int i = 0; i < kol_tasks; i++) { for (int j = 0; j < type_model; j++) { if (array[i][j] < min && array[i][j] != -1) { min = array[i][j]; } } } return min; }
or code that looks like this?:
// search for the minimum element in the matrix
const int search_min(int **const array, const int kol_tasks,const int type_model)
{
int min;
for (int i = 0; i< kol_tasks; i++)
{
for (int j = 0; j< type_model; j++)
{
if (array[i][j] != -1)
{
min = array[i][j];
i = kol_tasks;
j = type_model;
}
}
}
for (int i = 0; i< kol_tasks; i++)
{
for (int j = 0; j< type_model; j++)
{
if (array[i][j]< min && array[i][j] != -1)
{
min = array[i][j];
}
}
}
return min;
}
I thought so. The text editor will save you from having to set all the tabs yourself; it will add them automatically. This allows you to follow the flow of control through indentation, so you can make sure you're in the right block of code.
Quick navigation features
Unless your program is trivial, you'll want to be able to quickly find specific functions, instances of certain variables, or individual lines within it. Text editors usually have more features than word processors. For example, let's say while compiling a program you find that you have syntax errors on line 312. In Vim, all you have to do is type 312G and the cursor will move to line 312. (How does Vim know you don't want to type 312G characters in the document? More on that in the link at the end of the article).
Which text editor should I use? What is the difference between them? How can I get it? How much do they cost?
There are many, many different editors, among which Vim and Emacs are the most popular, powerful and are available on different OSes. Another popular editor, Notepad++ is a much improved Notepad version. Most editors (Vim and Emacs included) are free, but some are shareware. I use Vim, but every editor has its fans. To list some of the best editors available for your platform, review the FAQ about text editors. (It's aimed at average users, but all of the editors listed are very good for writing C++ code.)
IntroductionProbably every user who has worked in Windows knows what Notepad is. Or Notepad - whichever is more familiar to you. The thing is convenient. Small lightweight application, where you can type the text of a letter or copy some information from the Internet. Minimum options, simplest controls. The created files are small in size, and they are compressed perfectly by archivers. It would seem that everything is fine. But only for the time being, until we need something larger (and able to work normally with large files). Yes, the convenience and simplicity of Notepad are extremely important for beginner computer scientists. But as soon as you expand the scope of application, try to use Notepad together with other “flat” files, not just *.txt, this simple tool is no longer enough. Even though they can still view scripts of various programming languages, program logs, batch files, settings files and many, many others, working with all this no longer seems convenient and productive. Fortunately, programmers did not put up with this state of affairs, and began to release improved versions of notepads, each supplemented with its own add-ons. Differing functional extensions, these products in some way began to be divided according to the classes of problems they solve. About one of these classes, simple editors for programmers and webmasters, and this is our review today.
What is paramount for such programs? Of course, syntax highlighting of the language in which the user writes! Support for plugins and additional language and functional packages is desirable, as well as the ability to edit those already connected. Search with replacement and use of regular expressions. A symbol table, a simple hex editor, the ability to work with a large number of formats and encodings. And, of course, ease of use. A requirement that is valid, in principle, for any program, but is most relevant for this kind products, because the programming process itself takes a lot of time, and no one wants to sit behind an inconvenient shell for a long time. Based on this, we will consider selected programs, namely: PSPad 4.5.0, Golden Pen 1.5, PolyEdit 5.0 RC, Edit Ex 2006r1, Crimson Editor 3.70, Uniqway Poetic 0.2b.
PSPad
PSPad is a fairly well-known and widespread editor for programmers. And his popularity is well deserved. After all, this is a program with probably thousands of functions. And what will be especially pleasant for programmers is that this is not just a text editor with additional features, it is a set of special tools specifically for their needs. For example, why does a text writer need a built-in FTP client? It is unlikely to be in demand, and the webmaster will probably, having written some script or page, want to immediately see the result in action by uploading it to a remote server. Connecting with specified settings. They are much broader than specifying an address, login and password.
FTP client connection settings
What about the project tree? With its help, you can further expand the editor's functions and create real projects. And although it is not at all necessary that these will be software projects, it is interesting this opportunity precisely for these needs.
Parameters of the created project
To work with long codes Displaying the file structure is simply indispensable. In this field, PSPad displays functions and macro definitions found by patterns in the file being viewed, according to the selected syntax.
Editing a pas file in the editor window
In the latest versions of PSPad, the user can actively work with scripts, not only manually correct them, but also then recompile them. However, for this you will need to have MS Windows Scripting host installed. The latter supports a fairly large number of languages, and not just Visual Basic and Java scripts.
Good opportunities HTML editing. Of course, our editor will be inferior in number of functions to specialized packages, but we don’t require the capabilities of a powerful compiler from a lightweight, convenient tool? Otherwise, PSPad will be useful for both beginners and experienced webmasters. There is a converter between different formats, a viewer with the ability to change resolution, HTML code checking, and ample opportunities formatting.
Freshly installed, the PSPad "knows" about thirty various languages programming. Despite the fact that there are completely ordinary C, Object Pascal, Java, Java Script, HTML, PHP, Visual Basic, etc., the presence of some, such as COBOL, Inno Setup Script, KiXtart, Tcl/Tk, TeX , Unix Shell Script aroused my genuine interest. Any of the languages, by the way, the user can reconfigure, edit and create their own syntax. Or specify a compiler for it.
In general, the widest possibilities for customizing everything is another distinctive feature the editor in question. Starting from the process of installing the program, and ending with the fine-tuning of the tools themselves. I don’t know about you, but such powers have always been pleasant to me, because by providing them, the author thereby makes it clear that he is targeting the product at a qualified audience, whose representatives will be able not only to understand all this, but also to improve, optimize, and bring it to fruition. Of course, there is nothing to worry about, if you don’t need anything like that, leave it as it is, the program will not become any worse.
Program installation
General program settings
Menu for some other settings
Above were listed only some of the features of the PSPad, most related to its programming features. In addition to this, there is also a sea of interesting and useful things. For example, a hex editor and clipboard manager.
If you use a typing program, spell checking will undoubtedly come in handy. In addition, there are all kinds of editing, search and replace, and formatting options. The tool menu is simply replete with “bells and whistles”. There is a macro manager, a file parser, ASCII table, several types of palette. If the latter are not enough - here you go, pipette! A variant of a tool well known from many image editors for determining color in a particular area. The PSPad eyedropper will allow you to pick up color at any point and under the program window itself. In addition, there is a hash generator (functions MD4, MD5, SHA1, RIPEMD160 are used), a command line, a number converter between different number systems and even Roman symbols, simple but powerful option calculator (called an expression analyzer), and others.
The help system (that is, the system) is complete and varied. In addition to the actual comprehensive guide to the program, you can get information about programming languages, and if you have an Internet connection, then access to programming sites and remote online utilities.
Program website: http://www.pspad.com
Golden Pen
Probably many people know Golden Pen. The program is not new; perhaps some have already forgotten it. Not surprising, latest version was released already in 2001, the author did not even indicate support for Windows XP. On the other hand, simplicity and convenience are the main advantages of this small editor, combined with functionality sufficient for an average level. Therefore, Vitaly Nevzorov’s Golden Pen can be successfully used to this day.
VB code in Golden Pen window
Golden Pen is also good because it is a universal “two-sided” editor. It is equally convenient to use both for typing regular text and for editing source codes. The opportunities provided are approximately equivalent. For text, these are printing, export to RTF and HTML, alignment, display, search and transition options. For scripts - syntax highlighting for fifteen current (for 2000) languages up to Fortran, work with bookmarks, hex mode for viewing files. In addition, there are additional tools, a clipboard, macro recording, a calculator, and an ASCII code table. The Golden Pen calculator is capable of calculating some statistical functions, and, in addition, when typing text, the contextual calculator is active - this is when you type an expression, and after the "=" sign, the program automatically displays its value.
Hex editor mode
While working with the program, I noticed two small bugs - when calling the calculator from the toolbar, the calendar stubbornly appears, and the panel itself disappears when the program is closed, but is not always restored automatically the next time it is launched.
Program website: http://www.geocities.com/midweststudio/
PolyEdit
To call PolyEdit a notepad for programmers somehow doesn’t even dare. However, it made it into our review because it also includes such features. And there are many, many other things that would require a separate article to describe.Yes, indeed, PolyEdit is a program with the broadest capabilities, although at the first acquaintance it gave me feelings... probably similar to the feelings of the heroes from Nikolai Nosov’s “Dunno on the Moon” when they spent the night at the Economic Hotel. If the owners there declared the cheapest rooms, but in reality required a separate payment for the use of water, TV, beds, etc., then the creators of PolyEdit (Polysoft Solutions), not failing to note the small size of the program distribution, did not include some of the specified functions in it . Therefore, having decided to first check the syntax highlighting of languages, I was somewhat disappointed and was sent to the program website for downloading required components. Fortunately, this package in ZIP takes up only 9 KB. It is surprising why it could not be immediately included in the distribution. In addition to the specified file, several more addons and 10 dictionaries are available in the Downloads section, ranging in size from 500 KB to 6 MB. However, You can’t judge the developers too harshly. Expecting to get a full-fledged Word processor in a size of less than one and a half megabytes is somewhat naive. The decision to separately place additional packages needed only by a specific user is quite reasonable for a program freely distributed over the Internet.
As for the program itself, this text was typed just in the editor window, and there were no conveniences to be experienced. The only thing was that I needed to download additional Russian language pack to check spelling. To do this, press F7 or select a command from the menu item. The check does not occur automatically. Maybe for the better? This will prevent unnecessary lag and pauses when typing on slow computers.
Among the capabilities of PolyEdit, we note the following. Data encryption using BlowFish transformations and the SHA-1 hash function. Full support for OLE objects (pictures, clips, diagrams, etc.). Export/import of several formats, including Word, Excel, Html. Plugin support. Built-in email client. Drag-and-Drop and Drag-and-Dock functions. Support for a large number of encodings. Autosave. Search and replace using regular expressions, searching through files. Syntax highlighting. Show non-printable characters.
Some menu items
The "advanced" style interface is very similar to the default interface of the MS Word editor. All basic capabilities for working with text are the same. Only the drawing panel is missing. But in stock additional elements. I really liked the Drag-and-Dock technology for multi-document windows.
Multi-Document Interface
PolyEdit supports themes. All kinds of parameters can be configured in the program options.
Setting up PolyEdit
Testing the editor when working with raw materials revealed some shortcomings. Thus, in a Delphi pas file, commenting with curly braces does not work correctly, and commenting with regular brackets with asterisks does not work at all. Similar problems were observed for html and cpp files. The highlighting of the t-sql script can be seen in the accompanying illustration. For clarity, the view in PolyEdit and the view in the MS SQL Query Analyzer window of the eighth version are given. It is clear that these programs use different specifications, but still...
Undoing the last actions does not always work correctly.
SQL script in PolyEdit window (left) and SQL Query Analyzer
You can register your copy of PolyEdit. Whether it is advisable is up to you to decide. Among the most important advantages of the paid version is technical support by e-mail, free program upgrades, discounts when purchasing other products from PolySoft Solution. As you can see, even the presented advantages do not seem significant, and there is nothing to say about the others; it is unlikely that displaying your company’s name in the program information window costs $30 per license. However, there are discounts for wholesale buyers...
Program website: http://www.polyedit.com/
EditEx
The latest version 2006r1 of this editor was released a little over a month ago, so we’ll take it for consideration. The main trump card, indicated by the author of the program, Artem Fursenko, is “highlighting everything, everything, everything.” Indeed, EditEx “knows” more than fifty different syntaxes. And this is an absolute record among today's competitors. It doesn’t even make sense to list everything; you’re unlikely to find the one you need. No, well, of course, you can if you want, but for the vast majority of programmers this will be enough.Despite the fact that the development is domestic, the program interface is entirely in English. The developer's website is similar. Although the site is stingy with instructions and useful information. By the way, there is no help in the program itself. It’s good that it’s not particularly necessary - the editor is quite traditional in appearance and not complicated. On the left side there is a conductor, on top there is a toolbar, and the rest of the space is reserved for the document editing area.
EditEx 2006 editor interface
Everything is included in the program necessary tools for formatting text, searching, changing encoding. Additionally, there is a package for checking the spelling of English and Russian words and an on-the-fly translator. Unfortunately, both work latest utilities just bad. And although they function, it is almost impossible to use them. The translator produces contextual search according to the dictionary and displays absolutely all the results encountered. Enter the word "go," for example, and you'll get hundreds of options, from "the agony" to "the pangolin." Although, in fact, the verb “go” will be somewhere in the middle of the sample. The spelling check in the dictionary also surprised me with its originality; it was proposed to replace “parts” with “cheboty”, “available” with “Ivan-tea”, “launch” with “zaalet”, etc. in the same vein literally through the word. The situation is only slightly better in the English language, where words are usually less inclined.
Spell check is surprising in its approach
Now about the nice additions. A simple FTP client, the ability to work in full screen mode, seeing clean code without sometimes annoying buttons and panels, additional panel automatic setting HTML tags, preview HTML pages and running the program specifying an external compiler.
Options for connecting to an FTP server
Program website: http://www.flywheel.nm.ru/editex.html
Crimson Editor
Having turned to Crimson Editor after EditEx, it seemed to me that the latter was made from it. Indeed, in terms of their set of functions, both editors are like brothers. Even outwardly it’s easy to confuse them. The same set of functions that are standard for the class of programs under consideration, the same advanced search, the same highlighting of paired brackets, line numbering (and printing with its preservation), text formatting, a transcoder with a minimum number of sets. There is a built-in FTP client, optional explorer, HTML file preview, spell check, detailed statistics, the ability to record and execute macros. A contextual calculator is also available.
Editor window without Explorer enabled
Highlighting of languages that are in standard installation only 16 (including Basic, C/C++, CSS, HTML, Java, Matlab, Pascal, Perl, PHP, Python, etc.) are produced correctly, with automatic type detection. Language specifications can be customized by the user. In addition, a large number of various language files are available for download on the program’s official website. This probably allowed the creator (Ingyu Kang) to claim support for more than 100 computer languages.
When working with the editor, I found an unpleasant bug - when opening files, the program analyzes its contents, apparently to determine the syntax to be highlighted. The mechanisms are not reported by the author, but as a result of this procedure, some workable scripts lead to a memory access error and the program crashes.
Error while parsing the file being opened
Program website: http://www.crimsoneditor.com/
Uniqway Poetic
Well, in conclusion, let’s look at one more program. This editor is completely new, even raw, but I liked it and seems very promising. Its first version 0.1a was released only about a month ago, and now the second version 0.2b is already available. If the authors (Pavel Sushkov and others) continue with the same zeal, then we have the right to expect a complete convenient program with good functionality already in the spring. Although you can use Uniqway Poetic right now.So, what's interesting here? Overall - a nice multi-document interface, wide use"hot" keys, convenient navigation, import/export UTF-8 and UTF-16 formats, printability, preview and page settings. Displaying non-printing characters, adjusting the font size for ease of use, of course, search and replace, using regular expressions. There are also file statistics based on the number of words and certain characters.
Uniqway Poetic
Work with text. I liked the options for adjusting indentation and removing leading and trailing spaces. It is possible to change the case of the typed text and set the line break type (Unix, Mac or Win). Can be converted between the following types: Windows 1251, KOI8-R, ISO-8859-2, ISO-8859-5, ISO-8859-6, DOS 866, Mac Central European, Mac Cyrillic, Mac Greek. A small table of characters indicating codes for quick typing on the keyboard is available, as well as a function for sorting strings in alphabetical order. The history of changes made is not limited.
Transcoder
Working with code. The phrase with official page programs about highlighting "any type of syntax." I still don’t understand what exactly the creators had in mind, but practically the program supports the following types: PHP, CSS, HTML, Delphi, XML, INI and Perl. Optionally, in addition to the coordinates of the cursor position in the status line, there is a numbering of lines of code.
Program settings
The program parameters can be changed to suit your own needs. Unfortunately, you cannot add custom buttons to any of the taskbars, including the custom one, but I am sure that a similar function will appear in the coming releases.
By the way, what else might appear in future versions? First of all, increasing the number of supported languages, enabling an FTP client and hex mode, expanding the program settings. Or maybe the Uniqway team will please us with something original, different from other editors in the future?
Program website: http://www.uniqway.com/poetic/
Results
In general, I liked all the programs discussed above, one way or another. And everything can be applied to your own “taste and color”.PSPad It stands out among others in terms of its range of functions and convenience. A very efficient editor, superior even to some paid analogues. I recommend it to absolutely everyone who, due to duty or the dictates of their hearts, has to engage in program writing.
Golden Pen is a good replacement for the standard Windows notepad with a number of additional tools both general purpose and intended for programmers.
PolyEdit- enough strong program, but is not a specialized product for programmers. It could potentially be an alternative to MS Word, as it includes extensive capabilities for working with text.
IN EditEx What is interesting, first of all, is the support for a large number of different syntaxes. At the same time, the author’s attempt to stuff the program with a significant number of additional functions should be considered unsuccessful. Perhaps it’s a simple matter of using ready-made software components found on the Internet. Despite the fact that some of them are not finalized themselves. Quite quickly you get tired of the banner offering to buy raw software for $40. Throw this away, don't use half-baked features, and you'll get a completely usable editor.
Crimson Editor Overall it’s nicer than the previous program, there’s no annoying banner. The capabilities are approximately the same, but EditEx supports more languages. Crimson Editor, in turn, seems better refined.
Well Uniqway Poetic- a young program with the prospect of becoming a good help to the programmer...
Not every task and not every project requires a full-fledged IDE, so for many, the main tool is still their favorite text editor. And it seems that the choice is simple: powerful, extensible, but simple Sublime Text. living classics represented by emacs and vim, as well as monoplatform favorites - Notepad++ for Windows, TextMate for OS X and Geany for Linux. But new editors appear almost every day - does it make sense for you to change your habits? Let's see what's going on.
Atom
Back in August 2011, GitHub co-founder Chris "defunkt" Wanstrath set himself an ambitious goal: to create an editor that was truly open and offered unlimited hacking capabilities, without turning into another Vim or Emacs (which , as you know, can do almost everything, but only if you have a brain like Jeff Dean). And now, three years and more than fifteen thousand commits later, public beta testing began. In March of this year, Atom became available for download to everyone. How is the famous company going to revolutionize our approach to coding?
The first thing that catches your eye when you launch GitHub's new brainchild is its incredibly similar interface to Sublime Text. This in itself is not a minus. It is a known fact that the Sublime interface was inspired by another, no less popular code editor for OS X, TextMate. The current story with Atom and Sublime only emphasizes the latter's successful GUI solutions.
The second thing about Atom is that it is essentially a web application wrapped in Chromium. No, of course, the editor has its own icon in the dock, normal system menus and support for native hotkeys. It’s just that the Atom core is written mostly in CoffeeScript, it runs on Node.js, and the editor interface itself is an HTML page with quite normal markup. You can verify this by selecting Developer -> Toogle developer tools from the View menu.
The third interesting feature of Atom is its modularity. In the best traditions of the Node.js ecosystem, it is written using maximum quantity open modules (more than fifty). This means that if you don’t like some standard functionality, then, according to the developers, you can easily find a replacement for it from more than 70 thousand packages in the npm registry or write your own plugin. Considering that JavaScript has actually been the most popular language on GitHub for a long time, and CoffeeScript is only slightly behind Perl, this gives us confidence in the future of Atom.
What about killer features? Here everything is not so rosy. Whether it’s the youth of the project or something else, Atom, apart from the big name of the creators and great hopes, doesn’t provide anything out of the box that could make you play with it for hours. What is presented by developers as advantages (for example, autocomplete, tabs, code collapse, snippets) can only bring a condescending smile on the faces of Sublime adherents. Yes, of course, Atom already has its own package manager, but I didn’t find anything in its repositories that couldn’t be implemented using plugins for Sublime.
Light Table
The development of Light Table began in 2011, when American programmer Chris Granger decided that the process of working with code in modern text editors did not fit well enough into modern workflow. In short, the Light Table's task is to make the development process truly interactive and visual, giving the developer instant feedback on any action, thereby helping to quickly navigate a large code. It was with this idea that Chris went to Kickstarter and quickly enough raised $316,720 for the development of the project, with a stated goal of 200 thousand. Why exactly did the bakers like Chris’s ideas so much?
One of the coolest features of Light Table is the ability to work with documentation as you write code. To see a description of a function, simply hover over it. The editor will instantly find and display documentation for the requested function or parameter (in the case of build-in methods) or show a prepend description of the function left directly in the code. This is somewhat reminiscent of autocomplete, which is used in the development environment Visual Studio from Microsoft, but much deeper and more powerful.
The second killer feature can be called instant execution of functions while writing code. This allows you to try different input conditions in debug mode and see not only the result, but also how the variables flow through the entire code. This is also quite a useful thing, especially when you are not sure of the result of executing any piece of code.
The third feature of Light Table is the unique ability to organize code into so-called tables. They are logically complete blocks of code through which you can visualize the interaction of individual program functions. Using this feature, it is very convenient to divide a file into several independent function blocks and work with them, building some kind of real dashboard from the code. Another nice feature is the intelligent highlighting of blocks - in this case, the chances of getting confused in an already clear workflow tend to zero.
Despite its rather unusual philosophy, Light Table is undoubtedly a new generation editor. Its trick is not that it is written in fashionable technologies, but in changing the very approach to the process of developing complex software. You probably won’t feel the real power of Light Table when working with simple JS scripts, but for slightly more complex projects it will become an indispensable tool. You just need to get used to it. But this will not be easy.
Lime
All of Lime can be described by one single but well-known phrase from Bobuk - the brilliance and poverty of open source. The project, started last year by Fredrik "quarnster" Ehnbom, solves a single, but clear task: to create an open-source constructor in the image of Sublime Text. The reason for this desire is clear - the author, an ardent fan of Sublime, was dissatisfied with the sluggish development of the project and the lack of banal bug fixes for previous versions. The idea turned out to be close to several dozen like-minded people, and soon the first version of Lime was released.
The first thing that turns you off when you get acquainted with this editor is the absence of at least some semblance of binary packages. In general, the logic of this decision is clear: Lime is not a single application, but a set of a separate backend in Go and a couple of frontends to choose from. However, this doesn’t make it any easier - trying to quickly get Lime to work turns into an exciting tinkering with Go dependencies, configs and other joys of life.
As for working in this editor, at the moment it is frankly inconvenient, and there is essentially nothing unique to write here about. Lime can't yet boast even those features that other text editors take for granted. It seems that developers are still paying much more attention to application architecture and code cleanliness than functionality. To some extent, the situation is saved by partial compatibility with the Sublime API (and some parts of TextMate, respectively), but despite this, Lime still has big problems with usability.
In general, today Lime leaves a mixed impression. It must be great when your working tool is completely open source and so flexible. But let's be honest with ourselves: how many of us would ever think of rewriting the front end of our text editor? How many of us would even think of developing a text editor for ourselves because of some inconvenience, instead of using this tool for its intended purpose - namely, writing our own programs in it? For most developers (especially those who do not suffer from Stallman brain disease), the functionality of Sublime Text and its system of plugins is enough for solving everyday problems. And, to be honest, in a few years daily work I haven’t come across any super-critical bugs in Sublime for which I couldn’t find my own workaround. So on at this stage Lime is truly suitable only for die-hard open source fans with a huge amount of free time and a desire to make this world a little better.
Adobe Brackets
Brackets is a fairly young (development has been going on since 2011), but an interesting project from Adobe. Its goal is simple - to create a minimalistic and comfortable development environment that would require a minimum of effort on the part of the developer. In my memory, there have already been a considerable number of projects with similar goals. Let's see if Adobe, with the help of the community, managed to do something interesting in this field.
Surprisingly, Brackets turned out quite well. Everything you need works out of the box (after Lime, even this becomes a plus in a sense). The project really solves its problem main task- makes it easier to write code, although it does it practically without any fundamentally new approaches. And by the way, there is nothing wrong with that.
Brackets is written in HTML/JS (thanks not Flash or Adobe AIR :)), tightly integrated with Node.js. Outwardly, out of the box it makes a very favorable impression (though not without a touch of some toy-ness). What captivated me from the first keystroke was the amazing autocomplete for HTML/CSS/JS/jQuery. It's really smart and also contains a lot of pleasant little things(for example, a built-in color-picker or a tool for selecting transitions in CSS).
But the main killer feature for me was the inline editing of related code sections. This is an opportunity to view and edit, say, a set of CSS properties by its class or ID directly from the HTML layout file in a separate area. Brackets analyzes the structure of your project in real time, builds a dependency tree, and allows you to write interdependent sections of code without leaving the main context of the file. I admit, I created exactly this kind of functionality a couple of years ago in my simple text editor (I’m sure I’m not the only one). So such a feature cannot but rejoice. Of the other features, we can highlight fast access documentation (though not as detailed as Light Table), JSLint out of the box and a nice plugin manager. Although, of course, Brackets cannot yet boast of such an abundance of packages as Sublime.
Overall, while it does support some degree of support for, for example, Ruby or Python, Brackets is aimed primarily at front-end developers. It will cope perfectly with the needs of layout designers, in some ways leaving even specialized IDEs behind. You won’t find anything revolutionary new in it, except for inline code editing. However, what is there is made conscientiously and with soul. If you mainly design or write client code on a not too complicated stack, it’s quite possible that Brackets will be to your liking.
Zed
Zed is a rather hipster text editor that also tries to reimagine modern process software development. If Light Table is trying to change the very principle of development, then Zed is mainly limited to experiments with the interface. Development began in 2011, and today Zed is available on the official website in the form of binaries for major platforms, as well as as an application for Chrome Web Store.
The first thing that catches your eye when you get acquainted with Zed is the absence of familiar interface elements such as the project tree or tabs. A rather controversial step, during development it is often much easier to navigate the structure of the project using wood. But in the absence of tabs there is a certain rational grain: usually when working with large projects, the number of open tabs grows exponentially, and after half an hour of work you have to constantly walk through them, closing what you are not working with at the moment. In Zed, navigation through the project is carried out either by jumping directly to the required file in the project by its name (Ctr/Cmd + E) through the small console at the top of the application.
The second memorable feature of Zed is its emphasis on a multi-column interface. The editor supports several fixed options for splitting the workspace - 50/50%, 25/75%, and so on. It is worth noting that the second (or even third) column is intended not only for simultaneous editing of several files, but also for instantly previewing code in languages that require processing (such as Markdown or CoffeeScript).
When working with Zed, you can really feel its focus on remote editing. So, out of the box it has great support for editing files from Dropbox or directly to remote server and supports sessions. But precisely as an editor, Zed is very poor. Its built-in autocompletion is based on a dictionary, it does not have convenient means working with extensions does not allow you to customize the UI as you would like. Although, that’s probably not what Zed is talking about.
By the way, it should be noted that Zed is very thoughtful. At times, the application freezes for quite a long time and loses all responsiveness, which, of course, does not add convenience to an already rather unusual experience.
Overall, Zed is weird and definitely not for everyone. If you don't bother with endless customization user interface, you care about portability, the ability to stablely edit files on a remote server, and you are ready to try something unusual, you can play around. But Zed is clearly not suitable for everyday coding.