LINUX.ORG.RU

Geany 1.24 - новая версия редактора исходного кода

 , ,


0

3

Вышла новая версия Geany 1.24. В своё время на ЛОРе были депрессивные настроения по поводу развития Geany, но проект потихоньку пилят, хоть и не с такой скоростью.

В этом выпуске:

  • Scintilla версии 3.3.6.
  • Охота на баги. По редактору прошлись как валгриндом так и cppcheck-ом, пофикшено множество мелких утечек памяти, исправлена куча ошибок, улучшена совместимость с Windows.
  • Исправления внешнего вида в KDE, наведен порядок к меню, исправлена иконка и т. п.
  • Добавили экспериментально поддержку GTK3.
  • В контекстное меню списка символов добавили возможность найти использования символа.
  • В менеджер модулей добавлена кнопка быстрого перехода к сочетаниям клавиш модуля.
  • В диалог выбора цвета добавлена кнопка «применить».
  • Обновлён поросший мхом перевод на русский язык (ваш покорный слуга).
  • Автосохранение при потере фокуса.

Отдельного внимания заслуживает расширение поддержки типов файлов.

  • Добавили новые языки: CUDA, Rust, Batch, Graphviz (очень удобно — просмотр по хоткею), PowerShell, Clojure.
  • Шаблон и сниппеты для Erlang.
  • Улучшена поддержка PHP, Asciidoc, SQL, JavaScript, Java, C++, C#, Fortran, Cython, Objective-C, Verliog, Bash, Haskell, Python, R, Makefile, Latex, Bibtex.
  • Новые ключевые слова в языках: Pascal, Matlab, HTML5.

Появились новые модули:

  • pohelper (помощник переводчика) - позволяет быстро переводить po-файлы.
  • PairTagHighlighter - подсветка парных HTML тэгов.
  • autoclose — автоматическое завершение скобок и кавычек. В Geany сразу три реализации автозавершения скобок, и этот плагин призван объединить лучшее из Eclipse, QtCreator и Sublime.
  • Geanypy — поддержка Питона. Да-да, вы теперь можете писать модули на Питоне!
  • Defineformat — автоматически выравнивает обратный слэш в макросах C/C++.

Возможно, вы пропустили новость о выходе 1.23, тогда обязательно посмотрите модули:

  • Commander (в русском переводе Командир) — быстрый текстовый доступ к любым файлам или командам (что-то вроде vim/sublime). Перемещаться между сотней файлов — самое то.
  • markdown — собственно поддержка markdown и предпросмотр во встроенном браузере.
  • Scope — отладчик от Димитра Жекова.

Скачать

>>> Подробности



Проверено: fallout4all ()

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

что-то новенькое.
Текст таким редактировать нельзя.

Bad_ptr ★★★★ ()

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

ForwardToMars ()

охота на баги. По редактору прошлись как валгриндом так и cppcheck-ом, пофикшено множество мелких утечек памяти, исправлена куча ошибок, улучшена совместимость с Windows

Гуд, хотя, в общем-то, и так всё хорошо было.

обновлён поросший мхом перевод на русский язык (ваш покорный слуга)

Замечательно, спасибо.

автосохранение при потере фокуса

Недеструктивное, во временный файл, я надеюсь? Если да, то отлично.

pohelper (помощник переводчика) - позволяет быстро переводить po-файлы

Вау. Poedit теперь не нужен?

добавили экспериментально поддержку GTK3

OH GOD WHY?

Axon ★★★★★ ()
Ответ на: комментарий от ForwardToMars

Переход по коду есть (история, навигация по символам, Ctrl+клик для перехода к определению функции/переменной). Отличие от «серьёзной» IDE - универсальные парсеры тэгов, отсюда не всегда точное работает, но возможность присутствует.

RPG ()
Ответ на: комментарий от Axon

Гуд, хотя, в общем-то, и так всё хорошо было.

В основном фиксили падучие плагины. Сомневаюсь, что среди пользователей Geany есть такие, которые включают все модули подряд.

Недеструктивное, во временный файл, я надеюсь? Если да, то отлично.

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

Вау. Poedit теперь не нужен?

Ненужен:) Я переводил именно этим плагином, в Poedit с хоткеями беда. Пока чего не хватает - перехода к исходнику, но не критично. Фрэнк правда обещал прикрутить более удобную систему переводов так что возможно будет не нужен и тот и другой.

OH GOD WHY?

Опциональную же и экспериментальную. Разработчики Geany напополам из Xfce и сами не в восторге от «нововведений» GNOME.

RPG ()
Последнее исправление: RPG (всего исправлений: 1)
Ответ на: комментарий от RPG

Временный файл опционально включается.

Сойдёт, лишь бы было.

Опциональную же и экспериментальную.

Это она пока экспериментальная, а потом, глядишь, единственная...

Разработчики Geany напополам из Xfce и сами не в восторге от «нововведений» GNOME.

Хоть это обнадёживает.

Axon ★★★★★ ()

Отличные новости!

Добавили экспериментально поддержку GTK3

Вот, скоро можно будет иметь гтк3-десктоп без гнома.

Автосохранение при потере фокуса

Годнота.

И спасибо за перевод. Одна из самых нужных софтин для полноценной жизни со слабым железом.

Knigochey ()

Ох и заживём теперь!

anonymous ()

Отлично, всё отлично, спасибо за перевод тебе.

Dron ★★★★★ ()

Добавили экспериментально поддержку GTK3.

NOOOOOOOOO!!!!

anonymous ()

Отличная новость! Кучу редакторов перепробовал пока не нашел этот.


<offtop>

Проверено: fallout4all (13.04.2014 21:52:06)

пацан к успеху пришел.
</offtop>

lucky_guy ★★★ ()

Отличный редактор. Долгое время пользовался им, пока не переполз на sublime text, когда функционала стало не хватать.

ktan ★★★ ()

А поддержку json так и не запилили...

toney ★★★★★ ()
Ответ на: комментарий от toney

А в чём заключается поддержка JSON? Насколько я знаю, это не должно сильно отличаться от запиливания Graphviz. Добавить новый filetype, лексер какой-нибудь из стандартных подойдёт.

RPG ()
Ответ на: комментарий от RPG

Ctrl+клик для перехода к определению функции/переменной

Только, если файл с определением функции уже открыт в редакторе. В папке не смотрит. И вернуться назад после клика нельзя. Маркеры есть, но это не очень удобно.

А что такое «навигация по символам»?

ForwardToMars ()

обязательно посмотрите модули

Commander

Спасибо, годнота.

Worron ★★★ ()
Ответ на: комментарий от ForwardToMars

Только, если файл с определением функции уже открыт в редакторе

Верно, иначе бы разработчикам Geany пришлось для *каждого* из сотни поддерживаемых языков делать «паука», сканирующего include и т. п. - это уже не вписывается в концепцию легковесной IDE, просто поставьте себе Eclipse.

И вернуться назад после клика нельзя.

Кнопка «Вернуться на шаг назад»

А ещё есть плагин нуменрованных закладок - он сохраняет закладки и метки для каждого файла.

А что такое «навигация по символам»?

Вкладка «Символы», оттуда из контекстного меню можно искать использование любой функции по файлам. По сути, если нужна навигация по проекту, он использует grep, чтобы смотреть в папке. Это ещё можно вызвать горячей клавишей Ctrl+Shift+F.

RPG ()

Отличный редактор, долгое время был моим основным средством разработки на Питоне, пока не перешёл на третий Питон. Теперь использую Komodo. Причина в том, что различает файлы по расширению, а Py2 и Py3 не отличаются этим. К тому же подсветка синтаксиса ориентирована на 2 Питон. Кто-либо знает, есть ли в планах отдельный синтаксис для 2 и 3 Питонов и возможность определять версию по ша-бангу?

Vudod ★★★★★ ()
Ответ на: комментарий от Vudod

Отличный редактор, долгое время был моим основным средством разработки на Питоне

Сам им пользовался долгое время, а потом «просто редактора кода» мне перестало хватать.

void_ptr ★★★★ ()

Растёт Geany. Я, честно говоря, думал что сабж так и останется текстовым редактором с небольшой претензией на звание IDE, но похоже, что со временем из него полноценная IDE получится.

lucentcode ★★★★★ ()

В этом выпуске:

Scintilla версии 3.3.6.

Что это означает?

anonymous ()

Лучший редактор кода ever, srsly.

anonymous ()

Добавили новые языки: ... Rust

Ради этого и обновиться не грех!

Спасибо за перевод.

anonymous ()

Когда PPA обновят? Там всё ещё 1.23.

meequz ★★ ()

улучшена совместимость с Windows

интересно, а буфер обмена по Ctrl+С и Cи сделали что бы пахал?

NK ★★★★★ ()
Ответ на: комментарий от anonymous

я тоже так думал, пока не попробовал Sublime

anonymous ()
Ответ на: комментарий от NK

интересно, а буфер обмена по Ctrl+С и Cи сделали что бы пахал?

Замечательная возможность, чтобы проверить это:)

RPG ()
Ответ на: комментарий от Vudod

Кто-либо знает, есть ли в планах отдельный синтаксис для 2 и 3 Питонов и возможность определять версию по ша-бангу?

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

RPG ()

Добавили новые языки: CUDA,

ясно, понятно

TERRANZ ★★★★ ()

Добавили экспериментально поддержку Qt.

//фксдъ ради светлой мечты!

nanoolinux ★★★★ ()
Ответ на: комментарий от Dark_Elf

А как там с поддержкой Octave?

Такой тип файлов поддерживается, он называется Matlab/Octave.

RPG ()

наконец-то при сохранении файла по FTP сабж не зависает - ранее его приходилось убивать SIG_KILL-ом, а то и перезагружать иксы.

джва года ждал

Lincor ()
Ответ на: комментарий от Lincor

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

RPG ()

Насколько сложно под сабж делать подсветку синтаксиса? Например у меня html шаблоны со вставками типа {if}..{else}...{/if}, {$count} и т.д.

xorik ★★★★★ ()
Ответ на: комментарий от xorik

Насколько сложно под сабж делать подсветку синтаксиса? Например у меня html шаблоны со вставками типа {if}..{else}...{/if}, {$count} и т.д.

Существует два пути. Первый очень простой, второй очень сложный:)

Простой. В Scintilla существует множество готовых лексеров для разных языков: C/C++, Python, Lua, Ruby. Один из готовых лексеров можно взять за основу для «своего» языка. Далее нужно просто оформить файл filetypes, где перечислить все ключевые слова и зарядить цветовую схему. Схемы можно наследовать. Я так сделал немного кривоватую подсветку синтаксиса для RPM Spec на базе Ruby.

Сложный. Нужно добавлять вручную лексер в редактор Scintilla на C++. Больше нечего сказать, но это когда язык уж очень радикально нестандартный. Например, для C, C++, Java и JavaScript используется один и тот же лексер C++.

В вашем случае можно просто добавить ключевые слова в уже существующий лексер HTML. Подробности можно почитать в документации. Если положить filetype.html в ~/.config/geany/filetypes, он перекроет системную схему.

RPG ()
Последнее исправление: RPG (всего исправлений: 1)
Ответ на: комментарий от RPG

Такой тип файлов поддерживается, он называется Matlab/Octave.

Скажем так подсветки функций там не было например

Dark_Elf ()
Ответ на: комментарий от RPG

Хорошо спасибо, попробую. Ключевые слова это хорошо, но еще есть коментраии /* ... */, которые хотелось бы выделять, и переменные типа {$var}. Если бы сделали генерацию подсветки из регэкспов, было бы совсем замечательно.

xorik ★★★★★ ()
Ответ на: комментарий от xorik

Если бы сделали генерацию подсветки из регэкспов, было бы совсем замечательно.

Вот этого нет и не предвидится. Если кратко пересказать позицию разработчиков, то они считают использование регэкспов для подсветки синтаксиса слишком медленной, что не вписывается в их концепцию быстрого компонента редактирования. Думаю это не раз обсуждалось в ML разработчиков Scintilla. К Geany это практически никакого отношения не имеет, поскольку подсветка в Geany полностью зависит от особенностей подсветки синтаксиса в Scintilla. Этот движок развивается уже 15 лет и наверное в него не закладывалось то, что разведут такой зоопарк из языков/шаблонизаторов/синтаксисов.

Хотя на мой взгляд, ничто не мешает запилить для Scintilla модуль, понимающий схемы подсветки XML из GtkSourceView/Sublime или схемы vim. Просто кто-то должен это сделать и отправить патч:)

RPG ()
Последнее исправление: RPG (всего исправлений: 2)

Вот бы ещё автодописывание названий стилей css, и как в jedit возможность сворачивать произвольный кусок текста, а не только помеченный фигурными скобками. И ещё оттуда же разбивание окна пополам сколько угодно раз. А то имеющийся плагин какой-то убогий, у него во второй половине окна не работает ctrl+f и ctrl+s, они всегда в основную половину уходят. А ещё возможность писать шорткаты как в jedit, чтобы набрал fun, нажал ctrl+что-нибудь и получилось сразу function() {}, и курсор бы встал куда надо. Или такое есть, только я не нашёл?

anonymous ()

Geanypy

Возможно, однажды я перейду на Geany.

Gotf ★★★ ()
Ответ на: комментарий от anonymous

А ещё возможность писать шорткаты как в jedit, чтобы набрал fun, нажал ctrl+что-нибудь и получилось сразу function() {}, и курсор бы встал куда надо. Или такое есть, только я не нашёл?

Это есть, поищи немного. Рекомендую ознакомиться с официальным мануалом.

Gotf ★★★ ()
Ответ на: комментарий от anonymous

Вот бы ещё автодописывание названий стилей css

Вроде присутствует.

И ещё оттуда же разбивание окна пополам сколько угодно раз

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

А ещё возможность писать шорткаты как в jedit, чтобы набрал fun

Это называется сниппеты, набираете for<TAB> и готово. Они даже предустановленные идут очень неплохие. Можно погуглить Geany snippets и найти много примеров. Возможности невесть сколько лет уже, просто нужно один раз осилить документацию (на русском тоже есть старенькая).

Ещё рекомендую посмотреть плагин ZenCoding для Geany.

RPG ()
Последнее исправление: RPG (всего исправлений: 1)
Ответ на: комментарий от RPG

делать «паука», сканирующего include

Не надо никакие include парсить. Если файл открыть - всё отлично работает. Нужно что-то бы точно так же работало для закрытых. Не по особому, а точно так же, как будто бы все файлы в папке проекта - открыты в редакторе.

Кнопка «Вернуться на шаг назад»

Да, действительно, спасибо. Никогда не использовал панель кнопок (мешает), а в хоткеях как-то пропустил, решил что нет фичи. Теперь нашел, alt+назад.

Это ещё можно вызвать горячей клавишей Ctrl+Shift+F.

Это штука тоже полезная, но Ctrl+Click не заменяет.

ForwardToMars ()
Ответ на: комментарий от RPG

zencoding, по-моему, только вручную собирать нужно, у меня когда-то, кажется, получалось собирать плагины, но не помню из-за чего я перестал это делать (а может быть потому что как раз и не получилось из-за какой-то ошибки), теперь и редактор плагины ставлю из репозиториев, а там zencoding нету. Документацию, да, надо бы осилить, пожалуй, а то как-то мельком её пробегал, но наверное мимо самого интересного и пробежал. А, случаем, нет возможности включать/выключать отображение табов/пробелов и переносов строк не из меню, а горячими клавишами? Я в списке горячих клавиш внимательно искал, не находил.

На счёт css, оно дописывает только то, что уже встречалось в документе, по ctrl+пробел, а вот чтобы как у php с его функциями, сразу список возможных вариантов вываливался, этого нет. Может быть, это только у меня? Сижу на 1.23.1.

anonymous ()

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

anonymous ()

RPG, скажи пожалуйста, а что насчет поддержки плагина emmet (в прошло ZenCoding)? Я к нему жутко привык. Он поддерживается sublime-text, PhpStorm и так далее. А в geany как-то не очень, но хочется именно там.

coderage ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.