目前我正在嘗試爲PHP語言構建一個文本編輯器,該編輯器應該具有代碼補全的功能,即如果我開始輸入一個詞,則動態創建的下拉列表將顯示所有可用的關鍵字都以我輸入的字母開頭。任何機構都可以告訴我如何做到這一點。想法對我來說已經足夠了。如果可能的話,請爲我提供一個鏈接,使用C#編寫這樣簡單的應用程序構建帶代碼補全功能的文本編輯器
回答
考慮到一般來說這不是一件容易的事,所以沒有一些「簡單」的應用程序。
即使在一般的想法是不是火箭科學。你需要定義一個單詞字典,對應於某個鍵。當你輸入「。」時(在C#
)你必須從字典中選擇所有對應於該鍵的單詞,該單詞相當於在上找到的單詞,從左側的側面出現「。」。
要做到這一點真正的工作應用並不那麼容易。順便說一句,我可以推薦看看他們的編輯MonoDevlop。
我幾年前就和它合作爲DSL公司做了一個簡單的編輯器,花費了很少的時間來正確理解內部信息,很好地整合了「我的新語言」,「分離」Mono的控制並注入到我們的應用程序,就像一個可停靠的窗口。
現在我的問題是我必須創建一個動態列表框,按下'。'後有詞典中的關鍵字。怎樣才能做到這一點?我想知道如何在給定'。'的正下方在豐富的文本框中動態地創建一個列表框。 –
** **編輯器爲你處理這個問題,你只需要提供一個你想在裏面顯示的單詞的「詞典」,以及查找鍵。至少在那個時候它以那種方式工作,但不要認爲它有太大的改變。 – Tigran
如果我在這裏你我真的盡力避免車輪...代碼完成是大多數IDE的,現在配備了等你以後有什麼是已經上市...
話雖這麼說,我什麼將嘗試將通過PHP API並構造一個Suffix tree。這種類型的樹通常允許快速查找給定單詞。一旦您爲API編制索引,您還可以添加用戶在執行實際編程時添加的任何其他變量。
在用戶輸入第三個字母后,您可以在後綴樹中自動啓動搜索,或者爲用戶提供手動激活它的方法,如大多數IDE的鍵盤(Visual Studio,Netbeans,Eclipse等) )有。
請注意,這可能會變得棘手,因爲您可能想要選擇適當的變量類型。
- 1. 從源代碼構建舊版本的Atom文本編輯器?
- 2. 構建文本編輯器
- 3. 帶有比較功能的大型文本文件編輯器?
- 4. 帶編輯文本的警報對話框構建器
- 5. 帶調試功能的D編輯器
- 6. 文本編輯器的純功能數據結構
- 7. 具有文件瀏覽功能的遠程代碼編輯器
- 8. 帶lesscss支持的代碼編輯器?
- 9. 富文本編輯器,就像一個源代碼編輯器
- 10. 快速代碼編輯功能
- 11. 在線文本編輯器不能使用我的javascript代碼
- 12. 帶插入功能的代碼點火器安全
- 13. 帶班探險Perl代碼編輯器
- 14. 如何實現帶編輯文本的快速搜索功能
- 15. 編輯和構建libstdC++源代碼
- 16. Monobehaviour腳本中的編輯器功能
- 17. OSX Lion全屏代碼編輯器?
- 18. 帶有ASP.Net文件上傳功能的TinyMCE編輯器MVC4
- 19. 從零開始創建文本/代碼編輯器
- 20. swt或jface代碼來創建文本編輯器和畫布
- 21. vb.net/C#帶顏色編碼的代碼編輯器
- 22. 帶文本編輯器的Django
- 23. 帶按鈕的文本編輯器?
- 24. 面向代碼的編輯器:必備功能?
- 25. 如何使用Notepad ++實現「CodeIgniter 2.0」代碼補全功能?
- 26. 如何使用WPF構建簡單的源代碼編輯器?
- 27. 文本編輯不能識別編碼
- 28. 豐富的文本編輯器建議CMS構建onZend框架
- 29. 編譯並構建fedora的補鞋匠源代碼rpm
- 30. 構建功能修補程序時出現編譯錯誤
我想問你爲什麼要重新發明輪子? –
程序員的可能候選人.stackexchange.com – Adil
只是爲了我自己的興趣 –