嗨,我正在做一個擴展視覺工作室和具體的事情,我需要的是獲取編輯器窗口的選定文本進一步處理。有人知道什麼接口或服務有這個? 以前我需要找到開放式解決方案的路徑,爲此我需要一個實現IVsSolution的服務,所以對於這個其他問題,我必須有一些服務爲我提供這些信息。獲取編輯器窗口的選定文本..視覺工作室擴展
7
A
回答
3
的OnlayoutChanged內的下面的代碼將彈出一個消息的代碼選擇:
if (_view.Selection.IsEmpty)
{
return;
}
else
{
string selectedText = _view.Selection.StreamSelectionSpan.GetText();
MessageBox.Show(selectedText);
}
其他地方剛剛拿到viewhost和類型的其_view(IWpfTextView)
10
爲了澄清「只需在Stacker的答案中獲取viewhost「,下面是如何從Visual Studio 2010 VSPackage的其他任何位置獲取當前編輯器視圖以及從那裏獲取ITextSelection的完整代碼。特別是,我使用它從菜單命令回調中獲取當前選擇。
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. 擴展視覺工作室
- 2. 視覺工作室擴展與對接窗口
- 3. 視覺工作室編輯窗口偷焦
- 4. GCC與視覺工作室宏擴展
- 5. 有選擇地接受視覺工作室中的編輯?
- 6. wso2碳工作室 - 註冊擴展文件編輯器
- 7. 在視覺工作室中未選擇「Choose toolbox items」窗口
- 8. 麻煩與視覺工作室文件擴展名(.vdproj)
- 9. 數字文字的視覺工作室intelisense窗口?
- 10. 視覺工作室中的Eclipse編輯器右鍵欄
- 11. 視覺工作室編輯並繼續選項不存在
- 12. 視覺工作室2015年編輯器與視覺工作室代碼爲角4
- 13. 擴展functionalitty(又名修改)視覺工作室C/C++編譯器
- 14. 讓編輯器專注於視覺工作室插件代碼
- 15. 視覺工作室文件解析器
- 16. 視覺工作室
- 17. 視覺工作室
- 18. 編輯通過視覺工作室一個msword文件
- 19. 視覺工作室窗口窗體和gridview
- 20. git擴展導致視覺工作室按鈕消失
- 21. 將視覺工作室加載項添加到擴展庫
- 22. 不同窗口之間的視覺工作室熱鍵
- 23. 如何獲取visual studio 2015編輯器窗口的選定文本?
- 24. 視覺工作室複製選擇(在設計器中)控制名稱粘貼到文本編輯器
- 25. 視覺工作室設計師屬性窗口vs設計器文件
- 26. 拖放地鐵控制窗口窗體不工作在視覺工作室2013
- 27. exe無需控制檯窗口,沒有視覺工作室
- 28. 視覺工作室忘記窗口設置,並使混亂
- 29. 視覺工作室輸出窗口沒有顯示
- 30. 視覺工作室。粘貼一些特定文本的熱鍵