2017-07-24 5 views
0

kopieren Wie die aktuelle Zeilennummer im aktiven Dokument von Visual Studio C#Wie die Visual Studio aktuelle Zeilennummer

+0

Siehe https://stackoverflow.com/questions/32502847/is-there-any-extension-for-vs-copying-code-position –

+0

@Sergey Vlasov: Oh, Entschuldigung, ich wusste nicht, dass diese Frage wurde beantwortet - ich hatte gesucht, konnte aber nicht finden. – 123iamking

Antwort

1

Zunächst einmal kopieren/bekommen, müssen Sie Referenzen „EnvDTE“ und „EnvDTE80“ hinzufügen für Ihr C# -Projekt.

Verwenden Sie dann den folgenden Code (ich habe es in Klick-Button-Ereignis in meinem Fall), um die Zeilennummer (und den Dateinamen) in die Zwischenablage zu kopieren.

private void btnGetLineVS_Click(object sender, EventArgs e) 
    { 
     EnvDTE80.DTE2 dte2; 
     dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE"); 
     dte2.MainWindow.Activate(); 
     int line = ((EnvDTE.TextSelection)dte2.ActiveDocument.Selection).ActivePoint.Line; 

     //Show it to the user the way you like 
     StringBuilder builder = new StringBuilder(); 
     builder.Append(dte2.ActiveDocument.FullName);//The file name 
     builder.Append('\t'); 
     builder.Append(line);//The current line 
     if (builder.Length > 0) 
     { 
      Clipboard.SetText(builder.ToString()); 
      MessageBox.Show("Copied to clipboard"); 
     } 
     else 
      MessageBox.Show("Nothing!"); 
    } 

Dank Reder der answer, dass ich diese Art der Sache wissen gibt, ich dies immer gedacht, zu tun, haben wir VSIX Visual Studio Projekt-Code verwenden.

Verwandte Themen