CN115048150A - 拼写提示方法、装置、设备及存储介质 - Google Patents
拼写提示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115048150A CN115048150A CN202210587846.4A CN202210587846A CN115048150A CN 115048150 A CN115048150 A CN 115048150A CN 202210587846 A CN202210587846 A CN 202210587846A CN 115048150 A CN115048150 A CN 115048150A
- Authority
- CN
- China
- Prior art keywords
- character
- spelling
- word
- plug
- prompt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Document Processing Apparatus (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种拼写提示方法、装置、设备及存储介质,属于计算机技术领域。本发明通过在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;基于所述字符信息检索单词树;根据检索结果生成单词列表;将所述单词列表展示给所述用户,以进行拼写提示,可在用户进行拼写时,给出提示,把关联到的正确单词进行提示,在一定程度上提升用户拼写输入的词汇的准确性,解决了开发用户在件开发工作时无法快速有效输入正确的词汇的问题,降低用户拼写输入的错误率,提升开发用户拼写输入的词汇的准确性,提高编码的准确率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种拼写提示方法、装置、设备及存储介质。
背景技术
在进行编程开发工作中,开发工程师将开发代码中的单词写错是一个比较常见的问题,例如java编程开发中的类名称、属性名、方法名写错。而并没有可以解决拼写错误的有效解决办法,只能依赖开发工程师自行进行检查,导致开发周期长且编码准确率低。
发明内容
本发明的主要目的在于提供一种拼写提示方法、装置、设备及存储介质,旨在解决现有技术开发人员进行开发时输入词汇错误造成编码准确率低的技术问题。
为实现上述目的,本发明提供了一种拼写提示方法,所述方法包括以下步骤:
在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;
基于所述字符信息检索单词树;
根据检索结果生成单词列表;
将所述单词列表展示给所述用户,以进行拼写提示。
可选地,所述基于所述字符信息检索单词树之前,还包括:
获取自定义信息;
根据所述自定义信息生成单词文件;
读取所述单词文件中的单词数据;
对所述单词数据进行格式处理,得到目标单词数据;
基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树。
可选地,所述基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树,包括:
获取所述目标单词数据中的字符串和字符串描述信息;
将所述字符串进行字符转换得到字符数组;
获取所述字符数组中字符排列顺序;
通过所述字符排列顺序生成字符节点;
通过子节点链表对字符节点中的根节点和字符节点中的子节点进行关系构建,将字符排列顺序中的目标字符所对应的字符节点添加字符串和字符串描述信息,建立单词树。
可选地,所述在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息之前,还包括:
获取新建提示插件项目请求;
基于所述新建提示插件项目请求获取插件包的插件包名称和插件名称;
对所述插件包进行分析,得到插件功能说明;
基于所述插件功能说明配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类的插件功能,得到配置信息;
基于所述插件包名称、所述插件名称、所述插件功能说明以及所述配置信息建立插件标识节点、名称节点、插件功能说明节点以及配置节点;
通过所述插件标识节点、名称节点、插件功能说明节点以及配置节点生成配置文件;
根据所述配置文件进行提示插件配置。
可选地,所述在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息,包括:
通过提示插件中的监听用户拼写输入实现类监听用户的输入信息;
根据所述输入信息获取所述用户输入的字符信息。
可选地,所述基于所述字符信息检索单词树,包括:
通过单词检索实现类定义继承自动补全实现类;
基于所述继承自动补全实现类得到补全类型;
获取自定义信息;
根据所述自定义信息和所述补全类型得到补全方式;
通过所述继承自动补全实现类、所述补全方式以及所述字符信息检索单词树。
可选地,所述根据检索结果生成单词列表,包括:
调用匹配处理器;
基于检索结果通过匹配处理器将所述字符信息与所述单词树进行匹配;
根据匹配结果生成预设数量的字符以及字符描述信息;
将所述预设数量的字符和字符描述信息放入匹配结果集中,生成单词列表。
此外,为实现上述目的,本发明还提出一种拼写提示装置,所述拼写提示装置包括:
获取模块,用于在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;
检索模块,用于基于所述字符信息检索单词树;
生成模块,用于根据检索结果生成单词列表;
展示模块,用于将所述单词列表展示给所述用户,以进行拼写提示。
此外,为实现上述目的,本发明还提出一种拼写提示设备,所述拼写提示设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的拼写提示程序,所述拼写提示程序配置为实现如上文所述的拼写提示方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有拼写提示程序,所述拼写提示程序被处理器执行时实现如上文所述的拼写提示方法的步骤。
本发明通过在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;基于所述字符信息检索单词树;根据检索结果生成单词列表;将所述单词列表展示给所述用户,以进行拼写提示,可在用户进行拼写时,给出提示,把关联到的正确单词进行提示,在一定程度上提升用户拼写输入的词汇的准确性,解决了开发用户在件开发工作时无法快速有效输入正确的词汇的问题,降低用户拼写输入的错误率,提升开发用户拼写输入的词汇的准确性,提高编码的准确率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的拼写提示设备的结构示意图;
图2为本发明拼写提示方法第一实施例的流程示意图;
图3为本发明拼写提示方法第二实施例的流程示意图;
图4为本发明拼写提示方法一实施例中单词树生成的流程示意图;
图5为本发明拼写提示方法第三实施例的流程示意图;
图6为本发明拼写提示方法第四实施例的流程示意图;
图7为本发明拼写提示方法第五实施例的流程示意图;
图8为本发明拼写提示装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的拼写提示设备结构示意图。
如图1所示,该拼写提示设备可以包括:处理器1001,例如中央处理器(CentralProcessing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(RandomAccess Memory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对拼写提示设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及拼写提示程序。
在图1所示的拼写提示设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明拼写提示设备中的处理器1001、存储器1005可以设置在拼写提示设备中,所述拼写提示设备通过处理器1001调用存储器1005中存储的拼写提示程序,并执行本发明实施例提供的拼写提示方法。
本发明实施例提供了一种拼写提示方法,参照图2,图2为本发明拼写提示方法第一实施例的流程示意图。
本实施例中,所述拼写提示方法包括以下步骤:
步骤S10:在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息。
需要说明的是,本实施例的执行主体为拼写提示软件,还可为其他可实现相同或相似功能的设备,本实施例对此不作限制,本实施例以拼写提示软件为例进行说明。
在本实施例中,用户进行词汇拼写时,可输入一个字符、两个字符或三个字符等,本实施例对此不加以限定。提示插件指的是通过设置的插件包进行配置的插件,通过提示插件对用户的拼写输入进行监听。提示插件中配置有监听用户拼写输入实现类监听用户的输入信息,还配置有单词检索实现类对单词树进行检索,并配置有单词树处理实现类对单词树进行生成。需要说明的是,字符信息指的是用户输入的词汇信息,可为多个字符或一个单词等。
具体地,在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息包括:通过提示插件中的监听用户拼写输入实现类监听用户的输入信息;根据所述输入信息获取所述用户输入的字符信息。
应理解的是,提示插件中配置有监听用户拼写输入实现类对用户进行拼写输入时监听,监听用户的输入信息,并根据输入信息获取用户输入的字符信息,当用户输入非字母格式的单词时,可不启动监听服务,当用户输入为字母格式的单词时,通过提示插件中的监听用户拼写输入实现类进行监听,得到用户的输入信息,并对用户的输入信息进行分析,获取用户输入信息中的字母格式的字符信息。例如用户输入信息为ma,则根据用户的输入信息获取输入的字符信息“ma”。
步骤S20:基于所述字符信息检索单词树。
需要说明的是,单词树指的是存储有大量单词的文件,单词树中的单词可包括与类名称、属性名以及方法名相关的单词,例如“main、data、queryBatch”等,还可包括其他与编程开发相关的单词,可根据用户需求进行自定义设置,本实施例对此不作限制。
应理解的是,单词树是通过常用的单词文件生成的一个单词树的结构,当监听到用户输入的字符信息后,启动提示插件中的单词检索实现类对单词树进行检索。例如监听到用户输入“m”的字符时,通过单词检索实现类检索单词树中“m”的单词树结构,并对m树结构下的所有单词进行遍历。
步骤S30:根据检索结果生成单词列表。
在具体实施中,当检索到字符信息对应的树结构下的字符单词时,可将检索到的所有字符单词生成初始单词列表,但考虑到初始单词列表中字符单词量大,导致提示速度慢,可在初始单词列表中筛选若干组字符单词生成单词列表展示给用户,例如5组、10组、15组等,本实施对此不作限制,考虑到提示的准确性和全面性以及提示效率,本实施例以10组为例进行说明。
在本实施例中,当对单词树进行检索后,可得到检索的字符单词以及对应的字符描述信息生成单词列表,单词列表中最多10组字符单词以及对应的字符描述信息,例如用户输入的字符信息为“b”,则检索单词树并进行筛选得到的单词列表中有:batch#批量,bug#故障,byte#字节。
步骤S40:将所述单词列表展示给所述用户,以进行拼写提示。
需要说明的是,当得到单词列表后,可通过提示插件展示单词列表,将单词列表中的字符单词以及对应的字符描述信息展示给用户,对用户进行拼写提示,使用户在拼写过程中快速进行提示,提高用户的拼写正确率和编程开发效率。
本实施例通过在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;基于所述字符信息检索单词树;根据检索结果生成单词列表;将所述单词列表展示给所述用户,以进行拼写提示,可在用户进行拼写时,给出提示,把关联到的正确单词进行提示,在一定程度上提升用户拼写输入的词汇的准确性,解决了用户在件开发工作时无法快速有效输入正确的词汇的问题,降低用户拼写输入的错误率,提升用户拼写输入的词汇的准确性,提高编码的准确率。
参考图3,图3为本发明拼写提示方法第二实施例的流程示意图。
基于上述第一实施例,本实施例拼写提示方法在所述步骤S20之前,还包括:
步骤S21:获取自定义信息。
需要说明的是,自定义信息指的是开发人员设置的与编程开发相关的信息,例如开发人员需要进行java编程开发,则自定义信息为自定义类名称、属性名以及方法名。
步骤S22:根据所述自定义信息生成单词文件。
在具体实施中,当获取自定义信息后,可根据自定义信息的类型生成相关的单词文件,例如自定义信息为类名称,则生成的单词文件可为类名称相关的单词文件,单词文件中可包括:Root、Source、Base、Head、Tool、Builder、Decider等,可根据自定义信息的类型生成对应的单词文件。单词文件的格式可为.txt格式、.doc格式或.excel格式,本实施例以.txt格式为例进行说明。
步骤S23:读取所述单词文件中的单词数据。
应理解的是,单词数据指的是非字母格式的单词,单词数据为用户进行编程开发常用的字符单词以及对应的字符描述信息,可根据生成的单词文件读取单词文件中的所有单词数据。
步骤S24:对所述单词数据进行格式处理,得到目标单词数据。
在具体实施中,格式处理指的是将单词数据中的字符单词和字符描述信息进行分割并将所有字符单词中的字符全部转小写,得到处理后的目标单词数据。
应理解的是,当得到单词文件后,按行读取单词文件中的信息,每一行单词数据用#分割,得到长度为2的字符串数组,数组的第一个元素为字符单词,第二个元素为描述信息,并将字符单词全部转小写。例如,单词数据中的字符单词为Batch,字符描述信息为批量。则对Batch进行格式处理,先将Batch和描述此字符单词的中文释义进行分割,得到Batch#批量,再将Batch转小写,得到的目标单词数据为:batch#批量,同理,根据此格式方法,可对单词数据中的所有字符单词进行格式处理,得到所有目标单词数据。
步骤S25:基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树。
需要说明的是,字符节点指的是根据目标单词数据中的每个单词中的字符生成对应的节点。当得到字符节点后,可根据不同字符对应的字符节点进行单词树的构建。
进一步地,基于目标单词数据生成字符节点,并根据所述字符节点建立单词树的步骤具体包括:获取所述目标单词数据中的字符串和字符串描述信息;将所述字符串进行字符转换得到字符数组;获取所述字符数组中字符排列顺序;通过所述字符排列顺序生成字符节点;通过子节点链表对字符节点中的根节点和字符节点中的子节点进行关系构建,将字符排列顺序中的目标字符所对应的字符节点添加字符串和字符串描述信息,建立单词树。
应理解的是,由于目标单词数据中包括目标字符单词和目标字符单词对应的字符描述信息,则可根据目标字符单词得到字符串和字符串描述信息,例如目标单词数据为batch#批量,则字符串为batch,字符串描述信息为批量。将字符串进行字符转换指的是调用toCharArray的方法将字符串转换为字符串数组,还可为其他进行字符转换的方法,本实施例对此不作限制,本实施例以toCharArray方法为例进行说明。
例如字符串为batch,则调用toCharArray方法对“batch”进行字符转换,得到字符数组为[b a t c h],对字符串batch进行字符转换得到字符数组的过程如下:
String a="batch";
char[]b=a.toCharArray()
foreach(char a in b)
{Console.WriteLine("{0}",s);}
Console.ReadLine();
输出结果为:b a t c h的字符数组。
可以理解的是,当得到字符数组后,可获取字符数组中字符排列顺序,例如字符数组为batch,则字符排列顺序包括:字符b为1,字符a为2,字符t为3,字符c为4,字符h为5。字符节点包括根节点和若干子节点,根据支字符排列顺序生成对应的字符节点,字符排列顺序中为1的字符生成根节点,字符排列顺序中为2的字符生成一级子节点,字符排列顺序中为3的字符生成二级子节点,字符排列顺序中为4的字符生成三级子节点,字符排列顺序中为5的字符生成四级子节点。则根据字符排列顺序生成对应的字符节点。子节点链表指的是slot子节点链表,每个字符节点由子节点链表进行连接和关系构建。目标字符指的是字符排列中的最后一个字符,例如字符数组为batch,则目标字符为h。
可通过子节点链表对根节点和每一级的子节点进行关系构建,建立单词数,并将字符数组中的最后一个字符所对应的节点添加字符串和字符串描述信息,得到构建完成的单词树。单词树由多个根节点构成,根节点的数量可根据目标单词数据的数量进行选择,根节点的数量最多为26个,根节点在a-z中选择,每个子节点的数量也通过目标单词数据中的单词进行选择,子节点的数量最多也为26个。后一个字符生成的节点嵌套在前一个字符的slot子节点链表中,最后一个字符对应的节点包含字符串和字符串描述信息。
例如字符数组为batch,根节点为b,一级子节点为a,二级子节点为t,三级子节点为c,四级子节点为h,字符a对应的一级子节点嵌套在根节点对应的字符的slot链表中,字符t对应的二级子节点嵌套在一级子节点对应的字符的slot链表中,依次类推,直至字符h对应的四级节点,即最后一个节点包含字符串和字符串描述信息,即batch#批量。
如下,字符数组为batch生成的单词树为:
当用户输入b的字符信息后,开始检索根节点为b的单词树,找到匹配的字符串以及当前字符串位置后续链路上的整个内容,并记录到可以反馈给用户的单词列表中,便于用户根据单词列表进行选择。
如图4所示,如4为本发明实施例中单词树生成的流程示意图。通过自定义信息生成对应的单词文件,并加载单词文件,按行读取单词文件中的单词数据,并对单词数据用#分割,同时将分割后的单词数据全部转小写,得到目标单词数据,并初始化节点和初始化子节点链表数组,通过调用toCharArray方法对目标单词数据进行字符转换,得到字符数组,通过对字符数组进行遍历,得到字符数组中每个字符的排列顺序,根据每个字符的排列顺序生成字符节点,通过字符节点中的根节点和若干子节点进行单词树构建,生成对饮的单词树,并将字符节点中的最后一个节点添加字符串对应的单词以及字符串描述信息,完成单词树的构建。
本实施例通过获取自定义信息;根据所述自定义信息生成单词文件;读取所述单词文件中的单词数据;对所述单词数据进行格式处理,得到目标单词数据;基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树,可根据字符节点建立相对应的单词树,便于后续根据单词树快速对输入的字符信息进行提示。
参考图5,图5为本发明拼写提示方法第三实施例的流程示意图。
基于上述第一实施例,本实施例拼写提示方法在所述步骤S10之前,还包括:
步骤S11:获取新建提示插件项目请求。
需要说明的是,新建提示插件项目请求为用户初次使用拼写提示软件时,生成的请求,用户在IDEA(IntelliJ IDEA,java语言开发集成环境)中点击新建插件项目,选择新建提示插件,生成新建提示插件项目请求。
步骤S12:基于所述新建提示插件项目请求获取插件包的插件包名称和插件名称。
在具体实施中,当接收到新建提示插件项目请求后,反馈给用户,使用户上传插件包,插件包中包括有插件的核心配置文件,插件包可应用在不同的开发环境中,因此可将插件包按照插件的功能进行命名,并命名插件名称,并根据插件包名称和插件名称确定插件标识号,插件标识号用于在插件市场中唯一确定身份的标识,在不同开发版本和开发环境中,保持一致,插件标识号的设置值为:插件包名称+插件名称。
步骤S13:对所述插件包进行分析,得到插件功能说明。
需要说明的是,插件包中有插件的核心配置文件,因此可对插件包进行分析,得到插件功能说明,例如,插件包为新建提示插件的功能,则插件功能说明指的是提示功能。
步骤S14:基于所述插件功能说明配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类的插件功能,得到配置信息。
在具体实施中,得到插件功能说明后,可配置插件中的具体功能,包括配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类,单词树处理实现类用于对单词树进行处理和生成,监听用户拼写输入实现类用于对用户的拼写输入进行监听,单词检索实现类用于对单词树进行检索得到需要提示的单词。
需要说明的是,通过配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类的插件功能信息,得到需要配置的类信息。
步骤S15:基于所述插件包名称、所述插件名称、所述插件功能说明以及所述配置信息建立插件标识节点、名称节点、插件功能说明节点以及配置节点。
应理解的是,当得到插件包名称和插件名称后,可根据插件名称建立名称节点,即name节点,并根据插件包名称和插件名称建立插件标识节点,即ID节点,根据插件功能说明建立插件功能说明节点,即description节点,根据配置信息建立配置节点,配置节点为插件中的核心节点,即extension节点,通过配置节点配置插件的具体功能,包括单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类。
步骤S16:通过所述插件标识节点、名称节点、插件功能说明节点以及配置节点生成配置文件。
在具体实施中,当生成插件标识节点、名称节点、插件功能说明节点以及配置节点后,可根据上述生成的节点进行对应的配置,并生成配置文件。
步骤S17:根据所述配置文件进行提示插件配置。
需要说明的是,配置文件为plugin.xml文件,该配置文件为插件核心配置文件,可通过配置文件对提示插件进行配置,结合了IDEA和Plugin插件开发的能力,可在启动插件过后加载常用单词文件,生成相关的单词树,用户在使用IDEA进行java开发时,输入字符信息,插件监听用户输入的字符信息获取单词树中的匹配信息生成单词列表并反馈到用户输入界面,提高用户编程开发的效率和准确性。
本实施例通过获取新建提示插件项目请求;基于所述新建提示插件项目请求获取插件包的插件包名称和插件名称;对所述插件包进行分析,得到插件功能说明;基于所述插件功能说明配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类的插件功能,得到配置信息;基于所述插件包名称、所述插件名称、所述插件功能说明以及所述配置信息建立插件标识节点、名称节点、插件功能说明节点以及配置节点;通过所述插件标识节点、名称节点、插件功能说明节点以及配置节点生成配置文件;根据所述配置文件进行提示插件配置,可根据配置好的提示插件快速对用户输入的信息进行监听,并根据提示插件检索单词树得到可以提示用户拼写输入的词汇,提高编程开发的效率和准确性。
参考图6,图6为本发明拼写提示方法第四实施例的流程示意图。
基于上述第一和第三实施例,本实施例拼写提示方法所述步骤S20,具体包括:
步骤S201:通过单词检索实现类定义继承自动补全实现类。
应理解的是,由于提示插件中配置有单词检索实现类,可通过单词检索实现类自定义一个继承CompletionContributor自动补全实现类,在构造函数中调用extend()方法来实现对指定操作进行补全,例如自定义方法名、变量名、参数名等操作。
步骤S202:基于所述继承自动补全实现类得到补全类型。
在具体实施中,当得到自定义的自动补全类后,可获取需要补全的类型,补全类型可包括补全方法名、补全变量或者补全参数名等,可根据用户输入的字符信息进行判断,本实施例对此不加以限定。
在本实施例中,通过传入CompletionType.BASIC定义补全类型。
步骤S203:获取自定义信息。
应理解的是,自定义信息指的是开发人员设置的与编程开发相关的信息,例如开发人员需要进行java编程开发,则自定义信息为自定义类名称、属性名以及方法名。
步骤S204:根据所述自定义信息和所述补全类型得到补全方式。
需要说明的是,定义补全操作需要匹配的目标Elrment类型,指定在何处触发自动补全,可通过自定义信息中的开发类型以及补全类型得到补全方式,例如自定义信息为自定义方法名,补全类型为补全方法名,即可得到补全方式为补全方法名中的单词。
步骤S205:通过所述继承自动补全实现类、所述补全方式以及所述字符信息检索单词树。
在具体实施中,可通过获取用户输入的字符信息以及继承自动补全实现类和补全方式的用户输入的字符信息检索单词数据实现自动补全,通过自定义一个继承自动补全实现类,通过对addCompletions的扩展,来实现具体的补全逻辑。addCompletions方法有个参数CompletionResultSet(匹配结果集),调用CompletionResultSet.getPrefixMatcher()可以获得匹配处理器,调用匹配处理器getPrefix()方法就可以拿到用户输入的字符信息,然后在单词树中进行检索。
本实施例通过单词检索实现类定义继承自动补全实现类;基于所述继承自动补全实现类得到补全类型;获取自定义信息;根据所述自定义信息和所述补全类型得到补全方式;通过所述继承自动补全实现类、所述补全方式以及所述字符信息检索单词树,可根据自动补全逻辑快速获取用户输入的字符信息,并根据字符信息以及自定义的补全方式在单词树中进行检索,提升检索的效率。
参考图7,图7为本发明拼写提示方法第五实施例的流程示意图。
基于上述第一实施例,本实施例拼写提示方法所述步骤S30,具体包括:
步骤S301:调用匹配处理器。
需要说明的是,匹配处理器指的是对字符信息和单词树中的字符进行匹配的设备,可通过调用CompletionResultSet.getPrefixMatcher()获得匹配处理器。
步骤S302:基于检索结果通过匹配处理器将所述字符信息与所述单词树进行匹配。
在具体实施中,根据用户输入的字符信息在单词树中检索得到原始的单词数据的检索结果后,可通过匹配处理器将字符信息和原始的单词数据进行匹配,得到与用户进行开发相关的字符数据。
步骤S303:根据匹配结果生成预设数量的字符以及字符描述信息。
应理解的是,预设数量可根据用户需求进行设置,可为10组、20组、30组等,为了提升检索以及展示的效率,本实施例以10组为例进行说明,通过将字符信息与单词树中原始的单词数据进行匹配,筛选得到10组字符以及字符对应的字符描述信息。当检索到10组字符以及字符描述信息后,不再继续检索,提高检索的效率。
步骤S304:将所述预设数量的字符和字符描述信息放入匹配结果集中,生成单词列表。
需要说明的是,将检索得到的字符和字符描述信息调用CompletionResultSet匹配结果集和addAllElements()方法放入匹配结果集中,生成单词列表,将单词列表展示用户进行提示。
在具体实施中,当用户的输入操作触发提示插件的自动补全机制后,会在单词树中进行检索,第一次检索会先加载单词文件生成单词树,并将单词树放入缓存中,后续检索在缓存中的单词树进行检索,不用每次加载单词树,更加高效,当需要添加新的单词时,进行版本升级,在单词文件中新加单词,用户重启IDEA后就可更新缓存,提升单词树检索的效率。
本实施例通过调用匹配处理器;基于检索结果通过匹配处理器将所述字符信息与所述单词树进行匹配;根据匹配结果生成预设数量的字符以及字符描述信息;将所述预设数量的字符和字符描述信息放入匹配结果集中,生成单词列表,每次检索只加载预设数量的字符和字符描述信息,提高检索以及提示的效率。
参照图8,图8为本发明拼写提示装置第一实施例的结构框图。
如图8所示,本发明实施例提出的拼写提示装置包括:
获取模块10,用于在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息。
检索模块20,用于基于所述字符信息检索单词树。
生成模块30,用于根据检索结果生成单词列表。
展示模块40,用于将所述单词列表展示给所述用户,以进行拼写提示。
本实施例通过在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;基于所述字符信息检索单词树;根据检索结果生成单词列表;将所述单词列表展示给所述用户,以进行拼写提示,可在用户进行拼写时,给出提示,把关联到的正确单词进行提示,在一定程度上提升用户拼写输入的词汇的准确性,解决了开发用户在件开发工作时无法快速有效输入正确的词汇的问题,降低用户拼写输入的错误率,提升开发用户拼写输入的词汇的准确性,提高编码的准确率。
在一实施例中,所述检索模块20,还用于获取自定义信息;根据所述自定义信息生成单词文件;读取所述单词文件中的单词数据;对所述单词数据进行格式处理,得到目标单词数据;基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树。
在一实施例中,所述检索模块20,还用于获取所述目标单词数据中的字符串和字符串描述信息;将所述字符串进行字符转换得到字符数组;获取所述字符数组中字符排列顺序;通过所述字符排列顺序生成字符节点;通过子节点链表对字符节点中的根节点和字符节点中的子节点进行关系构建,将字符排列顺序中的目标字符所对应的字符节点添加字符串和字符串描述信息,建立单词树。
在一实施例中,所述获取模块10,还用于获取新建提示插件项目请求;基于所述新建提示插件项目请求获取插件包的插件包名称和插件名称;对所述插件包进行分析,得到插件功能说明;基于所述插件功能说明配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类的插件功能,得到配置信息;基于所述插件包名称、所述插件名称、所述插件功能说明以及所述配置信息建立插件标识节点、名称节点、插件功能说明节点以及配置节点;通过所述插件标识节点、名称节点、插件功能说明节点以及配置节点生成配置文件;根据所述配置文件进行提示插件配置。
在一实施例中,所述获取模块10,还用于通过提示插件中的监听用户拼写输入实现类监听用户的输入信息;根据所述输入信息获取所述用户输入的字符信息。
在一实施例中,所述检索模块20,还用于通过单词检索实现类定义继承自动补全实现类;基于所述继承自动补全实现类得到补全类型;获取自定义信息;根据所述自定义信息和所述补全类型得到补全方式;通过所述继承自动补全实现类、所述补全方式以及所述字符信息检索单词树。
在一实施例中,所述生成模块30,还用于调用匹配处理器;基于检索结果通过匹配处理器将所述字符信息与所述单词树进行匹配;根据匹配结果生成预设数量的字符以及字符描述信息;将所述预设数量的字符和字符描述信息放入匹配结果集中,生成单词列表。
此外,为实现上述目的,本发明还提出一种拼写提示设备,所述拼写提示设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的拼写提示程序,所述拼写提示程序配置为实现如上文所述的拼写提示方法的步骤。
由于本拼写提示设备采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有拼写提示程序,所述拼写提示程序被处理器执行时实现如上文所述的拼写提示方法的步骤。
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
应当理解的是,以上仅为举例说明,对本发明的技术方案并不构成任何限定,在具体应用中,本领域的技术人员可以根据需要进行设置,本发明对此不做限制。
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的拼写提示方法,此处不再赘述。
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(Read Only Memory,ROM)/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种拼写提示方法,其特征在于,所述拼写提示方法包括:
在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;
基于所述字符信息检索单词树;
根据检索结果生成单词列表;
将所述单词列表展示给所述用户,以进行拼写提示。
2.如权利要求1所述的拼写提示方法,其特征在于,所述基于所述字符信息检索单词树之前,还包括:
获取自定义信息;
根据所述自定义信息生成单词文件;
读取所述单词文件中的单词数据;
对所述单词数据进行格式处理,得到目标单词数据;
基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树。
3.如权利要求2所述的拼写提示方法,其特征在于,所述基于所述目标单词数据生成字符节点,并根据所述字符节点建立单词树,包括:
获取所述目标单词数据中的字符串和字符串描述信息;
将所述字符串进行字符转换得到字符数组;
获取所述字符数组中字符排列顺序;
通过所述字符排列顺序生成字符节点;
通过子节点链表对字符节点中的根节点和字符节点中的子节点进行关系构建,将字符排列顺序中的目标字符所对应的字符节点添加字符串和字符串描述信息,建立单词树。
4.如权利要求1所述的拼写提示方法,其特征在于,所述在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息之前,还包括:
获取新建提示插件项目请求;
基于所述新建提示插件项目请求获取插件包的插件包名称和插件名称;
对所述插件包进行分析,得到插件功能说明;
基于所述插件功能说明配置单词树处理实现类、监听用户拼写输入实现类以及单词检索实现类的插件功能,得到配置信息;
基于所述插件包名称、所述插件名称、所述插件功能说明以及所述配置信息建立插件标识节点、名称节点、插件功能说明节点以及配置节点;
通过所述插件标识节点、名称节点、插件功能说明节点以及配置节点生成配置文件;
根据所述配置文件进行提示插件配置。
5.如权利要求4所述的拼写提示方法,其特征在于,所述在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息,包括:
通过提示插件中的监听用户拼写输入实现类监听用户的输入信息;
根据所述输入信息获取所述用户输入的字符信息。
6.如权利要求1-5中任一项所述的拼写提示方法,其特征在于,所述基于所述字符信息检索单词树,包括:
通过单词检索实现类定义继承自动补全实现类;
基于所述继承自动补全实现类得到补全类型;
获取自定义信息;
根据所述自定义信息和所述补全类型得到补全方式;
通过所述继承自动补全实现类、所述补全方式以及所述字符信息检索单词树。
7.如权利要求1-5中任一项所述的拼写提示方法,其特征在于,所述根据检索结果生成单词列表,包括:
调用匹配处理器;
基于检索结果通过匹配处理器将所述字符信息与所述单词树进行匹配;
根据匹配结果生成预设数量的字符以及字符描述信息;
将所述预设数量的字符和字符描述信息放入匹配结果集中,生成单词列表。
8.一种拼写提示装置,其特征在于,所述拼写提示装置包括:
获取模块,用于在用户进行拼写输入时,通过提示插件获取所述用户输入的字符信息;
检索模块,用于基于所述字符信息检索单词树;
生成模块,用于根据检索结果生成单词列表;
展示模块,用于将所述单词列表展示给所述用户,以进行拼写提示。
9.一种拼写提示设备,其特征在于,所述拼写提示设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的拼写提示程序,所述拼写提示程序配置为实现如权利要求1至7中任一项所述的拼写提示方法。
10.一种存储介质,其特征在于,所述存储介质上存储有拼写提示程序,所述拼写提示程序被处理器执行时实现如权利要求1至7中任一项所述的拼写提示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210587846.4A CN115048150A (zh) | 2022-05-27 | 2022-05-27 | 拼写提示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210587846.4A CN115048150A (zh) | 2022-05-27 | 2022-05-27 | 拼写提示方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048150A true CN115048150A (zh) | 2022-09-13 |
Family
ID=83160242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210587846.4A Pending CN115048150A (zh) | 2022-05-27 | 2022-05-27 | 拼写提示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048150A (zh) |
-
2022
- 2022-05-27 CN CN202210587846.4A patent/CN115048150A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739494B (zh) | 一种基于Tree-LSTM的API使用代码生成式推荐方法 | |
CN109189374B (zh) | 基于对象引用链的对象构造代码生成方法及系统 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN110188135B (zh) | 文件生成方法及设备 | |
JP2006065861A (ja) | 継ぎ目なくオブジェクトを比較するシステムおよび方法 | |
CN111563220A (zh) | 业务网站项目构建方法、装置、计算机设备和存储介质 | |
CN109313547B (zh) | 用于cpu利用率和代码重构的查询优化器 | |
CN111966817B (zh) | 基于深度学习及代码上下文结构和文本信息的api推荐方法 | |
CN111026670B (zh) | 测试用例的生成方法、测试用例的生成装置及存储介质 | |
CN107330014B (zh) | 一种数据表的创建方法与设备 | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN113157315A (zh) | 一种软件不同版本的差异信息识别方法、装置、设备及介质 | |
CN108415998B (zh) | 应用依赖关系更新方法、终端、设备及存储介质 | |
US11422917B2 (en) | Deriving software application dependency trees for white-box testing | |
CN112256318A (zh) | 一种用于依赖产品的构建方法及设备 | |
CN116028028A (zh) | 请求函数生成方法、装置、设备及存储介质 | |
Barros et al. | Static analysis for improved modularity of procedural web application programming interfaces | |
CN115048150A (zh) | 拼写提示方法、装置、设备及存储介质 | |
CN111813846B (zh) | 一种数据分析处理系统和数据处理方法 | |
CN111399842B (zh) | 一种代码编译方法及装置 | |
JP2019016142A (ja) | 入力内容確認画面表示装置、入力内容確認画面表示方法及び入力内容確認画面表示プログラム | |
CN114281688A (zh) | 一种无码或低码的自动化用例管理方法和装置 | |
CN107451050B (zh) | 函数获取方法和装置、服务器 | |
CN108228161B (zh) | 一种扩展结构化命令行的系统和方法 | |
CN113742361B (zh) | Js开发环境下使用sql存储json数据的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |