Я пытаюсь реализовать автозаполнение Java в одном из моих проектов ScintillaNET, и у меня возникла проблема. Я выполнял все необходимые шаги
- Убедитесь, что ScintillaNET (и необходимые .dll) находятся в моей переменной PATH.
- В мой редактор добавлены значения параметров CustomLocation и Language.
Ниже приведен мой код для проверки, и я убедился, что параметры установлены правильно... Я просто потерялся.
Scintilla sciEditor = (Scintilla)selectedTab.Controls["sciEditor"];
using (StreamReader sr = new StreamReader(fileName))
{
String line = sr.ReadToEnd();
sciEditor.Text = line;
}
if (ext == "java")
{
sciEditor.ConfigurationManager.Language = "java";
sciEditor.ConfigurationManager.CustomLocation = @"C:\java.xml";
sciEditor.CharAdded += new EventHandler<CharAddedEventArgs>(sciEditor_CharAdded);
}
Таким образом, вы можете видеть, что я читаю текст в редакторе Scintilla, и если файлы ext являются java (которые я анализирую над этим блоком и получаю правильный ответ), тогда я устанавливаю язык редактора на java и устанавливаю свое пользовательское местоположение на файл java.xml
<?xml version="1.0" encoding="utf-8"?>
<ScintillaNET>
<Language Name="java">
<AutoComplete FillUpCharacters=".([" SingleLineAccept="True" IsCaseSensitive="False">
<List>
abstract assert boolean break byte case catch char class continue default do double else enum extends
final finally float for if import int interface long native new package private protected public return
short static strictfp super switch synchronized this throw throws transient try void volatile while
</List>
</AutoComplete>
<Indentation TabWidth="4" SmartIndentType="cpp" />
<Lexer LexerName="java" LineCommentPrefix="//" StreamCommentPrefix="/* " StreamCommentSuffix=" */" >
<Keywords List="0" Inherit="False">
abstract assert break case catch continue default do else extends final finally for if import interface
native new package private protected public return strictfp super switch synchronized this throw throws
transient try volatile while
</Keywords>
<Keywords List="1" Inherit="False">
boolean byte char class double enum float int long short static
</Keywords>
</Lexer>
</Language>
</ScintillaNET>
И всякий раз, когда я развертываю (и имею .xml в моей папке C:\ (или развертываю рядом с моим исполняемым файлом), он не применяет никаких стилей (и автозаполнение пусто). Помимо загрузки и перекомпиляции моего собственного, я понятия не имею, что неправильный.