内容辅助处理器.java 里 !视图.getDocument().get().contains(建议) 这个条件语句使得第二次使用内容辅助的时候不能使用上一次语法建议之后的语法建议,例如:
public static final String[] 所有建议 = new String[] {"新建","复制","粘贴"};
如果第一次使用了 "复制" 这个建议,那么第二次不能弹出 "复制" 和 "粘贴" 建议,只能弹出 "新建" 建议,而选择了 "新建" 建议以后,就再也没有任何语法提示了。
解决方法应该是删掉 !视图.getDocument().get().contains(建议) 这个条件语句
删掉以后还面临一个问题:建议的产生是行首字符串决定的,如果存在行首空格、缩进,语法提示也失效了,下面的判断语句也需要改进:
.filter(建议 -> 建议.toLowerCase().startsWith(当前行文本))
内容辅助处理器.java 里
!视图.getDocument().get().contains(建议)这个条件语句使得第二次使用内容辅助的时候不能使用上一次语法建议之后的语法建议,例如:public static final String[] 所有建议 = new String[] {"新建","复制","粘贴"};如果第一次使用了
"复制"这个建议,那么第二次不能弹出"复制"和"粘贴"建议,只能弹出"新建"建议,而选择了"新建"建议以后,就再也没有任何语法提示了。解决方法应该是删掉
!视图.getDocument().get().contains(建议)这个条件语句删掉以后还面临一个问题:建议的产生是行首字符串决定的,如果存在行首空格、缩进,语法提示也失效了,下面的判断语句也需要改进:
.filter(建议 -> 建议.toLowerCase().startsWith(当前行文本))