gpt4 book ai didi

c# - 如何在 AvalonEdit 中启用虚拟空间?

转载 作者:行者123 更新时间:2023-11-30 21:17:09 24 4
gpt4 key购买 nike

我要实现"Virtual Space" AvalonEdit 中的功能类似于 Visual Studio 中的功能。

即插入符号可以位于文本行末尾之外,如果您按任意键,则会自动添加空格以匹配。

我非常习惯这个功能,但谷歌搜索和研究 AvalonEdit 的代码都没有给我任何关于如何启用它的线索,如果它被支持的话。

如果不是,建议如何扩展插入符处理机制会很好。

谢谢!

最佳答案

编辑:虚拟空间支持has been added to AvalonEdit在版本 4.2.0.8283 中。设置 textEditor.Options.EnableVirtualSpace = true;

下面是我的原答案。


目前不支持。

如果您想尝试添加它,请务必阅读“坐标系”文档(在 CodeProject 的帮助文件中)。您需要扩展“可视列”,以便行尾之后的位置有效。而且您必须调整位置<->列计算(VisualLine.GetVisualColumn 和 friend )。使用 TextView.WideSpaceWidth 找出行尾之后的列。

上面应该允许您使用鼠标将插入符号放置在虚拟空间中。之后,您需要更改插入符移动(箭头键、CaretNavigationCommandHandler)和文本输入逻辑 (TextArea.PerformTextInput) 以也支持虚拟空间。

如果您成功完成上述步骤,请不要忘记将您的更改贡献回 AvalonEdit。 :-)虽然我自己不是虚拟空间的粉丝,但我们需要类似的东西来使 RectangleSelection 正常工作。

关于c# - 如何在 AvalonEdit 中启用虚拟空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4941152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com