Редактор исходного кода
Редактор исходного кода — это программа текстового редактора, разработанная специально для редактирования исходного кода компьютерных программ . Это может быть отдельное приложение или оно может быть встроено в интегрированную среду разработки (IDE).
Особенности [ править ]
Редакторы исходного кода имеют функции, специально разработанные для упрощения и ускорения ввода исходного кода, такие как подсветка синтаксиса , отступы , автозаполнение и функции сопоставления фигурных скобок . Эти редакторы также предоставляют удобный способ запуска компилятора , интерпретатора , отладчика или другой программы, необходимой для процесса разработки программного обеспечения . Таким образом, хотя многие текстовые редакторы, такие как «Блокнот», можно использовать для редактирования исходного кода, если они не улучшают, не автоматизируют и не упрощают редактирование кода, они не являются редакторами исходного кода .
Редакторы структуры — это другая форма редактора исходного кода, в которой вместо редактирования необработанного текста манипулируют структурой кода, обычно абстрактным синтаксическим деревом . В этом случае такие функции, как подсветка синтаксиса, проверка и форматирование кода, легко и эффективно реализуются из конкретного синтаксического дерева или абстрактного синтаксического дерева, но редактирование часто более жесткое, чем текст произвольной формы. Редакторы структур также требуют обширной поддержки для каждого языка, и поэтому их труднее распространить на новые языки, чем текстовые редакторы, где базовая поддержка требует только поддержки выделения синтаксиса или отступов. По этой причине редакторы со строгой структурой не пользуются популярностью для редактирования исходного кода, хотя некоторые IDE предоставляют аналогичные функции.
Редактор исходного кода может проверять синтаксис во время ввода кода и немедленно предупреждать о проблемах с синтаксисом. Некоторые редакторы исходного кода сжимают исходный код, обычно преобразуя общие ключевые слова в однобайтовые токены , удаляя ненужные пробелы и преобразуя числа в двоичную форму. Такие редакторы токенизации позже распаковывают исходный код при его просмотре, возможно, печатая его с одинаковыми заглавными буквами и интервалами. Некоторые редакторы исходного кода делают и то, и другое. [ нужна ссылка ]
Протокол языкового сервера , впервые использованный в Microsoft Visual Studio Code , позволяет редакторам исходного кода реализовать клиент LSP, который может считывать синтаксическую информацию о любом языке с помощью LSP-сервера. Это позволяет редакторам исходного кода легко поддерживать больше языков с подсветкой синтаксиса, рефакторингом и поиском ссылок. [1] Многие редакторы исходного кода, такие как Neovim [2] и скобки [3] добавили встроенный клиент LSP, в то время как другие редакторы, такие как Emacs, [4] потому что, [5] и возвышенный текст [6] иметь поддержку LSP-клиента через отдельный плагин.
История [ править ]
Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( март 2024 г. ) |
В 1985 году Майк Коулишоу из IBM создал LEXX , будучи прикомандированным к издательству Oxford University Press . LEXX использовал динамический анализ и использовал цвет и шрифты для подсветки синтаксиса. IBM LPEX (расширяемый редактор Live Parsing) [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]
Известные примеры [ править ]
- Атом [13]
- Кронштейны [13]
- Затмение
- Эмакс
- Гедит
- NetBeans
- Блокнот++ [13] (только для Windows)
- SlickПравить
- Возвышенный текст [13]
- TextMate (только для macOS)
- УльтраПравить [13]
- увидел / пришел
- Код Visual Studio [13]
Споры [ править ]
Многие редакторы исходного кода и IDE были вовлечены в постоянные споры между пользователями, которые сообщество программистов иногда весело называет «священными войнами». [14] [ нужен лучший источник ] Яркие примеры включают vi против Emacs и Eclipse против NetBeans . Эти споры составляют значительную часть интернет-культуры , и они часто возникают всякий раз, когда где-либо упоминается какой-либо редактор.
См. также [ править ]
- Интегрированная среда разработки
- Сравнение интегрированных сред разработки
- Сравнение онлайн-площадок с исходным кодом
- Сравнение текстовых редакторов § Особенности программирования
- Сравнение редакторов исходного кода на основе JavaScript
- Сравнение шестнадцатеричных редакторов
- Сравнение HTML-редакторов
- Список текстовых редакторов
- Редактор войны
Ссылки [ править ]
- ↑ Перейти обратно: Перейти обратно: а б Криль, Пол (27 июня 2016 г.). «Протокол языкового сервера, поддерживаемый Microsoft, стремится к совместимости языка и инструментов» . Инфомир . Проверено 19 июня 2022 г.
- ^ «Документация ЛСП — Неовим» . neovim.io . Проверено 19 июня 2022 г.
- ^ Шубхам, Ядав. «Поддержка протокола языкового сервера в скобках · Adobe/Brackets Wiki» . Гитхаб . Проверено 19 июня 2022 г.
- ^ «Режим LSP — поддержка протокола языкового сервера для Emacs — режим LSP — поддержка LSP для Emacs» . emacs-lsp.github.io . Проверено 19 июня 2022 г.
- ^ Девлигер, Йонас (22 апреля 2018 г.). «Использование LSP и clangd в Vim» . Йонас Девлигер . Проверено 19 июня 2022 г.
- ^ «Главная страница — Документация по протоколу сервера Sublime Text Language» . lsp.readthedocs.io . Архивировано из оригинала 12 июня 2022 года . Проверено 19 июня 2022 г.
- ^ «Руководство пользователя редактора LPEX — версия 4» (PDF) . ИБМ . Проверено 19 июня 2022 г.
- ^ Майк Коулишоу FREng BSc CEng FIET FBCS CITP , IBM, заархивировано из оригинала 18 октября 2006 г. , получено 20 июня 2022 г.
- ^ «История Вима» . Йовица Илич . 5 июня 2014 г.
- ^ Орин, Энди (18 июня 2015 г.). «За приложением: история Notepad++» . Лайфхакер Австралия . Проверено 17 июня 2022 г.
- ^ Сомасегар, С. (4 июля 2015 г.). «Представляем код Visual Studio, Visual Studio 2015 RC, общедоступную предварительную версию Application Insights и предварительную версию .NET Core для Linux и Mac — блог Сомасегара — Домашняя страница сайта — Блоги MSDN» . блоги.msdn.com /. Майкрософт. Архивировано из оригинала 4 июля 2015 года . Проверено 17 июня 2022 г.
- ^ Петрели, Николас (11 февраля 2003 г.). «Программное обеспечение для редактирования текста Java для Linux» . Компьютерный мир . Проверено 17 июня 2022 г.
- ↑ Перейти обратно: Перейти обратно: а б с д и ж «Глобальный рынок текстовых редакторов по типам продуктов (облачные, веб-базированные) и по конечным пользователям/приложениям (крупные предприятия, МСП). Доля мирового рынка, прогнозные данные, углубленный анализ, подробный обзор и прогноз, 2013–2026 гг. " .
Основные игроки рынка текстовых редакторов: Visual Studio Code, Notepad++, Sublime, Brackets, UltraEdit, Atom.
- ^ «Священная война (хакерский жаргон)» . Архивировано из оригинала 02 апреля 2012 г. Проверено 30 ноября 2016 г.