如何构建类似Jetbrains的sql自动完成功能?

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

我们正在为 SQL 数据库构建一个 IDE。我有 Antlr4 SQL 语法,我想构建一个自动完成器。您将如何构建一个可靠的自动完成器,使其与 Jetbrains IDE 中一样好用?为什么 Antlr4 不起作用?有什么更好的选择吗?

现在我们使用 Antlr4 生成解析器,并使用 C3 提供自动完成功能。而且它并不完美。我不是解析器大师,但在我看来,如果我们完成查询的结尾,例如,我们的设置效果最好。

SELECT * FROM |
|
是光标)。但是如果我们想在下一个查询中建议所有可用的列
SELECT id, | FROM test_table
,antlr就做不到,因为这句话是不正确的,有错误。基本上编辑不完整的sql查询是一个常见的用户需求,我们希望满足它。

sql autocomplete ide
1个回答
0
投票
  1. Antlr 不支持 SQL,所以我不知道你为什么使用它: “ANTLR 4 支持 10 种目标语言(Cpp、CSharp、Dart、Java、JavaScript、PHP、Python3、Swift、TypeScript、Go)”

  2. 寻求工具/软件的建议是本论坛的题外话,但这是让您快速解决问题的好方法

  3. 既然已经有很多可用的 IDE,为什么还要尝试构建 SQL IDE?如果这是一个学校/大学项目那么我肯定会选择更简单的东西

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