在用户选择.cs文件中的特定字符后,我正在编写一些单元测试方法来检查某些功能。
所以为此,我创建了dte object&将其Active Document设置为我的abc.cs文件&想要以编程方式选择该abc.cs文件中一行内的几个字符。
((TextSelection)m_testHelper.Dte2.ActiveDocument.Selection).GotoLine(46,true);
这允许选择整行(abc .cs文件中的第46行)。但我希望引号中的文本设置为选择,如下面的行号为abc .cs文件中所示。 46
private const string HeartBeatFileName = "abc.exe.heartbeat";
也尝试过:
((TextSelection)m_testHelper.Dte2.ActiveDocument.Selection).MoveToLineAndOffset(46, 50, true);
但是按预期工作。 我做错了吗?
答案 0 :(得分:0)
首先需要移动到初始点而不扩展选择,然后移动到扩展选择的最后一点。此示例选择活动文档第一行的字符5到10:
EnvDTE.TextSelection textSelection;
textSelection = (EnvDTE.TextSelection) _dte.ActiveDocument.Selection;
textSelection.MoveToLineAndOffset(1, 5, false);
textSelection.MoveToLineAndOffset(1, 10, true);