Visual Studio 2010: замена текста в элементе проекта с помощью автоматизации - PullRequest
2 голосов
/ 05 декабря 2010

Я автоматически создаю экземпляры элементов проекта Visual Studio через объектную модель.В некоторых файлах мне нужно сделать текстовые замены.Каков наилучший подход для замены текста в содержимом элемента проекта (например, xml-файла) с использованием объектной модели, поэтому Visual Stuido позаботится о необходимых действиях управления исходным кодом.Я предпочитаю не открывать файл в редакторе, а выполнять замену текста через объектную модель редактора.

1 Ответ

0 голосов
/ 05 декабря 2010

Используйте TextDocument.ReplacePattern метод.Вы можете получить объект TextDocument из объекта ProjectItem следующим образом:

DirectCast(ProjectItem.Document.Object, TextDocument)

Полный код выглядит следующим образом:

Dim pi As ProjectItem = ...
Dim win As EnvDTE.Window = Nothing
If Not pi.IsOpen Then
    win = pi.Open(Constants.vsViewKindPrimary)
    'uncomment the following line if you want to show opened document
    'win.Visible=True 
End If
Dim td As TextDocument = DirectCast(pi.Document.Object, TextDocument)
td.ReplacePattern("abc", "def")
If Not win Is Nothing Then
    win.Close(vsSaveChanges.vsSaveChangesYes)
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...