我在看拼寫檢查框架,並想知道我是否可以使用它在我的應用程序中實現代碼提示。我可以實現一個自定義的「代碼」字典嗎?只是想知道這是否是在開始之前完成代碼完成的可能方法。拼寫檢查框架可以用於代碼提示嗎?
0
A
回答
1
良好的代碼完成(在我個人看來)是上下文敏感的,應該只顯示範圍內並且適用於代碼中當前位置的事物的完成。例如,在java中,在方法外顯示方法名稱完成沒有意義。對於代碼註釋來說,對英文字典進行明文拼寫檢查是有意義的,但對於方法和變量名稱不能進行拼寫檢查。
如果您想要一個功能完整的代碼編輯器,我認爲您需要提供自己的編輯器(例如,本身不使用TextView)並執行自己的完成操作,也許使用系統拼寫檢查API來拼寫檢查代碼註釋。您可能需要查看TextView.java和Editor.java的源代碼,以瞭解如何在編輯器級別實現自己的代碼編輯器和完成UI(可能與其他開放源代碼編輯器一起使用)。
如果您的需求相對簡單,您可以通過將類型SuggestionSpan的跨度添加到TextView中的文本(這是拼寫檢查程序所執行的操作)來完成信息。
拼寫框架基本上被設計爲檢查一個或多個字詞而不考慮上下文。 (請參閱SpellCheckerSession。您沒有得到很多上下文。)
另一件事:當主動編寫文本(輸入一個詞)時,完成通常由輸入方法處理,它顯示一個詞中的完成詞(通常)軟輸入區域中的選項列表。由於輸入方法只處理由InputType定義的編輯器類型的完成項,並且如果試圖欺騙編輯器(如純文本),您可能不希望這些完成/建議,因此您可能得不到理想的結果。在你的情況下,你可能想要在編輯器中處理完成(有點像TextView在拼寫錯誤的單詞時處理建議的方式),並確保編輯器通過TYPE_TEXT_FLAG_NO_SUGGESTIONS(禁用拼寫檢查器)禁用IME建議。如果你真的有雄心壯志,我想你也可以編寫一個輸入法來和你的編輯一起工作。
相關問題
- 1. 拼寫檢查我的Delphi源代碼
- 2. 適用於Visual Studio 2010的好代碼拼寫檢查器
- 3. 我可以在Android中檢查拼寫嗎?
- 4. 谷歌自然語言可以用於拼寫檢查和語法檢查
- 5. 是否有任何拼寫檢查代碼顯示在GUI中?
- 6. 拼寫檢查
- 7. SPA框架可以用於MPA嗎?
- 8. 拼寫檢查不適用於WPF RichTextBox
- 9. 我如何檢查拼寫,但沒有表現出拼寫檢查對話框?
- 10. 如何讓Android的拼寫檢查框架內工作
- 11. Windows 8拼寫檢查提供商
- 12. javascript拼寫檢查
- 13. Solr拼寫檢查
- 14. WPF拼寫檢查
- 15. hunspell拼寫檢查
- 16. Solr拼寫檢查
- 17. 拼寫檢查textfield
- 18. Iphone拼寫檢查
- 19. UISearchBar拼寫檢查
- 20. GWT拼寫檢查
- 21. 拼寫檢查器
- 22. 用emacs對C++代碼中的註釋進行拼寫檢查
- 23. Windows Phone 7拼寫檢查文本框
- 24. 交互式拼寫檢查程序可用於emacs
- 25. 我在哪裏可以獲得用於檢查拼寫的字典文件?
- 26. 我可以寫代碼混合(EMO框架和Cocos2d)
- 27. 基於編輯距離和lcs的提示性拼寫檢查器?
- 28. 我可以寫更好的代碼嗎?
- 29. 我可以在Cocoa框架代碼中設置斷點嗎?
- 30. 我如何完成我的拼寫檢查代碼?
非常感謝您的詳細解答! – RapsFan1981
不客氣。我碰巧一直在研究TextView和相關代碼以及它使用拼寫檢查器服務的方式。 – user1170291