[英]How to enable Virtual Space in AvalonEdit?
我想實現“虛擬空間”功能,類似於AvalonEdit中Visual Studio中的功能。
也就是說,插入符號可能會定位在文本行的末尾,並且如果您按任意鍵,則會自動添加空格以進行匹配。
我已經非常習慣了此功能,但是如果完全支持它,那么Googling和研究AvalonEdit的代碼都不會給我任何有關如何啟用它的線索。
如果不是這樣,建議如何擴展插入符號處理機制將是不錯的選擇。
謝謝!
編輯:虛擬空間支持已添加到版本4.2.0.8283中的AvalonEdit 。 設置textEditor.Options.EnableVirtualSpace = true;
。
以下是我的原始答案。
目前不支持。
如果要嘗試添加它,請確保已閱讀“坐標系”文檔(在CodeProject的幫助文件中)。 您將需要擴展“可視列”,以使行尾之后的位置有效。 而且,您必須調整position <->列計算(VisualLine.GetVisualColumn和好友)。 使用TextView.WideSpaceWidth找出行尾之后的列。
上面應該允許您使用鼠標將插入號放置在虛擬空間中。 之后,您需要更改插入符號的移動(箭頭鍵,CaretNavigationCommandHandler)和文本輸入邏輯(TextArea.PerformTextInput)以也支持虛擬空間。
並且,如果您成功完成了上述步驟,請不要忘記將所做的更改返回給AvalonEdit。 :-)雖然我自己也不喜歡虛擬空間,但是我們需要類似的東西來使RectangleSelection正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.