在JFace文本编辑器中应用CompletionProposal时,提案中的replacementLength参数似乎不受尊重。
以下是我添加的提案:
CompletionProposal comp = new CompletionProposal(replacementStr,
replacementOffset, replacementLength, cursorPosition , img,
displayStr, null, additionalInfoStr);
在调试器中验证替换偏移量,长度和字符串值,这正是我所期望的。应用提案时,它会按预期插入插入符号偏移量,但不会替换该行上的任何文本。相反,插入符右侧的文本将移动到插入文本的右侧。替换长度对应于突出显示的文本的长度,但是在没有任何选择的情况下它也不起作用,在这种情况下,我硬编码预期的替换长度。
我在搜索时没有找到任何关于此问题的报告,并且当我应用带有选定文本的道具时,JDT编辑器会按预期替换文本。所以我假设还需要其他东西,因为API非常简单,我没有看到预期的结果。