Помесь IDE и текстового редактора с открытым исходным кодом?

Я инженер-программист в небольшой компании-разработчике. Я только недавно перевел свою компанию в движение с открытым исходным кодом. Весь наш неклиентский код имеет открытый исходный код, мы запускаем все наши серверы и рабочие станции на Linux и т. д.

Я использую Kate в качестве текстового редактора в Ubuntu уже довольно давно, но в нем отсутствуют некоторые функции, которые мне бы хотелось иметь. Я хотел бы что-то со следующими характеристиками...

  • Бесплатный и с открытым исходным кодом
  • Подсветка кода для JavaScript, HTML, CSS, SCSS и PHP. (Бонус для Python и Ruby)
  • Автодополнение кода для тех же языков, о которых я упоминал выше.
  • Либо встроенный терминал, либо наличие плагина для терминала.
  • Удаленное редактирование SFTP/FTP.
  • Возможность открыть каталог, а не один файл. (как удаленно, так и не удаленно).
  • Если программа представляет собой IDE, она должна быть легковесной. (Не что-то тяжелое, как Eclipse или Netbeans.)

Я также был бы в восторге, если бы он мог осуществлять контроль версий и иметь возможность вносить изменения с помощью Git.

Я не уверен, доступен ли последний критерий в какой-либо среде IDE или текстовом редакторе. Сегодня я просмотрел довольно много в поисках того, который соответствовал бы моим условиям, и ни один из них не смог открыть каталог. Если это невозможно или в настоящее время нигде не доступно, объясните почему, если вы знаете почему, и предложите альтернативу.

Вы пробовали atom.io ? У меня нет времени, чтобы полностью проверить, но я уверен, что он соответствует всем вашим требованиям.
Я думаю, вам следует пересмотреть Eclipse. Это определенно тяжелее, чем vi, но большую часть времени я запускаю три экземпляра (три рабочих пространства) вместе с множеством других вещей, так что это не страшно. В нем нет встроенной интеграции с git/svn, но есть плагины для обоих.
Хм. Я только что попробовал Eclipse сегодня. Меня это не очень впечатлило. Это кажется неуклюжим, с множеством случайных, непонятных функций, которые вы видите на своем лице. Не говоря уже о том, что мне было трудно понять интерфейс плагина. Мне также было трудно смириться с тем фактом, что Eclipse не очень удобен для смены языка.
Почему бы вам не захотеть IDE? Как вы планируете отлаживать без bereakpoints?
Кто сейчас занимается отладкой с помощью точек останова? Если, конечно, вы не реверсируете двоичный файл без исходного кода. :-)
Попробуйте Komodo отредактировать, это здорово. Symtax ​​подсвечивает завершение кода. Встроенный FTP-клиент и множество плагинов. Я использую его больше, чем Sublimetext
Обычным термином для «помеси IDE и текстового редактора» будет «редактор программиста». Популярные инструменты *nix, такие как Emacs и Vim, имели подобные функции на протяжении десятилетий.

Ответы (2)

Atom — очень хороший текстовый редактор, отвечающий вашим требованиям.

  • Бесплатный и с открытым исходным кодом
  • Подсветка кода для JavaScript, HTML, CSS, SCSS и PHP. (Бонус для Python и Ruby)
  • Автодополнение кода для тех же языков, о которых я упоминал выше.

Проверять. Atom имеет открытый исходный код и включает подсветку кода для упомянутых вами языков. Некоторые функции автодополнения предоставляются через пакеты .

  • Либо встроенный терминал, либо наличие плагина для терминала.

Выбирайте.

  • Удаленное редактирование SFTP/FTP.

Я не уверен насчет этого, но вы упомянули, что работаете над Ubuntu. Обычно я просто монтирую ресурс, используя File → Connect to server в Nautilus, и использую Atom или другие редакторы для работы с файлами. Если вы действительно хотите, чтобы Atom управлял им, этот пакет кажется хорошим местом для начала.

  • Возможность открыть каталог, а не один файл. (как удаленно, так и не удаленно).

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

Панель навигации в Atom

  • Если программа представляет собой IDE, она должна быть легковесной. (Не что-то тяжелое, как Eclipse или Netbeans.)

Легкость может означать разные вещи для разных людей. Atom работает на Electron (на основе Chromium). Он запускается немного медленно, и у него могут быть проблемы с большими файлами, однако я считаю, что с ним вполне нормально работать в системе с 4 ГБ ОЗУ.

Я также был бы в восторге, если бы он мог осуществлять контроль версий и иметь возможность вносить изменения с помощью Git.

Atom разработан GitHub. Цвета, которые вы видите на панели навигации, представляют статус каждого файла. Я не использую его, но этот пакет , похоже, предоставляет приятные функции Git с сочетаниями клавиш.

Мне очень, очень нравится Атом. Проект сильно изменился с тех пор, как я видел его в последний раз. Пакет terminal-plus — лучшая реализация этой функциональности, которую я когда-либо использовал. К сожалению, пакеты удаленного редактирования файлов SSH ужасны. Ограничено открытием одного файла за раз или требует субсерверов на обоих концах и т. д.
На самом деле я не понимаю, почему вы хотите, чтобы Atom обрабатывал ваше SSH-соединение. Пусть Наутилус сделает это. ;-)
Я тоже это пробовал. Atom жалуется, что не может удалить файлы, я не могу ничего сохранить и т. д., когда монтирую сервер.
@Allenph Вы уверены, что у вас нет проблем с разрешениями?
Ммм. Удаленный сервер - Debian. Жалуется на отсутствие корзины для мусора и т.д.

Geany (произносится как «джинн») — GPL2, легкий , выделяет указанные языки OP, выполняет завершение кода, имеет встроенный терминал (или терминал с вкладками плагина) и т. д.

FTP и открытие каталогов — нет , но вроде да — разработчики рекомендуют монтировать удаленные файловые системы с помощью Fuse или LUFS , которые предоставляют те же функции, что и FTP и др.

Контроль версий ( git , subversion и т. д .) можно получить с помощью плагина GeanyVC и git-changebar для нескольких других функций git .

На самом деле, сегодня я чуть раньше баловался с Джини. Основная проблема, с которой я столкнулся, заключалась в том, что он, казалось, был очень разборчив в том, как индексировать проекты. Из того, что я смог найти в Интернете, вы должны сохранить в своем проекте файл конфигурации .geany, который явно определяет, какие файлы принадлежат этому проекту. Простое создание проекта Laravel в одиночку было бы кошмаром для индексации вручную.