stringtranslate.com

Editor de código fuente

Captura de pantalla del uso de Notepad++ para editar código XML

Un editor de código fuente es un programa de edición de texto diseñado específicamente para editar el código fuente de programas informáticos . Puede ser una aplicación independiente o puede estar integrado en un entorno de desarrollo integrado (IDE).

Características

Los editores de código fuente tienen funciones diseñadas específicamente para simplificar y acelerar la escritura del código fuente, como el resaltado de sintaxis , la sangría , el autocompletado y la función de coincidencia de llaves . Estos editores también proporcionan una forma conveniente de ejecutar un compilador , un intérprete , un depurador u otro programa relevante para el proceso de desarrollo de software . Por lo tanto, si bien muchos editores de texto como el Bloc de notas se pueden usar para editar el código fuente, si no mejoran, automatizan o facilitan la edición del código, no son editores de código fuente .

Los editores de estructura son una forma diferente de editor de código fuente, donde en lugar de editar texto sin formato, se manipula la estructura del código, generalmente el árbol de sintaxis abstracta . En este caso, las características como el resaltado de sintaxis, la validación y el formato de código se implementan de manera fácil y eficiente desde el árbol de sintaxis concreto o el árbol de sintaxis abstracta, pero la edición suele ser más rígida que el texto de formato libre. Los editores de estructura también requieren un amplio soporte para cada lenguaje y, por lo tanto, son más difíciles de extender a nuevos lenguajes que los editores de texto, donde el soporte básico solo requiere soportar el resaltado de sintaxis o la sangría. Por esta razón, los editores de estructura estrictos no son populares para la edición de código fuente, aunque algunos IDE brindan una funcionalidad similar.

Un editor de código fuente puede verificar la sintaxis mientras se ingresa el código y advertir inmediatamente sobre problemas de sintaxis. Algunos editores de código fuente comprimen el código fuente, generalmente convirtiendo palabras clave comunes en tokens de un solo byte , eliminando espacios en blanco innecesarios y convirtiendo números a formato binario. Estos editores de tokenización luego descomprimen el código fuente cuando lo visualizan, posiblemente imprimiéndolo con mayúsculas y espacios consistentes. Algunos editores de código fuente hacen ambas cosas. [ cita requerida ]

El Protocolo de servidor de lenguaje , utilizado por primera vez en Visual Studio Code de Microsoft , permite a los editores de código fuente implementar un cliente LSP que puede leer información de sintaxis sobre cualquier lenguaje con un servidor LSP. Esto permite que los editores de código fuente admitan fácilmente más lenguajes con resaltado de sintaxis, refactorización y búsqueda de referencias. [1] Muchos editores de código fuente como Neovim [2] y Brackets [3] han agregado un cliente LSP integrado, mientras que otros editores como Emacs, [4] vim, [5] y Sublime Text [6] tienen soporte para un cliente LSP a través de un complemento independiente.

Historia

En 1985, Mike Cowlishaw de IBM creó LEXX mientras trabajaba en Oxford University Press . LEXX utilizaba análisis en vivo y utilizaba colores y fuentes para resaltar la sintaxis. El LPEX (Live Parsing Extensible Editor) de IBM [7] se basaba en LEXX y se ejecutaba en VM/CMS , OS/2 , OS/400 , Windows y Java [8].

Aunque el lanzamiento público inicial de vim fue en 1991, la función de resaltado de sintaxis no se introdujo hasta la versión 5.0 en 1998. [9] [ se necesita una mejor fuente ]

En 2003, Don Ho lanzó Notepad++ , un editor de código fuente para Windows. La intención era crear una alternativa al editor de código fuente basado en Java, JEXT [10].

En 2015, Microsoft lanzó Visual Studio Code como una alternativa liviana y multiplataforma a su IDE Visual Studio . [11] En 2016, Visual Studio Code se convirtió en el producto de Microsoft que utiliza el Protocolo de servidor de lenguaje. [1]

Comparación con IDE

Un editor de código fuente es un componente de un entorno de desarrollo integrado. A diferencia de un editor de código fuente independiente, un IDE normalmente también incluye herramientas de compilación y depuración.

Algunos desarrolladores prefieren los editores de código fuente independientes a los IDE cuando creen que estos últimos están repletos de funciones que no necesitan. [12]

Ejemplos notables

Controversia

Muchos editores de código fuente e IDE han estado involucrados en constantes discusiones entre usuarios, a las que la comunidad de programación a veces se refiere jovialmente como "guerras santas". [14] [ Se necesita una mejor fuente ] Algunos ejemplos notables incluyen vi vs. Emacs y Eclipse vs. NetBeans . Estas discusiones han formado una parte importante de la cultura de Internet y a menudo comienzan cada vez que se menciona a cualquiera de los editores en cualquier lugar.

Véase también

Referencias

  1. ^ ab Krill, Paul (27 de junio de 2016). "El protocolo de servidor de lenguaje respaldado por Microsoft busca la interoperabilidad entre lenguaje y herramientas". InfoWorld . Consultado el 19 de junio de 2022 .
  2. ^ "Documentación LSP - Neovim". neovim.io . Consultado el 19 de junio de 2022 .
  3. ^ Shubham, Yadav. "Compatibilidad del protocolo del servidor de idiomas entre corchetes · Wiki de adobe/brackets". GitHub . Consultado el 19 de junio de 2022 .
  4. ^ "Modo LSP - Compatibilidad del protocolo de servidor de lenguaje con Emacs - Modo LSP - Compatibilidad de LSP con Emacs". emacs-lsp.github.io . Consultado el 19 de junio de 2022 .
  5. ^ Devlieghere, Jonas (22 de abril de 2018). "Uso de LSP y clangd en Vim". Jonas Devlieghere . Consultado el 19 de junio de 2022 .
  6. ^ "Inicio - Documentación del protocolo del servidor de lenguaje Sublime Text". lsp.readthedocs.io . Archivado desde el original el 12 de junio de 2022 . Consultado el 19 de junio de 2022 .
  7. ^ "Guía del usuario del editor LPEX: versión 4" (PDF) . IBM . Consultado el 19 de junio de 2022 .
  8. ^ Mike Cowlishaw FREng BSc CEng FIET FBCS CITP, IBM, archivado desde el original el 18 de octubre de 2006 , consultado el 20 de junio de 2022
  9. ^ "La historia de Vim". Jovica Ilic . 5 de junio de 2014.
  10. ^ Orin, Andy (18 de junio de 2015). "Detrás de la aplicación: la historia de Notepad++". Lifehacker Australia . Consultado el 17 de junio de 2022 .
  11. ^ Somasegar, S (4 de julio de 2015). "Presentación de Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview y .NET Core Preview para Linux y Mac - Blog de Somasegar - Página principal del sitio - Blogs de MSDN". blogs.msdn.com/ . Microsoft. Archivado desde el original el 4 de julio de 2015 . Consultado el 17 de junio de 2022 .
  12. ^ Petreley, Nicholas (11 de febrero de 2003). «Software de edición de texto Java para Linux». Computer World . Consultado el 17 de junio de 2022 .
  13. ^ abcdef "Mercado global de editores de texto por tipo de producto (basado en la nube, basado en la web) y por usuarios finales/aplicación (grandes empresas, pymes), cuota de mercado global, datos de previsión, análisis en profundidad, descripción detallada y previsión, 2013-2026". Los principales actores que operan en el mercado de editores de texto incluyen: Visual Studio Code, Notepad++, Sublime, Brackets, UltraEdit, Atom
  14. ^ "Guerra santa (jerga hacker)". Archivado desde el original el 2 de abril de 2012. Consultado el 30 de noviembre de 2016 .