Редактор/IDE с открытым исходным кодом для Linux и Windows

На данный момент я использую Sublime Text 3, но я ищу для него альтернативу с открытым исходным кодом, которая:

  • Бесплатно, бесплатно и с открытым исходным кодом
  • Доступно как минимум для Linux и Windows
  • Использует родную тему GTK в Linux.
  • Имеет подсветку синтаксиса, по крайней мере:
    • HTML (с Jinja2)
    • CSS
    • Стилус
    • СКСС
    • JS
    • ТС
    • Вью
    • питон
    • Ржавчина
    • С++
  • Имеет линтинг, по крайней мере:
    • HTML
    • JS
    • ТС
    • Вью
    • питон
  • Обладает интеллектом кода, по крайней мере, для:
    • питон
    • JS
  • Имеет Эммет
  • Имеет EditorConfig
  • Имеет файловое дерево слева
  • Имеет встроенный терминал
  • Имеет раздельный вид, а-ля плагин Origami для ST3
  • Подсвечивает скобки, а-ля плагин BracketHighlighter для ST3
  • Показывает желоб перед строкой, содержащей цвет, как плагин Gutter Color для ST3.
  • Может легко обрабатывать большие файлы (журналы от ~ 300 МБ)

Приятно иметь:

  • Интеграция с контролем версий для:
    • Гит
    • Меркуриал
  • Система плагинов
Что вы считаете "большим файлом"? Без определения это субъективно. Что касается кода, то все, что занимает сотни килобайт, может считаться большим. Для лог-файлов все, что составляет сотни мегабайт, может считаться большим.
@gabe3886: Большие файлы — это журналы размером около 300 МБ…
@ wb9688 Отредактируйте свой вопрос, чтобы предоставить дополнительную информацию, а не публиковать в комментариях.
Для Notepad++ есть плагин для поддержки Emmet.

Ответы (5)

Emacs имеет множество функций, которые вы ищете, встроенные или которые могут быть добавлены через пакеты. Так что, если Emacs не поставляется со встроенной функцией, которую вы хотите, у него есть более 50 лет поддержки и настройки для добавления функций. Лучше всего он поддерживается в дистрибутивах GNU/Linux, но также имеет версии для Windows и OS X.

Для подсветки синтаксиса он поставляется с AWK, BASH, C/Cpp, Python, Fortran, Java, JavaScript, PHP, Pascal и HTML. Любой другой синтаксис языка может быть добавлен в каталог.

Emacs поставляется с тремя командами для запуска оболочек по умолчанию: Mx shell, Mx term и Mx xterm. Таким образом, вы получаете не один вариант терминала, а три. Терминал можно разделить на несколько окон и переключаться между ними с помощью сочетания клавиш.

Поскольку Emacs был написан с учетом Лиспа, подсветка круглых скобок встроена так же, как и скобки.

Хотя изучение всех сочетаний клавиш требует времени, чтобы научиться и привыкнуть к ним, существуют также версии с графическим интерфейсом. А если вы предпочитаете Vim, вы даже можете запустить его версию в Emacs под названием Evil. Вы можете посмотреть их веб-сайт или их экскурсию , чтобы увидеть, подходит ли это для того, что вы ищете!

Atom хорош, хотя он может не соответствовать вашим ожиданиям, и вам может потребоваться установка плагинов.

Он очень хорош, совместим с большинством тем GTK и хорошо работает с большими файлами. Единственным недостатком является то, что, поскольку он построен с использованием веб-технологий, обычно он запускается немного медленно, но потом работает безупречно.

Использует ли он мою родную тему GTK? Может ли он легко обрабатывать большие файлы? Я так не думаю…
Да, я использую его. Он очень хорош, совместим с большинством GTKтем и хорошо работает с большими файлами. Единственным компромиссом является то, что, поскольку он построен с использованием веб-технологий , он обычно немного медленно запускается, но затем работает безупречно .

Visual Studio Code — сильный кандидат. Он поставляется с большим количеством готовых функций, чем Atom, и заметно быстрее (несмотря на то, что он построен на том же фундаменте).

Это бесплатно и с открытым исходным кодом. Он доступен для Linux и Windows (и Mac). Я, честно говоря, не знаю, использует ли он GTK в Linux, но у него очень много тем, и доступно множество сторонних тем.

Он поставляется с подсветкой синтаксиса для HTML (не уверен насчет Jinja2), CSS, SCSS, JavaScript, TypeScript (было бы странно не сделать этого, так как это основной язык разработки для всего проекта), Python, Rust и C++. (И множество других.) Поддержка Stylus и Vue доступна через расширения.

Имеет линтинг для множества языков, часто реализуемый как интеграция с установленными существующими проектами линтера. Я уверен, что если вы включите доступные расширения, у вас будет то, что вам нужно.

Не уверен , какие именно функции подразумеваются под «анализом кода», но определенно есть поддержка IntelliSense для множества языков.

Имеет Emmet и встроенный терминал.

Имеет интеграцию с Git и, очевидно, систему плагинов.

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

Он также совершенствуется довольно впечатляющими темпами. Это более молодой проект, чем Atom, но он уже в основном догнал, если не превзошел Atom.

Небольшой лакомый кусочек для пользователей Sublime Text: VS Code специально пытается эмулировать поведение завершения скобок ST, а не Atom (они немного отличаются). Вероятно, есть ряд других дизайнерских решений, в которых VS Code пытался следовать примеру ST. Хотя, честно говоря, все эти три редактора (Sublime Text, Atom, VS Code) вполне хороши, и в Интернете полно постов в блогах и комментариев на форумах от людей, которые переключались во всех направлениях (а часто и обратно) между тремя.

CudaText почти подходит. Большинство вещей делается через аддоны: линтеры, лексеры, плагины. Открытый исходный код, кроссплатформенный. Он использует тему GTK2, если Linux.

CudaText

  • Однако поддержка файлов BIG очень ограничена. (Не могу использовать лексеры).
  • Не хватает одного-двух лексеров из того, что вы упомянули.
  • Отсутствует аналитика кода для JS (это еще не сделано). Подарок для Python.
  • Линтеры здесь, используя аддон CudaLint. Не хватает одного-двух лексеров.

Для Windows:

Вы можете использовать Notepad ++ , он имеет множество функций , таких как:

  • Подсветка синтаксиса и свертывание синтаксиса
  • Пользовательская подсветка синтаксиса и свертывание: снимок экрана 1, снимок экрана 2, снимок экрана 3 и снимок экрана 4
  • PCRE (Perl-совместимое регулярное выражение) Поиск/Замена
  • Полностью настраиваемый графический интерфейс: минималистичный, вкладка с кнопкой закрытия, многострочная вкладка, вертикальная вкладка и вертикальный список документов
  • Карта документа
  • Автозавершение: завершение слов, завершение функций и подсказка параметров функций
  • Мультидокумент (интерфейс с вкладками)
  • Мультипросмотр
  • WYSIWYG (печать)
  • Увеличение и уменьшение масштаба
  • Поддерживается многоязычная среда
  • Закладка
  • Запись и воспроизведение макросов
  • Запуск с разными аргументами

Для Linux (также для Windows):

Вим вернулся..!

Я не знаю об этом больше, но я думаю, что это похоже на Gedit , который используется в среде GNOME.

Но Sublime Text 3 безупречен