如何 show/activate 打开文档中的文本光标? [C#, EnvDTE]

How do I show/activate the text cursor in open document? [C#, EnvDTE]

我试图在打开的文档中设置光标,但它没有显示。我可以看到该行是 "marked" 我可以 "navigate" 行,但是没有显示光标,因此我无法写任何东西。此外,文档似乎并未真正完全加载,因为指南和导航地图也未显示。
这让我相信焦点没有完全设置在文档中。
我已经确认焦点确实没有在 window 的文档中设置,因为如果我之前有输出 window 焦点,它在 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);

我不想在文档内部手动单击以使其完全加载并让我能够在其中书写。

希望有人能帮助我。

哦,好吧,另一个问题我必须自己解决...二对二。我想人们对这里的了解并不像我希望的那么多。嗯。

任何人,我发现如果你使用 DTE.ItemOperations.OpenFile(path); 而没有别的, 该文件将正确接收焦点,就像您使用 .Activate().

时一样