在.cs Document中选择一行内的偏移/范围

时间:2014-12-23 09:17:59

标签: c#-4.0 envdte

在用户选择.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);

但是按预期工作。 我做错了吗?

1 个答案:

答案 0 :(得分:0)

首先需要移动到初始点而不扩展选择,然后移动到扩展选择的最后一点。此示例选择活动文档第一行的字符5到10:

EnvDTE.TextSelection textSelection;

textSelection = (EnvDTE.TextSelection) _dte.ActiveDocument.Selection;

textSelection.MoveToLineAndOffset(1, 5, false);
textSelection.MoveToLineAndOffset(1, 10, true);