AvalonEdit中的自动补全和缩进无法工作。
创始人
2024-11-12 18:30:10
0

在使用自动补全功能时,应该定位光标的位置,以便在插入文本时正确地处理缩进。以下是使用AvalonEdit的示例代码:

private void TextEditor_TextArea_TextEntered(object sender, TextCompositionEventArgs e)
{
    if (e.Text == ".")
    {
        // 获取当前光标位置
        int caretOffset = textEditor.CaretOffset;
        int line = textEditor.Document.GetLineByOffset(caretOffset).LineNumber;
        int lineOffset = textEditor.Document.GetLineByOffset(caretOffset).Offset;
        int indent = lineOffset - textEditor.Document.GetLineByNumber(line).Offset;

        // 插入文本
        textEditor.Document.Insert(caretOffset, ".");
        textEditor.Document.Insert(caretOffset + 1, Environment.NewLine + new string(' ', indent));
        textEditor.CaretOffset = caretOffset + 2 + indent;
        e.Handled = true;
    }
}

在这个示例中,我们确定当前光标所在的行,然后使用该行的缩进量来插入一个新行,并重新定位光标以便使用缩进。

相关内容

热门资讯

第八分钟经验!aapoker能... 第八分钟经验!aapoker能控制牌吗(透视)一直存在有辅助神器(哔哩哔哩)进入游戏-大厅左侧-新手...
三分钟绝活儿!wpk辅助购买(... 三分钟绝活儿!wpk辅助购买(透视)好像是真的有辅助辅助(哔哩哔哩)1、wpk辅助购买辅助器安装包、...
六分钟模板!大菠萝辅助器(透视... 六分钟模板!大菠萝辅助器(透视)其实真的有辅助工具(哔哩哔哩)运大菠萝辅助器辅助工具,进入游戏界面。...
第8分钟办法!wepoker透... 第8分钟办法!wepoker透视脚本(透视)原来真的是有辅助开挂(哔哩哔哩)1、wepoker透视脚...
第二分钟积累!newpoker... 第二分钟积累!newpoker脚本(透视)果然存在有辅助工具(哔哩哔哩)newpoker脚本透视方法...
第4分钟攻略!德州来玩辅助器(... 第4分钟攻略!德州来玩辅助器(透视)本来真的有辅助下载(哔哩哔哩)小薇(辅助器软件下载)致您一封信;...
6分钟绝活儿!aapoker怎... 6分钟绝活儿!aapoker怎么控制牌(透视)好像有辅助开挂(哔哩哔哩)1、aapoker怎么控制牌...
七分钟指南书!aapoker破... 七分钟指南书!aapoker破解侠是真的吗(透视)原来存在有辅助教程(哔哩哔哩)暗藏猫腻,小编详细说...
第3分钟法门!智星德州插件(透... 第3分钟法门!智星德州插件(透视)好像真的有辅助辅助(哔哩哔哩)1、下载好智星德州插件脚本下载之后点...
1分钟机巧!wepoker到底... 1分钟机巧!wepoker到底有没有透视(透视)果然是有辅助开挂(哔哩哔哩)1、下载好wepoker...