Source-code editor

Short description: Text editor specializing in software code

This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)

This article's lead section does not adequately summarize key points of its contents. Please consider expanding the lead to provide an accessible overview of all important aspects of the article. Please discuss this issue on the article's talk page. (September 2024)

|

(Learn how and when to remove this template message)

Screenshot of using Notepad++ to edit XML code

A source-code editor is a text editor program designed specifically for editing the source code of computer programs. It includes basic functionality such as syntax highlighting, and sometimes debugging. It may be a standalone application or it may be built into an integrated development environment (IDE).[1]

## Contents

* 1 Features
* 2 History
* 3 Comparison with IDEs
* 4 Notable examples
* 5 Controversy
* 6 See also
* 7 References

## Features

Source-code editors have features specifically designed to simplify and speed up typing of source code, such as syntax highlighting(syntax error highlighting), auto indentation, autocomplete and brace matching functionality. These editors may also provide a convenient way to run a compiler, interpreter, debugger, or other program relevant for the software-development process. While many text editors like Notepad can be used to edit source code, if they do not enhance, automate or ease the editing of code, they are not defined as source-code editors.

Structure editors are a different form of a source-code editor, where instead of editing raw text, one manipulates the code's structure, generally the abstract syntax tree. In this case features such as syntax highlighting, validation, and code formatting are easily and efficiently implemented from the concrete syntax tree or abstract syntax tree, but editing is often more rigid than free-form text. Structure editors also require extensive support for each language, and thus are harder to extend to new languages than text editors, where basic support only requires supporting syntax highlighting or indentation. For this reason, strict structure editors are not popular for source code editing, though some IDEs provide similar functionality.

The Language Server Protocol, first used in Microsoft's Visual Studio Code, allows for source code editors to implement an LSP client that can read syntax information about any language with a LSP server. This allows for source code editors to easily support more languages with syntax highlighting, refactoring, and reference finding.[2] Many source code editors such as Neovim[3] and Brackets[4] have added a built-in LSP client while other editors such as Emacs,[5] Vim,[6] and Sublime Text[7] have support for an LSP Client via a separate plug-in.

## History

This section needs expansion. You can help by adding to it. (March 2024)

|

In 1985, Mike Cowlishaw of IBM created LEXX while seconded to the Oxford University Press. LEXX used live parsing and used color and fonts for syntax highlighting. IBM's LPEX (Live Parsing Extensible Editor)[8] was based on LEXX and ran on VM/CMS, OS/2, OS/400, Windows, and Java[9]

Although the initial public release of vim was in 1991, the syntax highlighting feature was not introduced until version 5.0 in 1998.[10] On November 1, 2015, the first version of NeoVim was released.[11]

In 2003, Notepad++, a source code editor for Windows, was released by Don Ho. The intention was to create an alternative to the java-based source code editor, JEXT[12]

In 2015, Microsoft released Visual Studio Code as a lightweight and cross-platform alternative to their Visual Studio IDE.[13] The following year, Visual Studio Code became the Microsoft product using the Language Server Protocol.[2] This code editor quickly gained popularity and emerged as the most widely used source code editor.[14]

## Comparison with IDEs

A source-code editor is one component of a Integrated Development Environment. In contrast to a standalone source-code editor, an IDE typically also includes several tools which enhance the software development process.[1] Such tools include syntax highlighting, code autocomplete suggestions, version control, automatic formatting, integrated runtime environments, debugger, and build tools.[15]

Standalone source code editors are preferred over IDEs by some developers when they believe the IDEs are bloated with features they do not need.[16]

## Notable examples

* Atom
* Brackets
* Eclipse
* Emacs
* Gedit
* Kate
* NetBeans
* Notepad++
* SlickEdit
* Sublime Text
* TextMate
* UltraEdit
* vi
* Vim
* Visual Studio Code

## Controversy

Many source-code editors and IDEs have been involved in ongoing user arguments, sometimes referred to jovially as "holy wars" by the programming community.[17] Notable examples include vi vs. Emacs and Eclipse vs. NetBeans. These arguments have formed a significant part of internet culture and they often start whenever either editor is mentioned anywhere.

## See also

* Integrated development environment
* Comparison of integrated development environments
* Comparison of online source code playgrounds
* Comparison of text editors § Programming features
* Comparison of hex editors
* Comparison of HTML editors
* List of free and open-source software packages § Source code editors
* List of integrated development environments
* List of text editors
* Editor war

## References

1. ↑ 1.0 1.1 "Difference between IDE and Code editor" (in en-US). 2024-11-15. https://www.geeksforgeeks.org/blogs/ide-vs-code-editor/.
2. ↑ 2.0 2.1 Krill, Paul (27 June 2016). "Microsoft-backed Language Server Protocol strives for language, tools interoperability" (in en). https://www.infoworld.com/article/3088698/microsoft-backed-langauge-server-protocol-strives-for-language-tools-interoperability.html.
3. ↑ "LSP documentation - Neovim". https://neovim.io/doc/lsp/.
4. ↑ Shubham, Yadav. "Language Server Protocol Support in Brackets · adobe/brackets Wiki" (in en). https://github.com/adobe/brackets/wiki/Language-Server-Protocol-Support-in-Brackets.
5. ↑ "LSP Mode - Language Server Protocol support for Emacs - LSP Mode - LSP support for Emacs". https://emacs-lsp.github.io/lsp-mode/.
6. ↑ Devlieghere, Jonas (22 April 2018). "Using LSP & clangd in Vim" (in en). https://jonasdevlieghere.com/vim-lsp-clangd/.
7. ↑ "Home - Sublime Text Language Server Protocol Documentation". https://lsp.readthedocs.io/en/latest/.
8. ↑ "LPEX Editor's User Guide - Version 4". https://www.ibm.com/support/pages/system/files/support/swg/swgdocs.nsf/0/b056dfda5f29d02a85256ab000109653/$FILE/lpex.pdf.
9. ↑ Mike Cowlishaw FREng BSc CEng FIET FBCS CITP, IBM, http://domino.research.ibm.com/comm/research_people.nsf/pages/cowlishaw.bio.html, retrieved June 20, 2022
10. ↑ "The History of Vim". 5 June 2014. https://jovicailic.org/2014/06/the-history-of-vim/.
11. ↑ "0.1-first-public-release Milestone · neovim/neovim" (in en). https://github.com/neovim/neovim/milestone/5?closed=1.
12. ↑ Orin, Andy (18 June 2015). "Behind The App: The Story Of Notepad++" (in en-AU). https://www.lifehacker.com.au/2015/06/behind-the-app-the-story-of-notepad/.
13. ↑ Somasegar, S (4 July 2015). "Introducing Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview and .NET Core Preview for Linux and Mac - Somasegar's blog - Site Home - MSDN Blogs". Microsoft. http://blogs.msdn.com/b/somasegar/archive/2015/04/29/introducing-visual-studio-code-visual-studio-2015-rc-application-insights-public-preview-and-net-core-for-linux-and-mac.aspx.
14. ↑ "Stack Overflow Developer Survey 2021" (in en). https://survey.stackoverflow.co/2021#overview.
15. ↑ "Ada Computer Science" (in en). https://adacomputerscience.org/concepts/soft_ide.
16. ↑ Petreley, Nicholas (11 Feb 2003). "Java text editing software for Linux". https://www.computerworld.com/article/2579485/java-text-editing-software-for-linux.html.
17. ↑ "Holy War (Hacker Jargon)". https://www.techfak.uni-bielefeld.de/~joern/jargon/holywars.HTML.

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Source-code editor. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Source-code_editor&oldid=4529041"