Classic code editors provide a kind of intermediate solution in comparison to simple text editors and complex IDEs (Integrated Development Environments). The former are differentiated by their extended functionality, while the latter include multiple tools for software development, which are interconnected. A code editor is usually also integrated into these complex development environments, but it is just one of many components.
There are also differences among code editors. This is due in particular to the large number of markup and programming languages out there. For example, there are editors, which are particularly good for working with C++, Java or Python, while others are specifically designed for web development and design. These editors have to be able to at least write and edit as well as simplify code in the following languages: HTML, CSS and JavaScript. One of the most common features of web code editors is a mode called WYSIWYG (what you see is what you get) which lets developers see in advance how the code will later be displayed in the browser.
Other characteristics of a good code editor for Mac and the like include:
- the ability to save projects in any character encoding,
- syntax highlighting for various languages (ideally configurable),
- a flexible “find and replace” function which can also handle regular expressions,
- a show and hide function for logically related blocks of code (i.e. code folding),
- autocomplete for code (e.g. words, functions, parameters),
- a macro editor and
- the ability to easily manage complete code snippets.