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 ()
Последнее исправление: Wizard_ (всего исправлений: 5)

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

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

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 ★★★
()
Ответ на: комментарий от 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 ★★★★★
()

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

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

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

anonymous
()

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

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

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

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

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

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

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

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

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

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

RPG
() автор топика

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

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

TERRANZ ★★★★
()

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

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

nanoolinux ★★★★
()

наконец-то при сохранении файла по 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
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.