自动完成

自动完成(英语:Auto-Complete)功能,指用户在输入一个字符串的部分内容时,就提供下拉菜单自动推荐相关常用字符串供用户选择以快速输入的一项功能特性。

维基百科搜索建议自动完成功能

历史

自动完成(也称为自动改正)和预测字词(也称为预测文本)技术最早是由中国的科学家和语言学家发明的。在1950年代,中文输入主要依靠中文打字机,但是由于汉字是语素文字,比起使用使用拼音文字的语言,中文打字机的设计更复杂特殊,随之而来是极低的打字效率[1]。用户需要在中文打字机的几千个按键中查找需要文字。[2][3][4]

1950年代,打字机的按键排序开始改进,人们首先将文字的排列从传统的字典排序改为了根据常用程度排序,这和现在的自动完成具有相同的逻辑。[5]关系字词的能力也很快被添加到中文打字机上,打字机可以根据已经输入的字符推荐接下来可能会输入的字,这一功能和已经和电脑时代的中文输入法类似以及手机时代的预测文本功能非常类似。根据斯坦福大学的历史学家墨磊宁(Thomas Mullaney)所说,中国在1960年代和1970年代设计的中文打字机对现代电脑的文字处理功能有了很大的启发,也对现代电脑的发展有着很大的贡献。[6][2][5]

在Web浏览器

 
Firefox 3的地址栏自动完成功能。

通常指浏览器等软件自动跟踪用户最近键入的资讯,如Web站点地址、表单的中资讯以及搜索查询等并在键入新的资讯时试图预测用户要键入的资讯,并提供可能的匹配内容的功能,目前大多现代网页浏览器都已具备此功能。[7]

  • 使用Web浏览器内建的功能,经由浏览器的窗体资料记忆功能,获取符合条件的字符串。
  • 使用AJAX功能,以已输入的片段内容,向WebServer端获取符合筛选条件的字符串清单。

在电邮软件

电邮软件中,自动完成通常用于填写收件人的电邮地址。只要输入电邮地址的前几个字,就会出现下拉菜单供选择。就像网站URL一样,电邮地址往往是很长的一串字,因此不方便输入。

在代码的编辑器

很多编程语言的集成开发环境或编辑器中都支持自动完成。例如在输入类别或组件的变量后,再输入".",会出现其成员变量或成员函数名称的下拉菜单供选择。

在命令行

 
Bash中命令行补全的实例。

命令行补全英语Command-line completion(Command-line completion)允许用户在CLI键入命令、文件名等的一部分,再透过补全按键(常为Tab)加以补全。

在其他软件

参考资料

  1. ^ Mcclure, Max. Chinese typewriter anticipated predictive text, finds historian. 12 November 2012. 
  2. ^ 2.0 2.1 Sorrel, Charlie. How it Works: The Chinese Typewriter. Wired. February 23, 2009.  参数|magazine=与模板{{cite web}}不匹配(建议改用{{cite magazine}}|website=) (帮助)
  3. ^ Greenwood, Veronique. Why predictive text is making you forget how to write. New Scientist. 14 December 2016. 
  4. ^ O'Donovan, Caroline. How This Decades-Old Technology Ushered In Predictive Text. Buzzfeed. 16 August 2016. 
  5. ^ 5.0 5.1 Mullaney, Thomas S. 90,000 Characters on 1 Keyboard. Foreign Policy. 2018-07-16 [25 April 2020]. 
  6. ^ Featured Research – world's first history of the Chinese typewriter, Humanities at Stanford, January 2, 2010 
  7. ^ 使用自动完成功能节省时间. Microsoft Corporation. 于2009年6月30日查阅.. [2009年6月30日]. (原始内容存档于2011年1月28日). 
  8. ^ TabKey Appinn - Tab 一下,自动完成输入!. 小众软件. 于2009年6月30日查阅.. [2009年6月30日]. (原始内容存档于2021年1月26日).