ScintillaNet 自动完成带有字符“-”的奇怪行为

问题描述 投票:0回答:2

我正在尝试使用 ScintillaNet 为我的代码编辑器实现自动完成系统。一切似乎都工作正常,但我意识到,如果填充的列表包含带有字符“_”的字符串,即格式 X_XYZ,则焦点会松开并且不会选择任何字符串(适用于 X、X_ 和 X_X,但会失去焦点以下字母)。

我想做的是在文本“this”之后显示列表。

存在此问题的字符串例如:

p_M_Restart -> OK
p_MDWTest -> Fails at D and following letters

我在 CharAdded 事件中的代码如下所示:

if (editor.GetWordFromPosition(editor.CurrentPos - 1) == TXT_THIS
    && e.Ch == '.')
{
    editor.AutoComplete.List = Parameters.ToList();
    editor.AutoComplete.SingleLineAccept = false;
    editor.AutoComplete.FillUpCharacters = "([";
    editor.AutoComplete.Show();      
}

“_”是特殊情况吗?或者这个角色需要考虑什么吗?

谢谢,

autocomplete scintilla
2个回答
0
投票

解决了以下 ScintillaNet 问题:

https://scintillanet.codeplex.com/workitem/34165

希望这对其他人有帮助。


0
投票

今天刚遇到这个。 我认为这与 C# 和 Scintilla 在涉及“_”等特殊字符时以不同方式对自动完成项目列表进行排序有关。

我通过在表单加载时将

Scintilla.AutoCOrder
设置为
Order.PerformSort
解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.