Подтвердить что ты не робот

Подменю пользовательского интерфейса Rubberduck отключены

Я только что установил надстройку Rubberduck VBE v2.0.11.2453 (MSIL) в ОС Windows 10.

Когда я открываю книгу Excel с поддержкой макросов в Excel и запускаю редактор VBA, Rubberduck запускается, но все команды в меню Rubberduck отключены.

Что я делаю неправильно?

введите описание изображения здесь

4b9b3361

Ответ 1

Отказ от ответственности: я активно участвую в разработке надстройки Rubberduck.

Вы ничего не сделали =)

В более ранних версиях alpha 2.x мы обнаружили, что запуск начального разбора при запуске вызывал проблемы (сильные сбои), потому что надстройка была, по существу, готова до того, как VBE закончил настройку объектной модели для проекта (ы), загруженные в среду IDE. В основном VBE загружает свои надстройки до того, как он полностью завершит построение, поэтому мы не можем просто запустить задачу синтаксического анализа сразу при запуске.

Итак, мы отключили начальный/автоматический синтаксический анализ, поэтому его нужно выполнить вручную (на данный момент).

Командная панель Rubberduck (по умолчанию находится в верхней части среды IDE, чуть ниже основной) содержит кнопку "Обновить":

введите описание изображения здесь

Нажатие этой кнопки изменит состояние парсера с "Ожидание" / "En attente" на "Ready" / "Prêt" (после прохождения нескольких состояний).

Большинство команд Rubberduck будут активированы, как только состояние будет "Parsed" (которое длится недолго - он сразу же переходит на "Разрешение идентификаторов" ), и рефакторинг активируется в состоянии "Готов" ( даже до завершения проверки).

Вы также обнаружите, что команда "Обновить" на панели инструментов "Проводник кода", "Тестировщик", "Результаты проверки" и "Окно программы" Todo Explorer.

Вы должны иметь возможность просматривать/перемещаться по коду и использовать VBE, в то время как Rubberduck работает в фоновом режиме, но учтите, что изменение кода при анализе Rubberduck может привести к возникновению некоторых состояний ошибки парсера; мы предполагаем, что код в IDE компилируется =)

Подумайте об этой кнопке как "Хорошо, дак, я сделал изменения кода, теперь синхронизируюсь с IDE": надстройку нужно знать точное место в редакторе каждого отдельного токена, чтобы работать как это должен. Рефакторинг или применение быстрой проверки для де-синхронизированного состояния парсера - определенно плохая идея!

Тем не менее, отключение всех меню при запуске было вроде ленивым (и неуклюжим): например, горячая клавиша для отображения результатов проверки и инструментальных средств для проводника кода будет работать, даже если меню отключено) - мы исправим это следующим образом релиз, и начальный синтаксический разбор должен быть снова автоматическим (мы начнем его после задержки, чтобы дать VBE возможность завершить запуск).