0
我目前正在使用Scintilla爲Text組件創建一個IDE。但自動完成有一些問題,我不能修復。Scintilla.NET自動完成自動選擇第一個元素(C#)
我輸入後自動顯示提案列表。在對象或類名後。
然後我打電話以下幾點:
int pos = _editor.NativeInterface.GetCurrentPos();
string word = _editor.GetWordFromPosition(pos - 1);
if (string.IsNullOrEmpty(word))
return;
if (Objects.Keys.Contains(word))
{
System.Reflection.MemberInfo[] memberInfos = Reflector.PublicMembersOf(Objects[word]);
List<String> proposals = new List<string>();
foreach (System.Reflection.MemberInfo mi in memberInfos)
{
string member = mi.ToString();
if (Reflector.IsRealMethod(mi))
proposals.Add(mi.ToString().Split(" ".ToCharArray(), 2)[1].Replace(" ", ""));
}
proposals.Sort();
_editor.AutoComplete.Show(0, proposals);
}
Objects
是HashMap<String, Type>
所有的對象,並有相應的類型存儲。
當我第一次調用自動完成時,它工作正常。但第二次使用它會自動完成proposals
的第一個元素。
對此沒有評論?你需要更多的代碼嗎?我真的需要這個,我沒有完成它。 – 2012-02-07 09:11:58