簡體   English   中英

如何在AvalonEdit中啟用虛擬空間?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM