www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - DLang IDE [RU]

reply TM <TM TM.TM> writes:
Да простят англоязычные участники :)
С попеременным успехом пытаюсь оседлать
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\dereli
t\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
Sep 05
next sibling parent reply TM <TM TM.TM> writes:
Из более серьезных улучшений, я бы
предложил возможность в 
Workspace Explorer добавлять пакеты,
переименовывать пакеты / 
модули, перемещать пакеты / модули и
удалять пакеты / модули. Но 
это, очевидно уже будет требовать
некоторых усилий на реализацию. 
А так, за неимением, IDE работает впаре с
файловым менеджером (в 
моем случае это проводник Winodws или Far).
Sep 05
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
On Tuesday, 5 September 2017 at 16:18:25 UTC, TM wrote:
 Из более серьезных улучшений, я бы
предложил возможность в 
 Workspace Explorer добавлять пакеты,
переименовывать пакеты / 
 модули, перемещать пакеты / модули и
удалять пакеты / модули. 
 Но это, очевидно уже будет требовать
некоторых усилий на 
 реализацию. А так, за неимением, IDE работает
впаре с файловым 
 менеджером (в моем случае это проводник
Winodws или Far).
File / new для добавления пакетов/модулей не пойдет? Удалять также можно. Перемещать - нельзя.
Sep 06
parent reply TM <TM TM.TM> writes:
On Wednesday, 6 September 2017 at 13:07:04 UTC, Vadim Lopatin 
wrote:
 File / new для добавления пакетов/модулей не
пойдет?
 Удалять также можно. Перемещать - нельзя.
File / new создает модуль. А как создавать пакет? New Source File -> Location -> Bew Folder ? Удалять возможности не нашел
Sep 06
next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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;
Sep 06
next sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 06
prev sibling parent reply TM <TM TM.TM> writes:
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 как говорится все карты в руки это допилить.
Sep 06
parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 07
parent reply TM <TM TM.TM> writes:
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), будет вполне юзабельно.
Sep 07
parent Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 08
prev sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
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 Удаляет только файлы. Файлы удаляются из файловой системы, нет возможности просто выкинуть из проекта, а сам файл - оставить. После удаления всех файлов из папки из проекта пропадет папка (в файловой системе останется).
Sep 06
prev sibling next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 06
parent Vadim Lopatin <coolreader.org gmail.com> writes:
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.
Sep 07
prev sibling next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 06
parent Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 07
prev sibling next sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 06
prev sibling next sibling parent Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 06
prev sibling next sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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
Sep 06
parent TM <TM TM.TM> writes:
 Наверное, после недавних изменений с 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 вылет.
Sep 06
prev sibling parent reply Vadim Lopatin <coolreader.org gmail.com> writes:
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\dereli
t\util\exception.d' which cannot be read
Вероятно, проблема с utf8 именами файлов в DMD frontend.
Sep 06
next sibling parent TM <TM TM.TM> writes:
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\dereli
t\util\exception.d' which cannot be read
Вероятно, проблема с utf8 именами файлов в DMD frontend.
Странно, что мой проект под русскоязычным аккаунтом собирается без проблем.
Sep 06
prev sibling parent reply Suliman <evermind live.ru> writes:
А можно сделать как-то так, чтобы
автокомплит работал сразу? Как 
в студии. То есть бы не приходилось
ctrl+пробел нажимать.
Sep 07
parent Vadim Lopatin <coolreader.org gmail.com> writes:
On Thursday, 7 September 2017 at 07:04:11 UTC, Suliman wrote:
 А можно сделать как-то так, чтобы
автокомплит работал сразу? 
 Как в студии. То есть бы не приходилось
ctrl+пробел нажимать.
Issue submitted: https://github.com/buggins/dlangide/issues/253
Sep 07