Aracılığıyla paylaş


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

ms165656.collapse_all(tr-tr,VS.110).gifDescription

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.

ms165656.collapse_all(tr-tr,VS.110).gifKod

[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 ); 
}

Ayrıca bkz.

Başvuru

EditPoint

EditPoint2

TextPoint

TextDocument