SciTE is a free SCIntilla based text editor useful for general text editing, but specifically geared towards programming. SciTE provides several standard features useful for writing code, such as automatic code detection, colour-coded formatting and code compilation.
Basic debugging is also possible from within SciTE, as it supports compiling and running code within the editor and producing output from within SciTE itself, which is particularly useful for catching compilation errors. Similar apps include Netbeans and Code::Blocks.
What kind of programs is SciTE?
Though capable of functioning as a general text editor, SciTE was primarily built as a code editor for programmers, specifically using the Scintilla programming library. This library supports syntax highlighting, error indicators, line numbering and more features useful for programmers.
What programming features are supported by SciTE?
SciTE includes many features considered standard for writing code. These include code folding, regular expressions, replace in selection, variable-width fonts and plenty more. In addition to this, SciTE also supports further customisation by embedding support for the Lua programming language. This means that programmers can use both the buffer and the Scintilla API to write their own custom modifications.
Custom code can be triggered by binding to hotkeys or automatically trigger based on events. This means that the user has wide flexibility in what SciTE can do, but it may require the user to write their own custom modifications in order to achieve it.
A midweight code editor aimed at programmers
SciTE is in an awkward place. Though it can be used as a general text editor, it is very obviously geared towards programmers. Its UI is dated and it lacks many graphical features users may expect of text editors.
On the other hand, it is not as fully featured as more popular code editors, such as Visual Studio Code. Visual Studio Code also supports custom modifications, but thanks to its large user base, it is likely many commonly required modifications already exist.
SciTE can technically support almost any feature due to its support for Lua, but that may require writing your own modifications as the community is much smaller and fewer community-developed solutions exist.