Код: Выделить всё
var doc = dte.ActiveDocument;
if (doc == null)
return;
var selection = doc.Selection as TextSelection;
if (selection == null)
return;
string lines = selection.Text;
bool modified = false;
... // Edit text, result into replacementText
if (modified)
{
selection.ReplacePattern(lines, replacementText, (int) vsFindOptions.vsFindOptionsNone);
}
https://learn.microsoft.com/en-us/visua ... sualstudio
Это полный пример замены текста, который они приводят:
Код: Выделить всё
MutationResult result = await this.Extensibility.Editor().EditAsync(
batch =>
{
var editor = document.AsEditable(batch);
editor.Replace(textView.Selection.Extent, newGuidString);
},
cancellationToken);
В этом документе: https://learn.microsoft.com/en-us/visua ... ew=vs-2022 Microsoft описывает использование IFindService.CreateFinderFactory, ссылка на который находится здесь: https://learn.microsoft.com/en-us/dotne ... -view=true
Но я понятия не имею, где получить экземпляр IFindService. Моя точка входа в Visual Studio — это ровно один объект — DTE2. Как мне получить все необходимое для редактирования текста, начиная с DTE2?
Подробнее здесь: https://stackoverflow.com/questions/798 ... place-text
Мобильная версия