LINUX.ORG.RU

Geany 2.1

 , ,

Geany 2.1

0

1

6 и­юля, после более полутора лет разработки, состоялся выпуск 2.1 лёг­кой ин­те­гри­ро­ван­ной сре­ды раз­ра­бот­ки Geany. Она под­дер­жи­ва­ет бо­лее 50 язы­ков про­грам­ми­ро­ва­ния и пе­ре­ве­де­на на бо­лее чем 40 язы­ков. До­ступ­на для Linux, macOS и Windows.

Ос­нов­ное

  • Вклю­че­ны те­мы из geany-themes.
  • Испра­вле­но усе­че­ние фай­лов, со­дер­жа­щих бай­ты NUL, без вся­ких пре­ду­преж­де­ний об этом.
  • Улуч­ше­на фо­ку­си­ров­ка ок­на ре­дак­то­ра при откры­тии фай­ла из­вне.
  • Те­перь тре­бу­ет­ся GLib 2.56.
  • Об­но­вле­ны за­пол­ни­те­ли для внеш­ней ко­ман­ды пе­ча­ти — те­перь они те же, что и для ко­ман­ды сбор­ки.

Испра­вле­ния оши­бок

  • Улуч­ше­но об­на­ру­же­ние и пре­обра­зо­ва­ние ко­ди­ров­ки.
  • Испра­вле­на по­те­ря сес­сии по­сле откры­тия не­сколь­ких про­ек­тов.
  • Испра­вле­на проб­ле­ма с вы­да­чей си­гна­ла «document-activate», при­во­див­шая к сбо­ям в ин­тер­фей­се и пла­ги­нах.
  • Испра­вле­на лож­ная за­груз­ка ЦП по­сле за­пу­ска ко­ман­ды сбор­ки.
  • Исполь­зу­ет­ся бо­лее на­дёж­ный ме­тод со­хра­не­ния на­стро­ек и дру­гих вспо­мо­га­тель­ных фай­лов.
  • Испра­влен фо­кус на спи­ске бло­ков ко­да с по­мощью при­вяз­ки кла­виш.
  • Испра­вле­на ра­бо­та по­иска по­сле ре­дак­ти­ро­ва­ния па­не­ли ин­стру­мен­тов.
  • Испра­вле­ны не­де­тер­ми­ни­ро­ван­ные име­на ано­ним­ных бло­ков ко­да.
  • Испра­вле­но ото­бра­же­ние бло­ков ко­да, объ­явлен­ных не по по­ряд­ку.
  • Испра­влен воз­мож­ный не­кор­рек­тный до­ступ к па­мя­ти при ге­не­ра­ции ини­ци­алов поль­зо­ва­те­ля при пер­вом за­пу­ске.
  • Испра­вле­на сбор­ка Meson при от­сут­ствии fnmatch() или regcomp() в си­сте­ме.
  • Испра­вле­на за­ме­на за­пол­ни­те­лей в име­нах фай­лов в ко­ман­дах сбор­ки.

Ин­тер­фейс

  • До­ба­вле­на под­дер­жка по­иска Со­об­ще­ний и Вы­во­да ком­пи­ля­то­ра.
  • До­ба­вле­на под­дер­жка со­вре­мен­ных ди­ало­гов вы­бо­ра фай­лов, на­тив­ных для каж­дой плат­фор­мы.
  • Пе­ре­груп­пи­ро­ва­ны по бук­вам ти­пы фай­лов.
  • До­ба­влен фильтр для бо­ко­вой па­не­ли откры­тых до­ку­мен­тов.
  • До­ба­влен фильтр для на­стро­ек со­че­та­ний кла­виш.
  • До­ба­вле­ны раз­лич­ные на­строй­ки для про­пу­ска ди­ало­га «За­ме­нить в сес­сии».
  • Упро­щён пе­ре­нос по­иска при ото­бра­же­нии ди­ало­га под­твер­жде­ния.
  • Испра­влен лож­ный вы­бор при щел­чке по из­ме­нён­но­му из­вне фай­лу.
  • Испра­влен пе­ре­вод вклад­ки «Раз­лич­ные на­строй­ки».
  • Не­нуж­ная ко­ди­ров­ка None не ото­бра­жа­ет­ся.
  • Не ото­бра­жа­ют­ся ко­ди­ров­ки, не под­дер­жи­ва­емые в ОС.
  • На­строй­ка «Вир­ту­аль­ные про­стран­ства» пе­ре­не­се­на в «Ре­дак­тор -> Фун­кции».
  • Раз­лич­ные но­вые на­строй­ки ин­тер­фей­са.

Ре­дак­тор

  • Об­но­вле­ны Scintilla до 5.5.4 и Lexilla до 5.4.2.
  • Ра­зре­ше­ны встав­ка и авто­до­пол­не­ние для не­сколь­ких ка­ре­ток.
  • Уве­ли­че­на ми­ни­маль­ная ши­ри­на стол­бца с но­ме­ра­ми строк.

Ти­пы фай­лов

  • Об­но­вле­ны пар­се­ры: Universal Ctags p6.1.20240519.0.
  • До­ба­вле­ны ти­пы фай­лов:
    • CIL
    • Dart
    • Dockerfile
    • LESS и SCSS
    • Nix
    • Prolog
    • Raku (Perl 6)
    • SystemVerilog
    • Terraform HCL
    • TOML
    • Zig
  • Об­но­вле­ны клю­че­вые сло­ва в:
    • Fortran
    • Pascal
    • Java
    • JavaScript
    • PowerShell
    • Verilog
  • Улуч­ше­ние под­дер­жки сме­шан­ных эле­мен­тов ко­да PHP/HTML/JavaScript.
  • Улуч­ше­ние под­све­тки Shell вну­три строк.
  • Улуч­ше­ние эле­мен­тов Erlang.
  • Улуч­ше­ние под­све­тки Nim.
  • До­ба­вле­ние под­дер­жки эле­мен­тов ко­да для ти­пов фай­лов Ocaml, Meson и Forth.
  • Под­дер­жка строк в трой­ных ка­выч­ках в Java.
  • Улуч­ше­ние под­дер­жки ком­мен­та­ри­ев в Groovy.
  • Испра­вле­ние под­све­тки клю­че­вых слов COBOL.
  • Ра­споз­на­ва­ние shell-скрип­тов при исполь­зо­ва­нии busybox.
  • Те­перь распоз­на­ют­ся:
    • как Pascal: .lpr;
    • как JavaScript: .mjs, .cjs и .jsx;
    • как TypeScript: .mts, .cts и .tsx;
    • как Python: .pyi;
    • как HTML: .tmpl и .vue.

Пла­ги­ны

  • FileBrowser: Исполь­зу­ет xdg-open для откры­тия внеш­них фай­лов по умол­ча­нию, в Linux и дру­гих си­сте­мах.
  • SaveActions: До­ба­вле­на под­дер­жка для «по­сто­ян­ных бе­зы­мян­ных до­ку­мен­тов».

Microsoft Windows

  • До­ба­вле­на под­пись уста­нов­щи­ка с по­мощью SignPath.io.
  • Исполь­зу­ет­ся Consolas в ка­че­стве мо­но­ши­рин­но­го шриф­та по умол­ча­нию.
  • Улуч­ше­на под­дер­жка Meson.
  • Те­ма те­перь при­ме­ня­ет­ся к стро­ке за­го­лов­ка ок­на.
  • Знач­ки на па­не­ли ин­стру­мен­тов по умол­ча­нию те­перь име­ют мень­ший раз­мер.
  • Испра­вле­но откры­тие не­ко­то­рых URI справ­ки.

API

  • До­ба­влен Plugin Extension API, поз­во­ля­ющий пла­ги­нам брать на се­бя не­ко­то­рые фун­кции для вы­бран­ных до­ку­мен­тов, вклю­чая авто­до­пол­не­ние, пе­ре­ход к эле­мен­ту ко­да, под­све­тку эле­мен­тов ко­да и ото­бра­же­ние под­сказ­ки вы­зо­ва.
  • До­ба­влен symbols_get_icon_pixbuf().
  • До­ба­влен си­гнал document-before-save-as.
  • До­ба­влен си­гнал geany-before-quit.
  • На­стро­ено вну­трен­нее со­сто­яние при от­прав­ке си­гна­ла document-new, что­бы оно бы­ло бли­же к со­сто­янию при от­прав­ке си­гна­ла document-open. Это не дол­жно по­вли­ять на боль­шин­ство поль­зо­ва­те­лей, но испра­вля­ет сбой в пла­ги­не Overview.

Ло­ка­ли­за­ция

  • Об­но­вле­ны пе­ре­во­ды: cs, da, de, es, fr, nl, pt, pt_br, ru, sk, zh_TW.
  • До­ба­вле­ны пе­ре­во­ды: ltg, ta.

>>> Список изменений на geany.org

★★★★

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

Сильно не хватает поддержки нескольких вкладок во встроенном терминале. Было бы очень удобно запустить в одной вкладке серверную часть, в другой - клиентскую, в третьей орудовать с git.

nio-kun
()

Что-то сегодня на сайте не нашёл, хотя вчера вроде бы видел список изменений плагинов.
https://github.com/geany/geany-plugins/releases/tag/2.1.0.

Из главного:

  • New plugin: LSP (Language Server Protocol) plugin
  • GeanyLua. Welcome to the new maintainer, @xiota!
dataman ★★★★★
()
Ответ на: комментарий от nio-kun

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

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

Так это ИДЕ или нет? Какой ключевой фактор определяет?

Возможность работать не меняя программу? Тогда VSCode, Emacs, Vim тоже IDE. И это выглядит вполне справедливо.

Возможность начать работу без предварительной настройки? Плагины устанавливаются в пару кликов. Да и в традиционных IDE тоже нужно ставить всякие «плагины», например для доступа к бд.

Вся проблема в слове “integrated.” В программах очень много чего интегрируется. Даже браузер — это интеграция HTML и HTTP (и ещё много чего). Тогда почему считается, что «мощные» текстовые редакторы не ИДЕ, не понятно.

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

Раньше ключевым фактором была сборка проекта. То есть создаёшь проект в ИСР и не надо париться с мейкфалами и сборкой. Туда же шла подсветка ошибок из выхлопа компилятора.

u-235
()

если хотят оставаться востребованными нужно стартовать ИИ плагин типа cline для vscode
либо останутся за бортом

долгих лет жизни проекту

olelookoe ★★★
()

Исправлено усечение файлов, содержащих байты NUL, без всяких предупреждений об этом.

Разрешите поинтересоваться, в целях повышения образованности: что за байты NUL? И в каком смысле усечение?

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

Это надо читать https://github.com/geany/geany/issues/3700:

I realized today there can be an issue in Geany core, as text files which inadvertently contain character ‘\0’ (NUL character) in the middle of it (for instance, a log file), are only read (or represented) until that point. I have tested both Geany 1.38.0 and Geany 2.0, and both of them behave in the very same way.

Comparatively, I have tried other editors, like vim, nano, Kate or the ancient NEdit, and no one of them suffer from this bug.

Could you fix it, please?

И https://github.com/geany/geany/issues/3686:

Is there a way to force Geany to open ANY file it doesn’t recognize as plain text or ASCII? I don’t care for syntax on some of the files, I just want to see the raw contents. NotePad++ didn’t have any issue in opening whatever and displaying it (even binary files) so can Geany do that?

Ответ: 😀

No, Geany cannot open files with a NUL byte in them, it is written in C where NUL means end of string. Notepad++ is written in C++ which can handle strings with NUL in them. Also Geany assumes that the buffer contents are UTF-8, so as a file is opened its encoding is converted to UTF-8. So if it can’t find an encoding that works it won’t open the file.

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

Бракоделы. Символ с кодом нуля важен только стандартным функциям типа printf()/scanf() и аналогичным, а у Geany целый мега редактор с рендерингом текста, могли бы и не заморачиваться на символ нуля.

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

Стоп, стоп, стоп… Это не тот ли символ, который у меня в notepad++ отображался как чёрный кирпич с белыми символами, чи NUL, чи NULL??? Это ещё когда я увлекался ковырянием игры Сталкер. Он там в конфигах некоторых мешал - виден только когда включаешь отображение скрытых символов, хм🤔

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

Не-не, я не отвечал, просто высказал мысли вслух. Тебе спасибо за цитаты!

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

Я не совсем понял ответ, потому что Lexilla и Scintilla таки на C++.

и кстати оригинал SciTE удобнее,легче и сильно быстрее. И не пытается делать вид что он IDE.

Geаny как-то подзастрял между редактором кода и средой разработки. Как мартышка из анекдота про умных и красивых

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

Так это ИДЕ или нет? Какой ключевой фактор определяет?

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

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

оригинал SciTE удобнее,легче и сильно быстрее

Для исследования исходников C/C++ Geany всё-таки удобнее.
SciTE я редко использую только из-за этого: Lexilla 5.4.3, Scintilla 5.5.5, SciTE 5.5.5 (комментарий).

Ну вот SciTE умеет так, например.

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

Глупости, поддерживает это значит поддерживает сам, а всякие отдельные внешние штуки для обработки конкретных языков это опции которые не все захотят настраивать (я не захочу например).

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

Прикол в том что настраивать там ничего не нужно. Правда я еще не понял почему этот ЛСП еще не в самих языках, ну да ладно.

А так поставил ИДЕ, хочешь писать на (не побоюсь этого слова rust) поставил rust в систему, хлоп и твой ИДЕ сразу все уже может. На чем пишешь то уже сразу поддерживается ИДЕ.

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

Правда я еще не понял почему этот ЛСП еще не в самих языках

Что значит «в самих языках», зачем?

хочешь писать на (не побоюсь этого слова С++) поставил clangd в систему, хлоп и твой ИДЕ сразу все уже может.

Починил. :)

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

Что значит «в самих языках», зачем?

Чтобы выбирать любую удобную для тебя ИДЕ и не мучаться ни с чем.

пишешь ты к примеру на gcc-15.1.1 а там сразу в комплекте gcc-15.1.1-lsp поставил этот пакет и все.

Внесли что то новое в gcc-15, компилятор это парсит и понимает. И установка gcc-15-lsp тоже даст все это понимать уже IDE. Чем плохо?

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

This is Geany 1.36

Им бы офиц. скриншоты обновить уже.

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

Только LSP для C/C++ просто так не работает, нужно проект настраивать, и желательно именно на CMake, иначе нужны еще дополнительные костыли. И даже после этого LSP будет подсвечивать красным и ломаться от малейшего нарушения структуры, использования нестандартных расширений, внешнего препроцессора.

А у Geany устойчив к расширениям, макросам, ошибкам, ее парсер всегда работает, за что и люблю. Поля, функции, переменные, символы собирает, ctags-теги использует, а что еще надо?

Начинаешь изменять сигнатуру функции в VSCode, и Ctrl+Mouse1 уже не работает, не переходит между .h/.c, потому что не может найти ту же функцию, а в Geany все работает, он по имени сопоставит.

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

Вот я гляжу вы продвинутый пользователь сабжа, помнится что в 2.0 ввели экспериментальную поддержку meson, что то я не понял. Оно в 2.1 также осталось?

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

Чтобы вменяемо работало надо постоянно «compile_commands.json» генерить, а так да, если написать какую-то строку, которую он не может разобрать, то всё что ниже по коду ломается, особенно всё начинает ломаться, когда правишь .h файлы. Иногда может просто заглючить и перестать нормально работать пока не перезапустишь.

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

Не пользуюсь meson, не могу ответить. Да и geany у меня версии v1.37.1, мне он интересен как редактор с продвинутыми возможностями, а собирать мне привычнее в консоли без помощи сторонних программ.

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

в 2.0 ввели экспериментальную поддержку meson, что то я не понял. Оно в 2.1 также осталось?

Осталось, да. Но в плагинах только configure.ac.

dataman ★★★★★
()

А это нормально, что полезная область по высоте занимает только пол экрана?

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

Для некоторых это все и есть полезная область. А я до состояния блокнота обрезаю элементы интерфейса (верхний пример): www.linux.org.ru/images/21308/original.png

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

Чё-то я не понял…

Multipaste вроде заработал. А где multiple carets как таковые? Или это всё ещё rectangular block?

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

Тогда почему считается, что «мощные» текстовые редакторы не ИДЕ, не понятно.

Потому что текстовый редактор – удобно и быстро.

IDE – переусложнённое, отсталое, тормозное говно.

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

Ну это из разряда «с какого количества камушков начинается куча».

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

А где multiple carets как таковые?

Alt-Shift-⬆, Alt-Shift-⬇ и Ctrl-Shift-<левый клик>?

И уже больше года висит PR https://github.com/geany/geany/pull/3899 – «Support for multiple carets»:

This is just a quick test of multiple carets for Geany. IMO we don’t need a full support of everything working on multiple carets, users typically just need to insert/delete things at multiple places simultaneously for which this is sufficient.

Ideally, this should be mapped to alt+click as this is what vscode does and also we use alt+shift for the block caret. I only did run into a problem on macOS where (currently in a virtual machine) I get GDK_MODIFIER_RESERVED_25_MASK instead of GDK_MOD1_MASK but I’m always confused with GDK events so I’m maybe doing something wrong.

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

Так это ИДЕ или нет? Какой ключевой фактор определяет?

Для меня:

  • дружит с системой сборки (CMake, make)?
  • подсветка синтаксиса (plugin)
  • Дебаггер в неё интегрируется?
  • autocomplete (plugin)

Если это есть, то IDE :)

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

Alt-Shift-⬆, Alt-Shift-⬇ и Ctrl-Shift-<левый клик>?

Насколько я вижу – это блочное выделение.
Первую-третью-пятую строки таким образом не выделить.

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

Ну, paste в выделенный блок починили – уже хорошо.

frob ★★★★★
()

Хм, помнится их основной разработчик говорил, что Женя достиг всего чего можно было только хотеть и смысла в новых релизах как бы и нет... Очень хороший редактор, единственная достойная конкуренция notepad++. Использую для написания среднесложных сценариев на bash, простеньких утилит на плюсах, Lua, просмотра JSON, yaml, xml. Так же когда на горячую надо сделать замену с регулярками в логах.

splinter ★★★★★
()

Я так и не понял позиционирования этой Быстрой и легковесной среды разработки. Одно время её использовал, но не хватало возможностей, ушёл на NetBeans (это было давно, сейчас давно уже VSCode). Но до сих пор стоит по старой памяти. Как текстовый редактор тоже не очень удобно использовать, интерфейс перегружен для такого.

Feonis ★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.