stringtranslate.com

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

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

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

Характеристики

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

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

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

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

История

В 1985 году Майк Коулишоу из IBM создал LEXX , будучи прикомандированным к издательству Oxford University Press . LEXX использовал динамический анализ и использовал цвет и шрифты для подсветки синтаксиса. IBM LPEX (Live Parsing Extensible Editor) [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 . [11] В 2016 году Visual Studio Code стал продуктом Microsoft, использующим протокол языкового сервера. [1]

Сравнение с IDE

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

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

Яркие примеры

Споры

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

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

Рекомендации

  1. ↑ Аб Крил, Пол (27 июня 2016 г.). «Протокол языкового сервера, поддерживаемый Microsoft, стремится к совместимости языка и инструментов». Инфомир . Проверено 19 июня 2022 г.
  2. ^ "Документация LSP - Неовим" . neovim.io . Проверено 19 июня 2022 г.
  3. ^ Шубхам, Ядав. «Поддержка протокола языкового сервера в скобках · Adobe / Brackets Wiki». Гитхаб . Проверено 19 июня 2022 г.
  4. ^ «Режим LSP — поддержка протокола языкового сервера для Emacs — режим LSP — поддержка LSP для Emacs» . emacs-lsp.github.io . Проверено 19 июня 2022 г.
  5. Девлигер, Йонас (22 апреля 2018 г.). «Использование LSP и clangd в Vim». Йонас Девлигер . Проверено 19 июня 2022 г.
  6. ^ "Главная - Документация по протоколу сервера Sublime Text Language" . lsp.readthedocs.io . Архивировано из оригинала 12 июня 2022 года . Проверено 19 июня 2022 г.
  7. ^ «Руководство пользователя редактора LPEX — Версия 4» (PDF) . ИБМ . Проверено 19 июня 2022 г.
  8. ^ Майк Коулишоу FREng BSc CEng FIET FBCS CITP, IBM, заархивировано из оригинала 18 октября 2006 г. , получено 20 июня 2022 г.
  9. ^ «История Вима». Йовица Илич . 5 июня 2014 г.
  10. Орин, Энди (18 июня 2015 г.). «За приложением: история Notepad++». Лайфхакер Австралия . Проверено 17 июня 2022 г.
  11. Сомасегар, С. (4 июля 2015 г.). «Представляем код Visual Studio, Visual Studio 2015 RC, общедоступную предварительную версию Application Insights и предварительную версию .NET Core для Linux и Mac — блог Сомасегара — домашняя страница сайта — блоги MSDN». блоги.msdn.com /. Майкрософт. Архивировано из оригинала 4 июля 2015 года . Проверено 17 июня 2022 г.
  12. ^ Петрели, Николас (11 февраля 2003 г.). «Программное обеспечение для редактирования текста Java для Linux». Компьютерный мир . Проверено 17 июня 2022 г.
  13. ^ abcdef «Глобальный рынок текстовых редакторов по типам продуктов (облачные, веб-интерфейсы) и по конечным пользователям/приложениям (крупные предприятия, МСП). Доля мирового рынка, прогнозные данные, углубленный анализ, подробный обзор и прогноз, 2013 г. - 2026». Основные игроки, работающие на рынке текстовых редакторов, включают: Visual Studio Code, Notepad++, Sublime, Brackets, UltraEdit, Atom.
  14. ^ «Священная война (хакерский жаргон)» . Архивировано из оригинала 02 апреля 2012 г. Проверено 30 ноября 2016 г.