stringtranslate.com

Редактор исходного кода

Скриншот использования Notepad++ для редактирования XML- кода

Редактор исходного кода — это текстовый редактор, специально разработанный для редактирования исходного кода компьютерных программ . Это может быть отдельное приложение или оно может быть встроено в интегрированную среду разработки (IDE).

Функции

Редакторы исходного кода имеют функции, специально разработанные для упрощения и ускорения ввода исходного кода, такие как подсветка синтаксиса , отступы , автозаполнение и функциональность сопоставления фигурных скобок . Эти редакторы также предоставляют удобный способ запуска компилятора , интерпретатора , отладчика или другой программы, относящейся к процессу разработки программного обеспечения . Таким образом, хотя многие текстовые редакторы, такие как Блокнот, можно использовать для редактирования исходного кода, если они не улучшают, не автоматизируют и не упрощают редактирование кода, они не являются редакторами исходного кода .

Редакторы структуры — это другая форма редактора исходного кода, где вместо редактирования сырого текста, человек манипулирует структурой кода, как правило, абстрактным синтаксическим деревом . В этом случае такие функции, как подсветка синтаксиса, проверка и форматирование кода, легко и эффективно реализуются из конкретного синтаксического дерева или абстрактного синтаксического дерева, но редактирование часто более жесткое, чем текст свободной формы. Редакторы структуры также требуют обширной поддержки для каждого языка, и поэтому их сложнее расширить на новые языки, чем текстовые редакторы, где базовая поддержка требует только поддержки подсветки синтаксиса или отступов. По этой причине строгие редакторы структуры не популярны для редактирования исходного кода, хотя некоторые IDE предоставляют схожую функциональность.

Редактор исходного кода может проверять синтаксис во время ввода кода и немедленно предупреждать о синтаксических проблемах. Некоторые редакторы исходного кода сжимают исходный код, обычно преобразуя общие ключевые слова в однобайтовые токены , удаляя ненужные пробелы и преобразуя числа в двоичную форму. Такие редакторы токенизирования позже распаковывают исходный код при его просмотре, возможно, красиво печатая его с постоянным использованием заглавных букв и пробелов. Некоторые редакторы исходного кода делают и то, и другое. [ необходима цитата ]

Протокол языкового сервера , впервые использованный в Visual Studio Code от Microsoft , позволяет редакторам исходного кода реализовать клиент LSP, который может считывать информацию о синтаксисе любого языка с помощью сервера LSP. Это позволяет редакторам исходного кода легко поддерживать больше языков с подсветкой синтаксиса, рефакторингом и поиском ссылок. [1] Многие редакторы исходного кода, такие как Neovim [2] и Brackets [3], добавили встроенный клиент LSP, в то время как другие редакторы, такие как Emacs, [4] vim, [5] и Sublime Text [6], поддерживают клиент LSP через отдельный плагин.

История

В 1985 году Майк Коулишоу из IBM создал LEXX , будучи прикомандированным к Oxford University Press . LEXX использовал живой парсинг и использовал цвет и шрифты для подсветки синтаксиса. LPEX (Live Parsing Extensible Editor) от IBM [7] был основан на LEXX и работал на VM/CMS , OS/2 , OS/400 , Windows и Java [8]

Хотя первый публичный релиз vim состоялся в 1991 году, функция подсветки синтаксиса была введена только в версии 5.0 в 1998 году. [9] [ требуется лучший источник ]

В 2003 году Дон Хо выпустил Notepad++ , редактор исходного кода для Windows. Целью было создание альтернативы редактору исходного кода на основе Java, JEXT [10]

В 2015 году Microsoft выпустила Visual Studio Code как облегченную и кроссплатформенную альтернативу своей Visual Studio IDE. [11] В 2016 году Visual Studio Code стал продуктом Microsoft, использующим протокол Language Server Protocol. [1]

Сравнение с IDE

Редактор исходного кода является одним из компонентов интегрированной среды разработки. В отличие от автономного редактора исходного кода, IDE обычно также включает в себя отладчик и инструменты сборки.

Некоторые разработчики предпочитают автономные редакторы исходного кода средам разработки (IDE), поскольку считают, что среды разработки перегружены функциями, которые им не нужны. [12]

Известные примеры

Противоречие

Многие редакторы исходного кода и IDE были вовлечены в постоянные споры пользователей, которые сообщество программистов иногда шутливо называет «священными войнами». [14] [ требуется лучший источник ] Известные примеры включают vi против Emacs и Eclipse против NetBeans . Эти споры сформировали значительную часть интернет-культуры , и они часто начинаются всякий раз, когда какой-либо редактор упоминается где-либо.

Смотрите также

Ссылки

  1. ^ ab Krill, Paul (27 июня 2016 г.). «Протокол сервера языка, поддерживаемый Microsoft, стремится к языковой и инструментальной совместимости». InfoWorld . Получено 19 июня 2022 г. .
  2. ^ "LSP documentation - Neovim". neovim.io . Получено 19 июня 2022 г. .
  3. ^ Шубхам, Ядав. «Поддержка протокола языкового сервера в Brackets · adobe/brackets Wiki». GitHub . Получено 19 июня 2022 г.
  4. ^ "LSP Mode - Поддержка протокола языкового сервера для Emacs - LSP Mode - Поддержка LSP для Emacs". emacs-lsp.github.io . Получено 19 июня 2022 г. .
  5. ^ Девлигер, Йонас (22 апреля 2018 г.). «Использование LSP и clangd в Vim». Йонас Девлигер . Получено 19 июня 2022 г. .
  6. ^ "Home - Sublime Text Language Server Protocol Documentation". lsp.readthedocs.io . Архивировано из оригинала 12 июня 2022 г. Получено 19 июня 2022 г.
  7. ^ "LPEX Editor's User Guide - Version 4" (PDF) . IBM . Получено 19 июня 2022 г. .
  8. ^ Майк Коулишоу FREng BSc CEng FIET FBCS CITP, IBM, заархивировано из оригинала 2006-10-18 , извлечено 20 июня 2022 г.
  9. ^ "История Вима". Йовица Илич . 5 июня 2014 г.
  10. ^ Орин, Энди (18 июня 2015 г.). «Behind The App: The Story Of Notepad++». Lifehacker Australia . Получено 17 июня 2022 г.
  11. ^ Somasegar, S (4 июля 2015 г.). «Введение в Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview и .NET Core Preview для Linux и Mac — блог Somasegar — Домашняя страница сайта — Блоги MSDN». blogs.msdn.com/ . Microsoft. Архивировано из оригинала 4 июля 2015 г. . Получено 17 июня 2022 г. .
  12. ^ Петрели, Николас (11 февраля 2003 г.). "Программное обеспечение для редактирования текста Java для Linux". Computer World . Получено 17 июня 2022 г.
  13. ^ abcdef "Глобальный рынок текстовых редакторов по типу продукта (облачные, веб-основанные) и по конечным пользователям/приложениям (крупные предприятия, малые и средние предприятия). Доля мирового рынка, прогнозные данные, углубленный анализ, подробный обзор и прогноз, 2013–2026". Основные игроки, работающие на рынке текстовых редакторов, включают: Visual Studio Code, Notepad++, Sublime, Brackets, UltraEdit, Atom
  14. ^ "Holy War (Hacker Jargon)". Архивировано из оригинала 2012-04-02 . Получено 2016-11-30 .