在 JFace TextViewer 中设置插入符位置
我想在 TextViewer 中创建一些宏功能。所以我附加了一个 TextListener。在其 textChanged-Method 中,我检查宏热键。每当遇到此热键时,TextListener 就会分析之前的单词,然后将其替换为宏内容(通过 TextViewer#getDocument().replace())。这有效。
现在,在用其内容替换宏名称后,我想将插入符号放置在宏内容之后的位置。这是行不通的。我尝试调用 TextViewer.setSelectedRange(offset,0) 并尝试 ((StyledText)TextViewer.getControl()).setCaretOffset(offset)。但插入符号始终保持在输入热键的位置。
有什么想法吗?
I want to create some Macro abilities in a TextViewer. So I attached a TextListener. In its textChanged-Method I check for a Macro-Hotkey. Whenever it encounters this hotkey, the TextListener analyzes the word just before and then replaces it against the macro contents (via TextViewer#getDocument().replace()). This works.
Now just after replacing the macro name with its contents, I would like to place the caret to a position just after the macro contents. This doesn't work. I tried to call TextViewer.setSelectedRange(offset,0) and I tried ((StyledText)TextViewer.getControl()).setCaretOffset(offset). But the Caret remains always at the position where the hotkey was entered.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论