привет, я делаю расширение для визуальной студии, и мне нужна конкретная вещь, чтобы получить выделенный текст окон редактора для дальнейшей обработки. Кто-то знает, какой интерфейс или услуга имеет это? Раньше мне нужно было найти путь открытого решения, и для этого я обращаюсь к службе, которая реализует IVsSolution, поэтому для этой другой проблемы я хочу, чтобы какая-то служба предоставляла мне эту информацию.получить выделенный текст в окне редактора .. расширение викторианской области
7
A
ответ
3
внутри OnlayoutChanged следующий код выскочит сообщение с кодом выбранного:
if (_view.Selection.IsEmpty)
{
return;
}
else
{
string selectedText = _view.Selection.StreamSelectionSpan.GetText();
MessageBox.Show(selectedText);
}
нигде просто получить viewhost и сво _view типа (IWpfTextView)
10
Для уточнения " просто получить viewhost "в ответе Штабера, вот полный код для того, как вы можете получить текущее представление редактора, а оттуда ITextSelection, из любого места в Visual Studio 2010 VSPackage. В частности, я использовал это, чтобы получить текущий выбор из обратного вызова команды меню.
IWpfTextViewHost GetCurrentViewHost()
{
// code to get access to the editor's currently selected text cribbed from
// http://msdn.microsoft.com/en-us/library/dd884850.aspx
IVsTextManager txtMgr = (IVsTextManager)GetService(typeof(SVsTextManager));
IVsTextView vTextView = null;
int mustHaveFocus = 1;
txtMgr.GetActiveView(mustHaveFocus, null, out vTextView);
IVsUserData userData = vTextView as IVsUserData;
if (userData == null)
{
return null;
}
else
{
IWpfTextViewHost viewHost;
object holder;
Guid guidViewHost = DefGuidList.guidIWpfTextViewHost;
userData.GetData(ref guidViewHost, out holder);
viewHost = (IWpfTextViewHost)holder;
return viewHost;
}
}
/// Given an IWpfTextViewHost representing the currently selected editor pane,
/// return the ITextDocument for that view. That's useful for learning things
/// like the filename of the document, its creation date, and so on.
ITextDocument GetTextDocumentForView(IWpfTextViewHost viewHost)
{
ITextDocument document;
viewHost.TextView.TextDataModel.DocumentBuffer.Properties.TryGetProperty(typeof(ITextDocument), out document);
return document;
}
/// Get the current editor selection
ITextSelection GetSelection(IWpfTextViewHost viewHost)
{
return viewHost.TextView.Selection;
}
Вот документы MSDN для IWpfTextViewHost, ITextDocument и ITextSelection.
Смежные вопросы
- 1. Расширение Firefox: Получить выделенный текст
- 2. Как получить выделенный текст внутри редактора summernote?
- 3. Как предупредить выделенный текст из редактора tinyMCE?
- 4. Как получить выделенный текст в редакторе извне редактора?
- 5. Как получить выделенный текст в Internet explorer_server в другом окне?
- 6. Как получить выделенный текст из редактора кода DevTools?
- 7. Как получить выделенный текст из текстовой области в jquery?
- 8. Расширение Visual Studio 2010 получает выделенный текст
- 9. Получить выделенный текст
- 10. Как получить выделенный текст?
- 11. Awesomplete - получить выделенный текст
- 12. Получить выделенный текст
- 13. получить выделенный/выделенный текст html в gmail составлять почтовую область
- 14. Получить выделенный текст в textarea
- 15. Как правильно очистить текст в окне редактора Visual Studio?
- 16. Удалить выделенный/выделенный текст
- 17. Получите выделенный текст, посчитайте его, откройте его. расширение Chrome
- 18. Получить выделенный текст во входном поле
- 19. Chrome Extension получить выделенный текст
- 20. SWT Browser - получить выделенный текст
- 21. OS X Получить выделенный текст
- 22. получить выделенный текст URL-адреса
- 23. Получить выделенный текст из выбора
- 24. Получить выделенный/выделенный текст с зеркалом кода из текстовой области не работает
- 25. Какой способ получить выделенный текст webkit webview?
- 26. Расширение Chrome: замените выделенный текст в textarea данными буфера обмена
- 27. выделенный текст в iframe
- 28. Копировать выделенный текст n раз с помощью редактора vim
- 29. Получить выделенный текст, заменить его и т. Д. С помощью jQuery для простого редактора
- 30. Qt: Как отобразить выделенный текст в неактивном окне