Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 拼写检查框架可以用于代码提示吗?_Java_Android - Fatal编程技术网

Java 拼写检查框架可以用于代码提示吗?

Java 拼写检查框架可以用于代码提示吗?,java,android,Java,Android,我正在查看拼写检查器框架,想知道是否可以使用它在我的应用程序中实现代码暗示。我可以实现自定义“代码”字典吗?只是想知道这是否是一种在开始之前完成代码的可能方法。好的代码完成(在我个人看来)是上下文敏感的,应该只显示范围内的事情的完成情况,并且适用于代码中的当前位置。例如,在java中,在一个方法之外显示方法名的完整性是没有意义的。对于代码注释,对英语词典进行简单的拼写检查是有意义的,但对于方法和变量名等,检查是没有意义的 如果你想要一个功能齐全的代码编辑器,我认为你需要自己设计一个编辑器(例如,

我正在查看拼写检查器框架,想知道是否可以使用它在我的应用程序中实现代码暗示。我可以实现自定义“代码”字典吗?只是想知道这是否是一种在开始之前完成代码的可能方法。

好的代码完成(在我个人看来)是上下文敏感的,应该只显示范围内的事情的完成情况,并且适用于代码中的当前位置。例如,在java中,在一个方法之外显示方法名的完整性是没有意义的。对于代码注释,对英语词典进行简单的拼写检查是有意义的,但对于方法和变量名等,检查是没有意义的

如果你想要一个功能齐全的代码编辑器,我认为你需要自己设计一个编辑器(例如,不使用TextView本身),自己完成,也许可以使用系统拼写检查器API来拼写检查代码注释。您可能希望查看TextView.java和Editor.java的源代码,了解如何在编辑器级别实现自己的代码编辑器和完成UI(可能与其他开源代码编辑器结合使用)

如果您的需求相对简单,您可以通过在文本视图(拼写检查器就是这样做的)的文本中添加类型SuggestionSpan的范围以及完成信息来实现

拼写框架基本上是设计用来对照字典检查一个或多个单词,而不考虑上下文。(请参阅SpellCheckerSession。您没有太多上下文。)


另一件事:在主动撰写文本(输入单词)时,补全通常由输入法处理,它(通常)在软输入区域的单词选择列表中显示补全。您可能不需要这些补全/建议,因为输入方法只处理由InputType定义的编辑器类型的补全,如果您试图将编辑器伪装成纯文本,您可能会得到不理想的结果。在您的情况下,您可能希望在编辑器中处理补全(有点像TextView在点击拼写错误的单词时处理建议的方式),并确保编辑器通过键入“\u TEXT\u FLAG\u NO\u suggestions”来禁用IME建议(这也会禁用拼写检查)。如果你真的很有野心,我想你也可以写一个输入法来配合你的编辑器。

非常感谢你给出了这个详细的答案!不客气。我最近碰巧在看TextView和相关代码,以及它使用拼写检查服务的方式。