Bluefish — это бесплатный и открытый исходный код , расширенный редактор исходного кода с различными инструментами для программирования и разработки веб-сайтов. Он поддерживает редактирование исходного кода , такого как C , JavaScript , [2] Java , PHP , [3] [4] Python , [5] [6], а также такие языки разметки , как HTML , [7] YAML и XML . [8] [9] Он доступен для многих платформ, включая Linux , [10] macOS , [11] и Windows , [12] [13] и может использоваться через интеграцию с GNOME или запускаться как отдельное приложение. Разработанный как компромисс между простыми текстовыми редакторами и полноценными IDE для программирования , [14] [15] Bluefish легкий, быстрый и простой в освоении, при этом предоставляя множество функций IDE. [16] [17] Bluefish был одним из первых редакторов исходного кода на рабочем столе Linux. Он был переведен на 17 языков. Исходный код доступен по лицензии GNU General Public License .
Bluefish — это не полноценная IDE, а больше, чем просто продвинутый текстовый редактор. [18] По сравнению с IDE Bluefish не обладает такими функциями, как встроенный отладчик. [19] Его лучше описать как продвинутый редактор кода [20] со множеством веб-специфичных функций. [21] [15] Некоторые называют его веб-IDE, [22] но в нем нет компонента веб-дизайна WYSIWYG . [23] [21]
Возможности Bluefish включают подсветку синтаксиса [24] и автодополнение для 47 различных языков разметки и кода (включая синтаксис Mediawiki [25] ), настраиваемые с помощью формата определения языка XML. [26] Кроме того, он имеет сворачивание кода , автоматическое восстановление, [16] функциональность загрузки/выгрузки (в системах, где доступен GVfs ), проверку орфографии с учетом кода, [22] [16] браузер символов Unicode, поддержку проектов, [27] навигацию по коду и закладки. [28] Он имеет некоторые расширенные функции поиска и замены [21] с поддержкой регулярных выражений и поддержкой поиска и замены по нескольким файлам. Он имеет многодокументный интерфейс [29] , который может быстро загружать большие (сотни файлов) кодовые базы или веб-сайты, [20] [27] и имеет функции полноэкранного редактирования. [19]
Для веб-разработки имеется множество панелей инструментов со специальными диалогами и мастерами для автоматической вставки правильных HTML-тегов. [24] Кроме того, автодополнение для всех тегов и их атрибутов [21] вместе с Zencoding/emmet [30] помогает ускорить веб-разработку. [23]
Bluefish расширяем с помощью плагинов, внешних инструментов и скриптов. [27] [16] [31] Многие скрипты поставляются предварительно настроенными, включая статический анализ кода, а также проверки синтаксиса и разметки для различных языков разметки и программирования, таких как lint или weblint. [32] Также простая функция в стиле marco, называемая «пользовательское меню», помогает ускорить повторяющиеся действия. [18] [33] Большой набор макросов для PHP и HTML поставляются предварительно настроенными. [34]
Bluefish был основан Крисом Мазуком и Оливье Сессинком в 1998 году для содействия профессионалам в области веб-разработки на настольных платформах Linux. [35] В 1998 году была выпущена K Desktop Environment 1.0, а в 1999 году — Gnome desktop environment 1.0, так что это было в ранние дни настольных систем Linux. [36] В то время Bluefish был одним из немногих редакторов, ориентированных на веб-разработку на Linux. [37] [38] Linux, благодаря стеку LAMP (впервые представленному в 1998 году [39] ), становился самой популярной платформой веб-хостинга. [40] Bluefish быстро стал частью основных дистрибутивов Linux, таких как Debian Potato (выпущен в 2000 году), [41] Knoppix 2.1 [42] [43] (в то время самый важный дистрибутив Linux Live) и первый выпуск Fedora . [44] На ранних настольных системах Linux Bluefish был самым важным веб-редактором. [45] Различные книги о веб-разработке на Linux поэтому охватывают использование Bluefish. Например, Practical PHP and MySQL от менеджера сообщества Ubuntu Джоно Бэкона , которая даже включала настроенный Ubuntu live CD с Bluefish в качестве основного редактора. [3] [46]
Разработка Bluefish изначально была вдохновлена двумя другими редакторами: настраиваемое сканирование синтаксиса и подсветка были вдохновлены NEdit , но пользовательский интерфейс был вдохновлен Homesite , который был доступен только в Windows. Рабочее название для разработки приложения на самых ранних стадиях было Thtml editor , но это было сочтено слишком загадочным небольшим сообществом разработчиков; в течение короткого времени использовалось Prosite , но от этого отказались, чтобы избежать столкновений с компаниями по веб-разработке, уже использующими это название. [47] Наконец, название Bluefish было выбрано после того, как логотип (детский рисунок синей рыбы) был предложен в его списке рассылки. [35]
Ветка 1.0.x была выпущена в 2005 году и включала новый логотип. Релиз 1.0 был представлен на Slashdot , [48] вызвав эффект slashdot на веб-сайте Bluefish. В 2005 году был создан форк Bluefish 1.3 для создания Winefish, редактора LaTeX . [49] Ветка 2.0.x [50] была значительно переписана, сменившись на виджет GTK-2 GtkTextView и новый механизм сканирования синтаксиса, основанный на детерминированном конечном автомате . [51] Ветка 2.2.x [52] , которая является текущей стабильной веткой, поддерживает как GTK-2, так и GTK-3.
Хотя Bluefish не является официальной частью среды рабочего стола Gnome , его часто так считают, поскольку он использует инструментарий GTK и хорошо интегрируется в GNOME. [45] [53]
База открытого исходного кода Bluefish доступна на SourceForge . После короткого периода, в течение которого разработчики Bluefish обменивались исправлениями кода по электронной почте, [54] Bluefish присоединился как один из ранних проектов на Sourceforge. Сообщество присоединилось в первые несколько месяцев после запуска, в основном продвигаемое Робином Миллером , который был активным пользователем Bluefish [18] и работал в Geeknet , владеющем Sourceforge. Первоначально CVS использовался для контроля версий кода, позже код был перемещен в SVN .
Bluefish имеет хорошо зарекомендовавшую себя кодовую базу, в основном написанную на языке C [55] и использующую кроссплатформенную библиотеку GTK для своих виджетов GUI . [56] Поддержка разметки и языка программирования определяется в XML-файлах, которые загружаются с помощью Libxml2 . Для дополнительных плагинов требуются libenchant , python и libgucharmap . [57] Сборка двоичного файла выполняется с помощью Automake и Autoconf для настройки и установки среды сборки. Для компиляции Bluefish можно использовать как llvm , так и GCC . В Windows для сборки двоичных файлов используется MinGW . В OSX есть порты на Fink [58] и Macports , [59] но официальный двоичный файл собирается с помощью Gtk-OSX-Integration [60]
Bluefish имеет API плагина на языке C, но он использовался в основном для разделения неподдерживаемых частей (таких как infobrowser-plugin) от поддерживаемых частей. Существует также несколько плагинов Python, но им нужен плагин C для взаимодействия с основной программой. Bluefish также поддерживает очень слабосвязанные плагины: внешние скрипты, которые считывают стандартный ввод и возвращают свои результаты через стандартный вывод, могут быть настроены пользователем на панели настроек. [27] Различные скрипты для форматирования javascript, json, CSS и HTML включены в дистрибутив Bluefish.
{{cite web}}
: Отсутствует или пусто |title=
( помощь ){{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )Книги или обширные веб-сайты по веб-разработке, которые рекомендуют и/или освещают использование Bluefish:
Книги по Python, которые рекомендуют и/или описывают использование Bluefish:
Книги по PHP, которые рекомендуют и/или описывают использование Bluefish:
Общие книги по разработке для настольных систем Linux, которые рекомендуют и/или описывают использование Bluefish:
{{cite book}}
: CS1 maint: несколько имен: список авторов ( ссылка )