EditPoint kullanım örneği
Aşağıdaki örnek oluşturur bir TextDocument nesne, metin ekler ve bazı gösterir EditPoint nesnesi işlevselliği.
Örnek
Description
IVsTextView ve benzer arabirimleri sıfır olduğu yerde bu işlevler bir karakter uzaklıklar için tabanlıdır.vb Otomasyon desteklemek üzere tasarlandığından EditPoint bir tabanlı.
Bu örneği çalıştırmak için bir eklentinin Visual Studio proje oluşturabilir ve araçlar menü öğesini oluşturmanız gerekir Sihirbazı'nda belirtebilirsiniz.Yapı ve Eklentileri Çalıştır, kod çalıştırmak için Araçlar menüsünde ilgili komutu tıklatın.
Kod
[Visual Basic]
Public Sub Exec(ByVal commandName As String, ByVal executeOption As vsCommandExecOption, ByRef varIn As Object, ByRef varOut As Object, ByRef handled As Boolean) Implements IDTCommandTarget.Exec
handled = False
If executeOption = vsCommandExecOption.vsCommandExecOptionDoDefault Then
If commandName = "EditPoint.Connect.EditPoint" Then
EditPointExample1(CType(_applicationObject, DTE))
handled = True
Exit Sub
End If
End If
End Sub
Sub EditPointExample1(ByVal dte As DTE)
Dim objTextDoc As TextDocument
Dim objEditPt As EditPoint, iCtr As Integer
' Create a new text file.
applicationObject.ItemOperations.NewFile("General\Text File")
' Get a handle to the new document and create an EditPoint.
objTextDoc = applicationObject.ActiveDocument.Object("TextDocument")
objEditPt = objTextDoc.StartPoint.CreateEditPoint
' Insert ten lines of text.
For iCtr = 1 To 10
objEditPt.Insert("This is a test." & Chr(13))
Next iCtr
' Replace the eighth word on the third line with a new word.
objEditPt.StartOfDocument()
objEditPt.LineDown(3)
objEditPt.WordRight(3)
objEditPt.Delete(4)
objEditPt.Insert("raid")
' Indent a line.
objEditPt.LineDown(2)
objEditPt.StartOfLine()
objEditPt.Indent()
' Set some bookmarks.
objEditPt.LineDown(1)
' Set the first bookmark.
objEditPt.SetBookmark()
' Set the second bookmark on the next line.
objEditPt.LineDown(1)
objEditPt.SetBookmark()
' Go back to the first bookmark.
objEditPt.PreviousBookmark()
' Add some text there.
objEditPt.Insert("BOOKMARK 1: ")
' Do the same thing at the next bookmark.
objEditPt.NextBookmark()
objEditPt.Insert("BOOKMARK 2: ")
' Print the current line and character offset in the buffer.
MsgBox("Line and offset: " & objEditPt.Line, _
objEditPt.LineCharOffset())
' Capitalize the third word of the second line.
objEditPt.StartOfDocument()
objEditPt.LineDown(2)
objEditPt.WordRight(3)
objEditPt.ChangeCase(4, vsCaseOptions.vsCaseOptionsCapitalize)
' Remove the spaces between the words.
objEditPt.DeleteWhitespace(vsWhitespaceOptions. _
vsWhitespaceOptionsHorizontal)
End Sub
Using System.Windows.Forms;
public void EditPointExample1( DTE dte )
{
TextDocument objTextDoc = null;
EditPoint objEditPt = null; int iCtr = 0;
// Create a new text file.
applicationObject.ItemOperations.NewFile( @"General\Text File",
"", "{00000000-0000-0000-0000-000000000000}" );
// Get a handle to the new document and create an EditPoint.
objTextDoc = ( ( EnvDTE.TextDocument )(
applicationObject.ActiveDocument.Object( "TextDocument" ) ) );
objEditPt = objTextDoc.StartPoint.CreateEditPoint();
// Insert ten lines of text.
for ( iCtr=1; iCtr<=10; iCtr++ )
{
objEditPt.Insert( "This is a test." + "\n");
}
// Replace the eighth word on the third line with a new word.
objEditPt.StartOfDocument();
objEditPt.LineDown( 3 );
objEditPt.WordRight( 3 );
objEditPt.Delete( 4 );
objEditPt.Insert( "raid" );
// Indent a line.
objEditPt.LineDown( 2 );
objEditPt.StartOfLine();
objEditPt.Indent( null, 1 );
// Set some bookmarks.
objEditPt.LineDown( 1 );
// Set the first bookmark.
objEditPt.SetBookmark();
// Set the second bookmark on the next line.
objEditPt.LineDown( 1 );
objEditPt.SetBookmark();
// Go back to the first bookmark.
objEditPt.PreviousBookmark();
// Add some text there.
objEditPt.Insert( "BOOKMARK 1: " );
// Do the same thing at the next bookmark.
objEditPt.NextBookmark();
objEditPt.Insert( "BOOKMARK 2: " );
// Print the current line and character offset in the buffer.
MessageBox.Show( "Line and offset: " + objEditPt.Line);
// Capitalize the third word of the second line.
objEditPt.StartOfDocument();
objEditPt.LineDown( 2 );
objEditPt.WordRight( 3 );
objEditPt.ChangeCase( 4, vsCaseOptions.vsCaseOptionsCapitalize );
// Remove the spaces between the words.
objEditPt.DeleteWhitespace( vsWhitespaceOptions.vsWhitespaceOptionsHorizontal );
}