Текущая строка для макросов Visual Studio - PullRequest
2 голосов
/ 29 марта 2010

Как мне прочитать текст текущей строки (где находится курсор) из макросов?

Я собираюсь использовать такую ​​функцию:

 Public Sub AddTextToChangeLogFile()
    Dim textOnACurrentLine As ???
    textOnACurrentLine = ???

    If textOnACurrentLine.Text <> String.Empty Then
        Dim sw As New StreamWriter("C:\###\Changes.txt", True)
        sw.WriteLine(textOnACurrentLine + ". file: " + DTE.ActiveDocument.Name)
        sw.Close()
    End If
End Sub

Ответы [ 2 ]

4 голосов
/ 13 мая 2010

Вы можете использовать что-то вроде:

Dim textOnACurrentLine As String
DTE.ActiveDocument.Selection.StartOfLine(0)
DTE.ActiveDocument.Selection.EndOfLine(True)
textOnACurrentLine = DTE.ActiveDocument.Selection.Text
3 голосов
/ 23 ноября 2012

Получите индекс строки из Выборки и используйте EditPoint, как это:

TextSelection text_selection = (TextSelection)m_DTE.ActiveDocument.Selection;
int line_index = text_selection.ActivePoint.Line;
TextDocument text_doc = (TextDocument)m_DTE.ActiveDocument.Object("");
EditPoint edit_point = text_doc.CreateEditPoint();
string line = edit_point.GetLines(line_index, line_index+1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...