Всем разработчикам Directum RX известна особенность инструмента разработки, которая заключается в следующем: безболезненно на один стенд можно установить только одну версию Directum Development Studio (DDS) и можно работать только с одним проектом.
Не так давно коллеги поделились набором скриптов PowerShell, которые помогают обойти эту особенность. Действительно, теперь на стенде достаточно один раз настроить структуру папок для хранения версий DDS, каталогов с решениями, и, используя скрипты, переключаться между версиями и проектами.
Мы изучили данный набор скриптов и пришли к выводу, что при частом использовании оболочка PowerShell может быть не очень удобна. Поэтому для облегчения работы со скриптами была разработана утилита, которая в графическом режиме позволяет выполнять две самые частые операции: переключение между проектами и версиями Directum RX.
Ниже будет размещена ссылка на архив, содержащий исполняемый файл утилиты. Если у сообщества появится определенный интерес к утилите и желание ее развивать, то будет сформирован общий репозиторий с исходными кодами утилиты.
Рисунок 2. Процесс переключения между проектами.
Рисунок 3. Процесс переключения между версиями Directum RX.
Рисунок 4. Сохранение настроек утилиты.
Прикреплен файл: ManageDDS.zip
Обсудите реализацию с экспертом Directum
Комментарии (5)
Пару дней активно попользовался утилитой. Пришлось несколько пересмотреть структуру хранения исходников, конфигов проектов и подправить скрипты, но после этого пользоваться довольно удобно.
Несколько наблюдений:
1. Не подхватывает обновление списках xml-файлов с описанием проекта. Требуется либо перезапустить утилиту, либо изменить каталог с конфигами.
2. Запоминает проект, на который переключились предыдущий раз и не дает переключиться на него повторно - кнопка недоступна. Иногда это нужно. Например, когда конфиг был сделан некорректно и был подправлен. Может не блокировать кнопку переключения?
3. Требует расположения в папке скриптов - осложняется синхронизация скриптов с гит-репозиторием. Хорошо бы настраивать путь к скриптам. Может просто через xml-ку, чтобы лишний GUI не делать?
4. Если поменять настройку каталога с проектами, то в списке конфигурационных файлов будет как файлы из предыдущего каталога, так и из нового.
5. По ddsSettings.xml и session_info.xml:
- может сделать один и назвать по именин приложения - ManageDDS.xml? Проще будет искать, если в каталоге есть другие файлы.
- сохранять в структурированном виде, без сжатия пробельных символов, чтобы проще было глазами посмотреть?
- не требовать явного сохранения настроек, а автоматически сохранять при изменении любой настройки?
6. В поле с выбором файла конфигурации добавить бы фильтрацию по подстроке. А то у меня около 50 разных проектов разных для десятка версий RX - длинный список получается. Причем самые активно используемые в конце, т.к. в качестве префикса используется версия RX.
7. Может попробовать показывать ключевые переменные (DATABASE, DOC_ROOT_DIRECTORY, GIT_ROOT_DIRECTORY, REPOSITORIES) при выборе конфига проекта?
P.S. В скриптах добавил pause, чтобы консоль не закрывалась сразу и была возможность посмотреть результат работы скрипта.
Игорь, спасибо большое за развернутый комментарий и проведенное дополнительное тестирование =) Рад, что утилита сделала немного удобнее Вашу работу. Все Ваши наблюдения попадут в бэклог развития утилиты и будут реализованы в ближайшем будущем.
Вы исходные коды утилиты не выкладывали в открытый доступ? Есть желание настроить ее под себя.
Нана, то же мне бином Ньютона, на сишарпе все в открытом доступе.. хотя есть хорошие, но платные обфускаторы.Прикреплен файл: Form1.cs
Прикреплен файл: Program.cs
Коллеги, утилита поддерживает все последние изменения в репозитории со скриптами?