我正在使用RSyntaxtextarea在我的swing应用程序中编写JavaScript代码,并使用JavaScriptLanguageSupport.获得自动建议
我被这个问题堵住了:
我想将这个变量添加到解析器中:
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
};因此,在我的textPane上,我可以写:“person。”并将firstName、lasName和id作为自动提示,如下所示:
My textPane:
RSyntaxTextArea expTextArea = new RSyntaxTextArea(1, 20);
expTextArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVASCRIPT);
RTextScrollPane sp1 = new RTextScrollPane(expTextArea);
JavaScriptLanguageSupport languageSupport = new JavaScriptLanguageSupport();
JavaScriptParser javaParser = new JavaScriptParser(languageSupport, expTextArea);
languageSupport.install(expTextArea);我试图调用javaParser.setVariablesAndFunctions,但无法理解该方法是如何工作的:
JavaScriptVariableDeclaration subject = new JavaScriptVariableDeclaration("s",1,null new CodeBlock(1));
VariableResolver vr = new VariableResolver();
vr.addLocalVariable(subject);
javaParser.setVariablesAndFunctions(vr);发布于 2019-01-25 12:02:56
我想你在这里要做的是实现一个自定义的自动完成。
不幸的是,有很多方法可以在CompletionProvider中实现。方法可能是黑DefaultCompletionProvider返回自定义完成(解析您自己留下的插入符号的文本,该部分并不难)。
之后,您可以从自定义完成提供程序直接创建AutoComplete对象。
我可能会亲自试验这些东西,但不确定我什么时候会有时间。
https://stackoverflow.com/questions/53874430
复制相似问题