2017-01-11 7 views
13

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

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

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

enter image description here

+6

Команды будут отключены, если они недоступны в зависимости от текущего состояния надстройки. В этом случае кажется, что начальный синтаксический анализ не был выполнен. Нажмите на синие «стрелки рециркуляции» в строке состояния RD. – Comintern

ответ

9

Отказ от ответственности: Я принимал активное участие в разработке Rubberduck надстройки.

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

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

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

Rubberduck CommandBar (стыковка в верхней части IDE по умолчанию, чуть ниже основного CommandBar) содержит кнопку «обновить»:

enter image description here

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

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

Вы также обнаружите, что командную кнопку "обновить" в ToolStrip в Code Explorer, Test Explorer,, Inspection Результаты и Todo Проводник toolwindows.

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

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

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

+1

Просто комментарий. Если у вас есть какой-то способ обнаружения, когда VBE действительно закончил загрузку, я оставил бы его в ручном режиме. – Kaz

+0

@ Матовая кружка: я нажимаю кнопку «Обновить», но текст кнопки остается «Ожидание», а подменю остаются отключенными. Может ли мой корпоративный брандмауэр быть проблемой? 'Ver. 2.1.1.2431' Редактировать: теперь он говорит 'Parse Error' – KacireeSoftware

+0

@KacireeSoftware закрыть Excel, проверить в диспетчере задач, что процесс действительно исчез, а затем открыть Excel с пустой/новой книгой, вызвать VBE - та же проблема? Если нет, вызовите настройки и включите ведение журнала на уровне ERROR или WARNING, затем откройте книгу, которая не анализирует, не воспроизводит проблему и не видит ли журнал ничего полезного. Если это не удастся с пустой книгой, определенно что-то не так. –

 Смежные вопросы

  • Нет связанных вопросов^_^