Здравствуйте, k.sid, Вы писали:
KS>Приветствую, уважаемые!
KS>Давненько я вас не терзал Сам уже почти начал справляться, но критическая масса вопросов переплескивает
KS>Начну с самого для меня болезненного. Я писал, у меня плагин работает в пакетном режиме — тупо шерстит весь солюшен и гуи ему по большому счету не нужен. Все бы ничего, но при отладке это гуи добивает больше всего: сначала ждешь пока загризится отладочная студия; затем тыкаешь в меню, чтоб запустить плагин; затем ждешь, когда студия выгрузится; в случае эксепшенов, смотришь в это окошко репортера — вылавливаешь там номера строчек, откуда прилетело... Не технологично как-то получается
Можно создавать тестовое окружение для тестов см. как используется TestShell.
Было здорово, если ребята из JetBrains написали краткое руководство или FAQ о том как писать тесты для плугинов R#
(как создавать тестовое окружение, как тестировать построение дерева, наличие qiuck fixes и т.д.)
Здравствуйте, k.sid, Вы писали:
KS>Ну и еще вопрос из области гуи Насчет меню. Делаю все как описано. Вставляется без проблем. Но. Старые меню остаются. Т.е. решил я переименовать плагин, передвинуть меню в другое место и т.д. — пожалуйста новый переименованный пункт появляется, но старый _остается тоже_, сереньким. У меня этих сереньких уже достаточно накопилось
Помогает удаление ветки реестра HKEY_CURRENT_USER\Software\JetBrains\ReSharper папки %user_profile%\Local Settings\Application Data\JetBrains\ReSharper"
и Tools->Customize + Reset для панелей инструментов Context Menus и ReSharper.
А чтобы не сталкиваться с такой проблемой достаточно увеличивать версию сборки всегда, когда изменяется actions.xml.
И делать Rebuild вместо build. Проблема похоже в том, что при инкрементальном билде не увеличивается timestamp у сборки.
Соответственно где-то ломается логика кеширования Actions.
Здравствуйте, Блудов Павел, Вы писали:
БП>Помогает удаление ветки реестра HKEY_CURRENT_USER\Software\JetBrains\ReSharper и папки %user_profile%\Local Settings\Application Data\JetBrains\ReSharper" БП>и Tools->Customize + Reset для панелей инструментов Context Menus и ReSharper.
Спасибо, помогло
БП>А чтобы не сталкиваться с такой проблемой достаточно увеличивать версию сборки всегда, когда изменяется actions.xml. БП>И делать Rebuild вместо build. Проблема похоже в том, что при инкрементальном билде не увеличивается timestamp у сборки. БП>Соответственно где-то ломается логика кеширования Actions.
Здравствуйте, achmed, Вы писали:
A>Можно создавать тестовое окружение для тестов см. как используется TestShell.
Очень интересссно, но не понятно, где смотреть... переберать все мемберы TestShell методом тыка не хотелось бы я так понял, ты то уже поборол этот TestShell и знаешь где смотреть
A>Было здорово, если ребята из JetBrains написали краткое руководство или FAQ о том как писать тесты для плугинов R#
Да, тем более гугл выдает некие куски открытого кода (я видел проект Gallio) которые уже вроде используют этот TestShell — им же кто-то уже выдал краткое руководство
Здравствуйте, k.sid, Вы писали:
KS>Здравствуйте, achmed, Вы писали:
A>>Можно создавать тестовое окружение для тестов см. как используется TestShell.
KS>Очень интересссно, но не понятно, где смотреть... переберать все мемберы TestShell методом тыка не хотелось бы я так понял, ты то уже поборол этот TestShell и знаешь где смотреть
И все-таки, TestShell, если я правильно понял из комментов Gallio (скажу честно, глядел по диагонали, от обычной схемы отличается не принципиально (для меня) — все равно гризится тестовая студия и уже там в решарперовском Internal меню я могу выбирать тестики которые хочу запускать (?) Это конечно удобно, особенно для разработки всяких квик фиксов и прочего интерактива, но у меня-то основной режим — пакетный, так что хотелось бы полный автомат, без нажатий...
Ну и повторю главный вопрос, возможен ли запуск плагина в пакетном режиме без запуска студийного гуи, — или, другими словами, есть ли у решарпера оффлайн-режим?)
Здравствуйте, k.sid, Вы писали:
KS>И все-таки, TestShell, если я правильно понял из комментов Gallio (скажу честно, глядел по диагонали, от обычной схемы отличается не принципиально (для меня) — все равно гризится тестовая студия и уже там в решарперовском Internal меню я могу выбирать тестики которые хочу запускать (?) Это конечно удобно, особенно для разработки всяких квик фиксов и прочего интерактива, но у меня-то основной режим — пакетный, так что хотелось бы полный автомат, без нажатий...
Ничего ты не понял, активнее рефлектором надо пользоваться.
KS>Ну и повторю главный вопрос, возможен ли запуск плагина в пакетном режиме без запуска студийного гуи, — или, другими словами, есть ли у решарпера оффлайн-режим?)
Делаешь свой Shell, наследуясь от BaseShell, и вперед.
KS>Всего, KS>Костя.