1

Ich gebe ... Ich posten diese Frage, weil ich immer noch keine Antwort auf my other question und dachte, ich würde einen anderen Takt nehmen.Woher erhält Visual Studio die Daten intellisense und Namespace-Abschluss

Kann mir jemand erklären, wo die Werte für Intellisense und Namespace/Klasse/Member-Abschluss funktioniert. Ich habe mir gedacht, dass ich versuchen kann, mein Projekt so zu konfigurieren, dass es meine Namespaces korrekt auflöst, wenn ich herausfinden kann, wo/wie es diese Daten ableitet.

Seth

Antwort

1

Der Namensraum und IntelliSense Informationen für die CLR, stammt aus einer Datenbank innerhalb des VS versteckt installieren.

Die Informationen für das Arbeitsprojekt werden gescannt und archiviert (ich denke in einer Datei), wenn Sie das Projekt öffnen. Es aktualisiert es dann regelmäßig während der Arbeit.

Wenn Sie die genaue Pfad möchten, zweifle ich, dass Microsoft diese Informationen veröffentlicht.

Nachdem ich Ihre andere Frage angeschaut habe, wollte ich hinzufügen, dass es (irgendwie) möglich ist, dass Visual Studio die Indexinformationen für ein bestimmtes Projekt neu erstellt. Es entzieht sich mir, wie man das jetzt macht. Hast du das versucht und hast du die gleichen Ergebnisse erzielt?

-Update in Bezug auf Kommentare:

die Cache-Aktualisierung ist einfach, aber nicht unbedingt offensichtlich. Es gibt zwei Möglichkeiten, um den Cache zu aktualisieren: 1) Zum Bearbeiten -> IntelliSense -> Aktualisieren Lokale Cache und 2) Drücken Sie Strg + Shift + R

Quelle: Dan's Blog - Refreshing the IntelliSense Cache

+0

Es erhält es tatsächlich aus der Dokumentation XML, die Sie auch generieren können. Hier kommt es auch für SDK-Installationen wie Silverlight zum Einsatz. –

+0

Ich habe nicht versucht, den Index neu zu erstellen, weil ich nicht weiß, wie das geht. Ich habe versucht, natürlich nach dem Clean Solution wieder aufzubauen. Ich habe sogar BIN und OBJ Verzeichnisse vergeblich gelöscht. Wie würde ich "die Indexinformationen neu erstellen". Irgendwelche Ideen irgendjemand? Seth –

+0

PS ... danke für Ihre Hilfe alle. Seth –

0

I weiß nicht, wie es in Visual Studio gemacht wird, aber hier ist der allgemeine Ansatz:

Sammeln Sie alle öffentlichen Mitglieder und Methoden. Dies geschieht im Fall von verwalteten Bibliotheken, wie sie von VB.NET erzeugt werden, durch Reflektion. Die Dokumentation stammt aus XML-Dateien, die mit diesen Bibliotheken in Beziehung stehen. Das ist der Ansatz für referenzierte Bibliotheken. Für das Projekt, an dem Sie gerade arbeiten, werden die Quelldateien, in denen die Dokumentation mit dem Code kombiniert ist, ständig analysiert.

Wie die Namespace-Auflösung durchgeführt wird, hängt von der Sprache natürlich ab, aber das wird in Ihrer anderen Frage beantwortet.