Ich habe ein Visual Studio 2008 Addin, das, wenn ich eine bestimmte Tastenkombination drücke, eine bestimmte Datei öffnet (je nach Kontext der Tastenkombination unterschiedlich) und dann diese Datei nach einer bestimmten Zeichenfolge durchsucht (wiederum kontextabhängig). Die meiste Zeit funktioniert dies einwandfrei, aber manchmal, wenn die Datei, die es öffnet, zu groß ist, schlägt die Suche fehl.
Hier ist ein Codeschnipsel:
Window xmlWindow = Commands.Application.ItemOperations.OpenFile(objectFilename, EnvDTE.Constants.vsViewKindPrimary);
Find find = xmlWindow.Document.DTE.Find;
find.Action = vsFindAction.vsFindActionFind;
find.FindWhat = String.Format("Name=\"{0}\"", objectLocalName);
if (find.Execute() == vsFindResult.vsFindResultFound) {
MessageBox.Show("Found!");
}
1. Gibt es eine Möglichkeit, es immer funktionieren zu lassen (z.B. durch Blockieren der OpenFile)?
2. Eine weniger wichtige Frage: Gibt es eine Möglichkeit, auf diese Weise zu suchen, ohne dass die Ergebnisse im Fenster "Suchergebnisse" landen (was dazu führt, dass meine alten Ergebnisse durch diese Suche, die nur dazu dient, den Cursor zu diesem Teil der Datei zu bringen, gelöscht werden)?