如何 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()
.
时一样
我试图在打开的文档中设置光标,但它没有显示。我可以看到该行是 "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()
.