Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[C#]Text in Visual Studio Editor einfügen

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe folgendes Problem:

Ich müsste einen Text aus der Zwischenablage in den Editor des Visual Studio einfügen, und zwar an der aktuellen Position des Cursors.

Das mit der Zwischenablage war kein Problem, die hab ich jetzt in einem String gespeichert. Aber ich finde keine Möglichkeit, auf den Editor zuzugreifen.

Durch google hab ich nur ein Beispiel in VB gefunden, dass über activeDocument funktioniert, aber sowas hab ich in C# nicht gefunden.

Wäre für jede Hilfe dankbar.

Bearbeitet von Seth1988

Schreib das Beispiel doch in C# um...

Ich habe jetzt mal mit ein paar Kollegen gesprochen und bin inzwischen soweit, das ich auf den Editor zugreifen kann, und zwar über TextSelection. Allerdings stürzt das Programm beim Ausführen mit einem HRESULT ab, den ich auch nach Stunden Internetrecherge nicht auflösen konnte. Das war der Code:


EnvDTE80.DTE2 dte2;

dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.

GetActiveObject("VisualStudio.DTE.9.0");

Window activeWindow = dte2.ActiveWindow;

Document activeDoc = activeWindow.Document;


EditPoint MeinEditPoint = null;

TextDocument textdocument = (EnvDTE.TextDocument)dte2.ActiveDocument.Object("textdocument");


TextSelection textselection = textdocument.Selection;

MeinEditPoint = textdocument.StartPoint.CreateEditPoint();

MeinEditPoint = textselection.AnchorPoint.CreateEditPoint();

MeinEditPoint.MoveToPoint(textselection.ActivePoint);

MeinEditPoint.Insert("Test");

Die letzte Zeile mit dem Insert Befehl hat den HRESULT geworfen, da konnte mir dann auch kein Kollege oder Google mehr weiterhelfen, daher habe ich das Programm umgebaut, wenn mir jetzt trotzdem jemand helfen könnte, wär es auch kein Problem, wieder den alten Code zu benutzen. ÃŽch habe jetzt versucht, einfach die Tasenkombination Strg+V zu simulieren, hier der Code:

IDataObject zwischenablage = Clipboard.GetDataObject();

zwischenablage.SetData(txt_dbText.Text);


SendKeys.SendWait("^+{v}");

Testweise hab ich die Funktion direkt Ausführen lassen, wenn man den Butten des AddIn in der Toolbar drückt, da hat sie wunderbar funktioniert.

Allerdings muss ich nun vorher eine Form aufrufen, in der man sich den Text aus einer Datenbank holt, alles kein Problem, lad ich dann in die Zwischenablage, allerdings ist der Caret dann nicht mehr im Editor und der Text kann nicht eingefügt werden.

Kann ich irgendwie den Focus/Caret wieder auf den Code-Editor kriegen?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.