跳转到内容

自动完成

本页使用了标题或全文手工转换
维基百科,自由的百科全书
(重定向自自动补全

自动完成(英語: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日).