[发明专利]一种代码编辑方法、装置、服务端、用户设备及存储介质有效
| 申请号: | 202110418591.4 | 申请日: | 2021-04-19 |
| 公开(公告)号: | CN112817583B | 公开(公告)日: | 2022-02-01 |
| 发明(设计)人: | 王倩倩;朱佳墩;向邦宇 | 申请(专利权)人: | 阿里云计算有限公司 |
| 主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F16/33 |
| 代理公司: | 上海知锦知识产权代理事务所(特殊普通合伙) 31327 | 代理人: | 汤陈龙 |
| 地址: | 310024 浙江省*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 代码 编辑 方法 装置 服务端 用户 设备 存储 介质 | ||
1.一种代码编辑方法,其中,所述方法应用于编辑器服务端,所述方法包括:
获取编辑器前端发送的数据补全请求,所述数据补全请求包括代码编辑界面实时的代码变更内容;
根据所述代码变更内容,确定所述代码编辑界面实时输入的代码文档;
将所述代码文档转化为语法树;
根据所述语法树,解析所述代码文档中当前输入位置的部分代码数据,以及解析所述部分代码数据的数据类型;所述数据类型包括如下任一项:关键字、函数和元数据;所述元数据包括表、字段、库;
根据所述数据类型,确定匹配所述部分代码数据的候选代码数据;
将所述候选代码数据发送给编辑器前端进行展示;
其中,所述根据所述语法树,解析所述部分代码数据的数据类型包括:
调用第一数据类型相应的检测逻辑,根据所述第一数据类型相应的检测逻辑以及所述语法树,检测所述部分代码数据的数据类型是否为第一数据类型;
其中,所述第一数据类型相应的检测逻辑的调用顺序预先设置,且在检测所述部分代码数据的数据类型不为第一数据类型时,调用第二数据类型相应的检测逻辑,以根据所述第二数据类型相应的检测逻辑以及所述语法树,检测所述部分代码数据的数据类型是否为第二数据类型;所述第一数据类型不同于第二数据类型。
2.根据权利要求1所述的方法,其中,所述第一数据类型为关键字,所述根据所述第一数据类型相应的检测逻辑以及所述语法树,检测所述部分代码数据的数据类型是否为第一数据类型包括:
遍历语法树进行语法诊断;
获取语法诊断结果,所述语法诊断结果包括代码文档中错误对象的错误提示,所述错误对象包括所述代码文档中当前输入位置的部分代码数据;
若所述部分代码数据的错误提示为缺少关键字,则确定所述部分代码数据的数据类型为关键字;
所述根据所述数据类型,确定匹配所述部分代码数据的候选代码数据包括:
根据所述部分代码数据的错误提示,确定与所述部分代码数据相匹配的候选关键字;所述部分代码数据的错误提示提示有所述部分代码数据可能匹配的正确关键字。
3.根据权利要求1所述的方法,其中,所述第二数据类型为函数,所述根据所述第二数据类型相应的检测逻辑以及所述语法树,检测所述部分代码数据的数据类型是否为第二数据类型包括:
根据语法树,判断当前输入位置之前的节点,是否为预设的推荐函数的节点,若是,确定当前输入位置的部分代码数据的数据类型为函数;
所述根据所述数据类型,确定匹配所述部分代码数据的候选代码数据包括:
确定匹配所述部分代码数据的候选函数。
4.根据权利要求1所述的方法,其中,所述第二数据类型为元数据,所述根据所述第二数据类型相应的检测逻辑以及所述语法树,检测所述部分代码数据的数据类型是否为第二数据类型包括:
根据语法树,判断当前输入位置的部分代码数据之前的代码字符是否为预设的调用表的字符,若是,确定所述部分代码数据的数据类型为元数据中的表,其中,所述候选代码数据包括候选表;
或者,根据语法树,判断当前输入位置之前的节点,是否为预设的推荐字段的节点,若是,确定所述部分代码数据的数据类型为元数据中的字段,其中,所述候选代码数据包括候选字段,所述候选字段为属于当前表中的字段。
5.根据权利要求4所述的方法,其中,所述根据所述数据类型,确定匹配所述部分代码数据的候选代码数据包括:
在所述部分代码数据的数据类型为元数据时,判断当前输入位置的部分代码数据是否符合元数据名称;若是,根据自定义的所述元数据名称对应的数据获取接口,获取与所述部分代码数据相匹配的候选元数据;
所述方法还包括:
在确定候选表时,确定匹配所述部分代码数据的候选库;其中,候选库与候选表同步推荐给编辑器前端,以进行库和表的数据补全;所述候选表属于编辑器前端使用的当前库,所述候选库中具有不同于所述当前库的库。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里云计算有限公司,未经阿里云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110418591.4/1.html,转载请声明来源钻瓜专利网。





