我正在尝试将光标设置在打开的文档中,但是没有显示。我可以看到该行已被“标记”,并且可以“导航”该行,但是没有显示光标,因此我无法编写任何内容。此外,由于指南和导航图也未显示,因此似乎文档并未真正完全加载。
这让我相信焦点并没有完全放在文档内部。
我已经确认焦点确实没有设置在窗口的文档中,因为如果我之前将输出窗口聚焦,则在调用window.Activate()
方法之后它仍会聚焦。
我使用了通过ProjectItem.Open(Constants.vsViewKindCode)
打开文档,激活文档并使用TextSelection.GotoLine(1,false)
方法的常用方法。
这可以正确显示文档并正确设置行,但是我必须手动单击文档内部以显示光标。
我拥有的代码:
Window window = projItem.Open(Constants.vsViewKindCode);
window.Activate(); <----- this does not focus the window.
TextSelection textSelection = window.Document.Selection as TextSelection;
textSelection.GotoLine(1, false);
我不需要手动单击文档内部就可以完全加载文档,也不需要在其中写东西。
希望有人可以帮助我。
答案 0 :(得分:0)
哦,我必须自己解决另一个问题……二对二。我想人们对这里的了解不如我希望的那么多。哦,很好。
任何人,我发现如果您使用DTE.ItemOperations.OpenFile(path);
而不是其他任何东西,
该文件将正确地获得焦点,就像使用.Activate()
时应具有的焦点一样。