2017-01-11 6 views
13

Ich habe gerade das Rubberduck VBE-Add-In v2.0.11.2453 (MSIL) unter Windows 10 OS installiert.Untermenüs von Rubberduck UI sind deaktiviert

Wenn ich eine Excel-Arbeitsmappe mit Makros in Excel öffne und den VBA-Editor starte, startet Rubberduck, aber alle Befehle im Rubberduck-Menü sind deaktiviert.

Was mache ich falsch?

enter image description here

+6

Befehle werden deaktiviert, wenn sie basierend auf dem aktuellen Add-In-Status nicht verfügbar sind. In diesem Fall scheint das erste Parsen nicht durchgeführt worden zu sein. Klicken Sie auf die blauen "Recycling-Pfeile" in der RD-Statusleiste. – Comintern

Antwort

9

Haftungsausschluss: Ich bin mit der Entwicklung des Rubber Add-in stark involviert.

Du hast nichts falsch gemacht =)

In früheren Alpha-2.x-Versionen haben wir entdeckt, dass beim Start die anfänglichen Parse-Start verursacht Probleme (heftige Abstürze), da die Add-in war im Wesentlichen bereit bevor das VBE das Objektmodell für die in der IDE geladenen Projekte eingerichtet hat. Im Grunde lädt die VBE ihre Add-Ins, bevor sie vollständig abgeschlossen ist, so dass wir nicht direkt beim Start eine Parse-Task starten können.

Also haben wir das initiale/automatische Parsen deaktiviert, deshalb muss es manuell gemacht werden (vorerst).

Die Rubber commandbar (am oberen Rand des IDE standardmäßig verankert, direkt unterhalb des Haupt commandbar) enthält eine Schaltfläche „Aktualisieren“:

enter image description here

auf diese Schaltfläche klicken, wird der Parser-Zustand von "ändern Pending "/" En attente "bis" Ready "/" Prêt "(nach Durchlaufen einer Reihe von Zuständen).

Die meisten Rubberduck-Befehle werden aktiviert, sobald der Status "Parsed" ist (was nicht sehr lange dauert) und unmittelbar danach auf "Resolving identifiers" umschaltet, und die Refactorings werden im "Ready" -Zustand aktiviert (noch bevor die Inspektionen beendet sind).

Sie auch, dass "refresh" Befehlstaste in dem Toolstrip des, Test-Explorer Code-Explorer finden, Prüfergebnissen und Todo Explorer Toolwindows.

Sie sollten in der Lage sein, den Code zu durchsuchen und den VBE zu verwenden, während Rubberduck im Hintergrund arbeitet. Beachten Sie jedoch, dass das Ändern von Code während der Analyse von Rubberduck möglicherweise zu einigen Parserfehlerzuständen führt. wir gehen davon aus, dass der Code in der IDE compilable =)

Denken Sie an diese Schaltfläche als "Okay ducky, ich habe Codeänderungen vorgenommen, jetzt mit der IDE synchronisieren": das Add-in muss genau wissen, in -Umsetzungsort jedes einzelnen Tokens, um so zu arbeiten, wie es sollte. Das Refactoring oder das Anwenden einer Inspektions-Schnellkorrektur auf den desynchronisierten Parser-Status ist definitiv eine schlechte Idee!

Das heißt, alle Menüs beim Start zu deaktivieren war irgendwie faul (und plump zu: zum Beispiel die Hotkey die Inspektion zur Anzeige und Code-Explorer Toolwindows sogar funktionieren Ergebnisse obwohl die Menüs deaktiviert sind) - Wir werden das bei der nächsten Veröffentlichung beheben, und die erste Analyse sollte auch wieder automatisch sein (wir werden es nach einer Verzögerung starten, um dem VBE eine Chance zu geben, den Start zu beenden).

+1

Nur ein Kommentar. Wenn Sie nicht wissen, wann der VBE tatsächlich geladen ist, würde ich es manuell verlassen. – Kaz

+0

@ Mats Becher: Ich klicke auf Aktualisieren, aber der Schaltflächentext bleibt 'Ausstehend' und die Untermenüs bleiben deaktiviert. Könnte meine Unternehmensfirewall ein Problem sein? 'Ver. 2.1.1.2431' Edit: Jetzt heißt es 'Parse Error' – KacireeSoftware

+0

@KacireeSoftware Excel schließen, im Task-Manager überprüfen, dass der Prozess tatsächlich weg ist, dann Excel mit einer leeren/neuen Arbeitsmappe öffnen, VBE aufrufen - gleiches Problem? Ist dies nicht der Fall, rufen Sie die Einstellungen auf und aktivieren Sie die Protokollierung auf ERROR- oder WARNING-Ebene. Öffnen Sie dann die Arbeitsmappe, die nicht analysiert wird, reproduzieren Sie das Problem, und prüfen Sie, ob das Protokoll nützliche Informationen enthält. Wenn es mit einer leeren Arbeitsmappe versagt, ist definitiv etwas nicht in Ordnung. –

Verwandte Themen