DLang IDE [RU]
Да простят англоязычные участники :) С попеременным успехом пытаюсь оседлать DLang IDE, связи с чем накопился ряд вопросов, прежде всего к автору. Рабочая станция: I3-550, ОС Windows 7 Pro SP1 русская, 32 битная. 1. Невозможно собрать как IDE, так и любой пример из DlangUI, если в профиле пользователя windows используются символы кириллицы. Компиляция через DMD/LDC падает на DlangUI с: module exception is in file 'C:\Users\русский_юзернейм\AppData\Roaming\dub\packages\derelict-util-2.0.6\derelict-util\source\derelict\util\exception.d' which cannot be read 2. Под англоязычной учетной записью windows последняя удачная сборка IDE была 0.7.45 или 0.7.46, дальше DMD начал падать с "Out of memory", LDC также начал выдавать ошибку. Проблема также похоже во "внутренностях" DlangUi, так как примеры DLangUi не собираются ровно с теми же симптомами. Пробовал как советовалось в рекомендациях чистить папку с "кашем" dub, но безрезультатно. 3. Баг непосредственно DLang IDE: при создании "главного" файла пакета package.d в новом файле не корректно прописывается строчка module, создается строка вида "module mypackage.package", когда должна быть "module mypackage" Есть также несколько небольших пожеланий по улучшению "юзабилити", но тут конечно на усмотрение автора. 1. Добавить возможность выбора размера шрифта для области редактирования. Я крайне редко меняю подобные настройки в IDE, но в данном случае дефолтный шрифт оказался откровенно мелковат (возможно под Linux ситуация несколько иная), пришлось за не имением выбора размера шрифта искать более крупный шрифт. 2. В области Workspace Explorer на одном уровне иерархии модули и пакеты сортируются по алфавиту, но "вперемешку" с друг другом, в отличие от того же Notepad++, где сначала по алфавиту сортируются пакеты, а потом модули. Понимая, что такой режим также может оказаться неудобным для части пользователей, предлагаю сделать настройку с режимом сортировки. И если, файлы package.d имеют некий "особый" статус в языке, возможно имеет смысл выделять их как-то (например другой иконкой или font.bold=true) 3. Очень непривычное поведение редактора при копипасте строки. Обычная комбинация: Home, Shift+End (выделяется вся строка), Ctrl+C, End (для снятия выделения), Enter (для перехода на другую строку), Ctrl+V оканчивается тем, что End после Ctrl+C не снимает выделение строки (как это делали все известные мне до сих пор редакторы, даже консольный редактор в Far Manager), а последующий Enter не переводит каретку, а удаляет выделенную строку. Возможно, опять же, это какое-то неизвестное мне каноническое поведение, но крайне неудобно. P.S. В любом случае, Вадим, огромное спасибо за проделанную работу. Если нужна какая-то более подробная информация по проблемам с компиляцией, то не стесняйтесь, спрашивайте. Но как я понимаю скриншоты этот форум не поддерживает. Возможно есть какой-нибудь другой вариант "русскоязычного" обсуждения IDE/GUI, например через e-mail или русскоязычный форум, чтобы не залезать сюда или на гитхаб со своим русским самоваром? Я к сожалению, при достаточно свободном чтении на английском, не могу того же сказать скилл чукчи-писателя, но добавить свои пять копеек иногда хочется :D
Re: DLang IDE [RU]
Из более серьезных улучшений, я бы предложил возможность в Workspace Explorer добавлять пакеты, переименовывать пакеты / модули, перемещать пакеты / модули и удалять пакеты / модули. Но это, очевидно уже будет требовать некоторых усилий на реализацию. А так, за неимением, IDE работает впаре с файловым менеджером (в моем случае это проводник Winodws или Far).
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 1. Добавить возможность выбора размера шрифта для области редактирования. Я крайне редко меняю подобные настройки в IDE, но в данном случае дефолтный шрифт оказался откровенно мелковат (возможно под Linux ситуация несколько иная), пришлось за не имением выбора размера шрифта искать более крупный шрифт. Submitted issue / feature request: Add editors default font size setting https://github.com/buggins/dlangide/issues/249
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 16:18:25 UTC, TM wrote: Из более серьезных улучшений, я бы предложил возможность в Workspace Explorer добавлять пакеты, переименовывать пакеты / модули, перемещать пакеты / модули и удалять пакеты / модули. Но это, очевидно уже будет требовать некоторых усилий на реализацию. А так, за неимением, IDE работает впаре с файловым менеджером (в моем случае это проводник Winodws или Far). File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя.
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 2. В области Workspace Explorer на одном уровне иерархии модули и пакеты сортируются по алфавиту, но "вперемешку" с друг другом, в отличие от того же Notepad++, где сначала по алфавиту сортируются пакеты, а потом модули. Понимая, что такой режим также может оказаться неудобным для части пользователей, предлагаю сделать настройку с режимом сортировки. И если, файлы package.d имеют некий "особый" статус в языке, возможно имеет смысл выделять их как-то (например другой иконкой или font.bold=true) Надо исправлять, просто не замечал. Issue submitted: https://github.com/buggins/dlangide/issues/250
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 3. Баг непосредственно DLang IDE: при создании "главного" файла пакета package.d в новом файле не корректно прописывается строчка module, создается строка вида "module mypackage.package", когда должна быть "module mypackage" Issue submitted: https://github.com/buggins/dlangide/issues/251
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 3. Очень непривычное поведение редактора при копипасте строки. Обычная комбинация: Home, Shift+End (выделяется вся строка), Ctrl+C, End (для снятия выделения), Enter (для перехода на другую строку), Ctrl+V оканчивается тем, что End после Ctrl+C не снимает выделение строки (как это делали все известные мне до сих пор редакторы, даже консольный редактор в Far Manager), а последующий Enter не переводит каретку, а удаляет выделенную строку. Возможно, опять же, это какое-то неизвестное мне каноническое поведение, но крайне неудобно. Это баг. Действительно, неудобно. DlangUI issue is submitted: Editors: selection is not removed after End key press https://github.com/buggins/dlangui/issues/421
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 2. Под англоязычной учетной записью windows последняя удачная сборка IDE была 0.7.45 или 0.7.46, дальше DMD начал падать с "Out of memory", LDC также начал выдавать ошибку. Проблема также похоже во "внутренностях" DlangUi, так как примеры DLangUi не собираются ровно с теми же симптомами. Пробовал как советовалось в рекомендациях чистить папку с "кашем" dub, но безрезультатно. Наверное, после недавних изменений с compile time reflection для поиска property в виджетах стало есть больше памяти при компиляции. Какой размер RAM? В Releases я в последнее время выкладываю win32 binary. https://github.com/buggins/dlangide/releases
Re: DLang IDE [RU]
On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 1. Невозможно собрать как IDE, так и любой пример из DlangUI, если в профиле пользователя windows используются символы кириллицы. Компиляция через DMD/LDC падает на DlangUI с: module exception is in file 'C:\Users\русский_юзернейм\AppData\Roaming\dub\packages\derelict-util-2.0.6\derelict-util\source\derelict\util\exception.d' which cannot be read Вероятно, проблема с utf8 именами файлов в DMD frontend.
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел
Re: DLang IDE [RU]
Наверное, после недавних изменений с compile time reflection для поиска property в виджетах стало есть больше памяти при компиляции. Какой размер RAM? В Releases я в последнее время выкладываю win32 binary. https://github.com/buggins/dlangide/releases Да, бинарными релизами теперь и пользуюсь Памяти 4гб, доступно на 32 битах 3,49. Out of memory выдает на 2.075.1 и 2.076. Вчера попробовал, сборки с config console / mininal проходят, с default вылет.
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 13:52:35 UTC, Vadim Lopatin wrote: On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 1. Невозможно собрать как IDE, так и любой пример из DlangUI, если в профиле пользователя windows используются символы кириллицы. Компиляция через DMD/LDC падает на DlangUI с: module exception is in file 'C:\Users\русский_юзернейм\AppData\Roaming\dub\packages\derelict-util-2.0.6\derelict-util\source\derelict\util\exception.d' which cannot be read Вероятно, проблема с utf8 именами файлов в DMD frontend. Странно, что мой проект под русскоязычным аккаунтом собирается без проблем.
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 14:06:56 UTC, TM wrote: On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел Удобного создания package нет, можно использовать workaround: File / Create / New File или в Workspace Explorer на src или поддиректории контекстное меню / new file Template: Empty module В location выбрать директорию (создать новые директорию / поддиректорию). Например, внутри projectname/src создаем директорию api, затем core В module name - package Создается файл с содержимым module api.core.package; меняем на package api.core;
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 14:06:56 UTC, TM wrote: On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел Удалять - в Workspace Explorer - контекстное меню на файле, Delete Удаляет только файлы. Файлы удаляются из файловой системы, нет возможности просто выкинуть из проекта, а сам файл - оставить. После удаления всех файлов из папки из проекта пропадет папка (в файловой системе останется).
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 14:33:18 UTC, Vadim Lopatin wrote: On Wednesday, 6 September 2017 at 14:06:56 UTC, TM wrote: On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел Удобного создания package нет, можно использовать workaround: Уже не нужен workaround: https://github.com/buggins/dlangide/issues/251 File / Create / New File или в Workspace Explorer на src или поддиректории контекстное меню / new file Template: Package
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 14:33:18 UTC, Vadim Lopatin wrote: On Wednesday, 6 September 2017 at 14:06:56 UTC, TM wrote: On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел Удобного создания package нет, можно использовать workaround: Да тут ключевое слово "удобный", пока удобней создавать через сторонний файловый менеджер. В Netbeans в его аналоге "Workspace Explorer" правый клик и в контекстном меню на выбор Новый -> Папка, класс, пакет, интерфейс и т.д. Хорошо, если бы чтото подобное было реализовано в Dlang IDE. В Workspace Explorer есть еще один если не баг, то не очень удобный момент: при закрытии вкладки с кодом или при создании нового модуля, то есть по сути при "рефреше" дерева слетает текущее позиционирование курсора и состояние закрытых открытых узлов дерева. То есть перед "рефрешем" надо сохранить состояние курсора и состояние узлов дерева(раскрыт/закрыт), а после обновления восстановить (по-возможности) как было, с учетом того, что какие-то файлы/папки могут быть удалены. Я подобное реализовывал даже на допотопном Treeview ActiveX от майкрософта, тут же имея свой "карманный" GUI как говорится все карты в руки это допилить.
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 17:36:53 UTC, TM wrote: On Wednesday, 6 September 2017 at 14:33:18 UTC, Vadim Lopatin wrote: On Wednesday, 6 September 2017 at 14:06:56 UTC, TM wrote: On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел Удобного создания package нет, можно использовать workaround: Да тут ключевое слово "удобный", пока удобней создавать через сторонний файловый менеджер. В Netbeans в его аналоге "Workspace Explorer" правый клик и в контекстном меню на выбор Новый -> Папка, класс, пакет, интерфейс и т.д. Хорошо, если бы чтото подобное было реализовано в Dlang IDE. Новый класс/енум/интерфейс имеет смысл для java, где, как правило, один класс = один файл. Для D самая полезная функция - создать модуль. Если при открытии диалога создать файл будет выбран шаблон модуль и фокус на редакторе имени, а по Enter - срабатывать кнопка создания файла - все будет удобно. Создание папок само по себе достаточно бесполезно. Папки без файлов не показываются в Workspace explorer, а новая папка с файлом создается в диалоге выбора папки для файла. В Workspace Explorer есть еще один если не баг, то не очень удобный момент: при закрытии вкладки с кодом или при создании нового модуля, то есть по сути при "рефреше" дерева слетает текущее позиционирование курсора и состояние закрытых открытых узлов дерева. То есть перед "рефрешем" надо сохранить состояние курсора и состояние узлов дерева(раскрыт/закрыт), а после обновления восстановить (по-возможности) как было, с учетом того, что какие-то файлы/папки могут быть удалены. Я подобное реализовывал даже на допотопном Treeview ActiveX от майкрософта, тут же имея свой "карманный" GUI как говорится все карты в руки это допилить. Issue submitted: https://github.com/buggins/dlangide/issues/252
Re: DLang IDE [RU]
А можно сделать как-то так, чтобы автокомплит работал сразу? Как в студии. То есть бы не приходилось ctrl+пробел нажимать.
Re: DLang IDE [RU]
On Thursday, 7 September 2017 at 07:04:11 UTC, Suliman wrote: А можно сделать как-то так, чтобы автокомплит работал сразу? Как в студии. То есть бы не приходилось ctrl+пробел нажимать. Issue submitted: https://github.com/buggins/dlangide/issues/253
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 13:20:08 UTC, Vadim Lopatin wrote: On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 2. В области Workspace Explorer на одном уровне иерархии модули и пакеты сортируются по алфавиту, но "вперемешку" с друг другом, в отличие от того же Notepad++, где сначала по алфавиту сортируются пакеты, а потом модули. Понимая, что такой режим также может оказаться неудобным для части пользователей, предлагаю сделать настройку с режимом сортировки. И если, файлы package.d имеют некий "особый" статус в языке, возможно имеет смысл выделять их как-то (например другой иконкой или font.bold=true) Надо исправлять, просто не замечал. Issue submitted: https://github.com/buggins/dlangide/issues/250 Fixed in v0.7.67
Re: DLang IDE [RU]
On Wednesday, 6 September 2017 at 13:05:29 UTC, Vadim Lopatin wrote: On Tuesday, 5 September 2017 at 15:40:06 UTC, TM wrote: 1. Добавить возможность выбора размера шрифта для области редактирования. Я крайне редко меняю подобные настройки в IDE, но в данном случае дефолтный шрифт оказался откровенно мелковат (возможно под Linux ситуация несколько иная), пришлось за не имением выбора размера шрифта искать более крупный шрифт. Submitted issue / feature request: Add editors default font size setting https://github.com/buggins/dlangide/issues/249 Implemented in v0.7.68 Win32 binaries are released.
Re: DLang IDE [RU]
On Thursday, 7 September 2017 at 07:03:41 UTC, Vadim Lopatin wrote: On Wednesday, 6 September 2017 at 17:36:53 UTC, TM wrote: On Wednesday, 6 September 2017 at 14:33:18 UTC, Vadim Lopatin wrote: On Wednesday, 6 September 2017 at 14:06:56 UTC, TM wrote: On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin wrote: File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя. File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел Удобного создания package нет, можно использовать workaround: Да тут ключевое слово "удобный", пока удобней создавать через сторонний файловый менеджер. В Netbeans в его аналоге "Workspace Explorer" правый клик и в контекстном меню на выбор Новый -> Папка, класс, пакет, интерфейс и т.д. Хорошо, если бы чтото подобное было реализовано в Dlang IDE. Новый класс/енум/интерфейс имеет смысл для java, где, как правило, один класс = один файл. Для D самая полезная функция - создать модуль. Если при открытии диалога создать файл будет выбран шаблон модуль и фокус на редакторе имени, а по Enter - срабатывать кнопка создания файла - все будет удобно. Это понятно, что у Java своя организационная специфика, в принципе если в диалоге создание файла минимизировать количество кликов, то есть сразу вводишь имя файла с клавиатуры и кнопка создания будет реагировать на Entrer (а не Ctrl+N), будет вполне юзабельно.
Re: DLang IDE [RU]
On Thursday, 7 September 2017 at 12:24:40 UTC, TM wrote: Это понятно, что у Java своя организационная специфика, в принципе если в диалоге создание файла минимизировать количество кликов, то есть сразу вводишь имя файла с клавиатуры и кнопка создания будет реагировать на Entrer (а не Ctrl+N), будет вполне юзабельно. Сделал. Ctrl+N (type module name here) Enter Должно быть удобно. Новый релиз v0.7.71 - исправлено много замечаний. Есть бинарник для Win32 https://github.com/buggins/dlangide/releases