CN110502227A - The method and device of code completion, storage medium, electronic equipment - Google Patents
The method and device of code completion, storage medium, electronic equipment Download PDFInfo
- Publication number
- CN110502227A CN110502227A CN201910802690.5A CN201910802690A CN110502227A CN 110502227 A CN110502227 A CN 110502227A CN 201910802690 A CN201910802690 A CN 201910802690A CN 110502227 A CN110502227 A CN 110502227A
- Authority
- CN
- China
- Prior art keywords
- name
- attribute
- node
- dictionary data
- code
- 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.)
- Granted
Links
Classifications
-
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The embodiment of the present invention is the method and device about a kind of code completion, computer readable storage medium and electronic equipment, it is related to source code processing technology field, this method comprises: parsed to obtain to completion character string to current typing code, and obtained with described according to the current typing code to the corresponding function name set of completion character string and attribute-name set;From in preset dictionary data structure inquire with the function name set in the matched target type object of function name, and with the matched target type object of attribute-name in the attribute-name set;The corresponding objective attribute target attribute name of the target type object and objective function name are obtained according to the dictionary data structure;Completion list is formed according to the objective function name and the objective attribute target attribute name, and the completion list is shown.Disclosure example embodiment improves the accuracy rate of code completion.
Description
Technical field
The present embodiments relate to software source code processing technology fields, in particular to a kind of side of code completion
Method, the device of code completion, computer readable storage medium and electronic equipment.
Background technique
Integrated Development Environment (Integrated Development Environment, IDE) is opened for providing program
The application program in hair ring border.Software engineer is when writing program, input code using Integrated Development Environment, Integrated Development Environment
Can be according to the small part character that software engineer has inputted, automatic search matching one group of user of output may think the generation of input
Code Keyword List reduces character inputs actually required for user's selection, the remaining character of quick completion, improves exploitation
The efficiency of typing code when software.This function is referred to as code completion (Code Completion).
In the prior art, the realization of code completion function is typically based on type inference technology, and type inference needs are accomplished
The concrete type of each variable in code text is analyzed, then in user's input code, identifies user's input unit
The type for dividing code, provides code completion Keyword List again according to type for user.Programming language is according in code text
Whether types of variables is known when no containing type mark, compiling, can divide into two kinds of static types, regime type.For dynamic
The programming language of state type, in the case where the type for lacking variable marks, type inference generally passes through abstract interpretation
(Abstract Interpretation) is implemented.
But the above-mentioned type derivation has following defects that on the one hand, some legal written in code scenes can not pass through pumping
As the type of interpretation technique identification wherein variable, therefore lead to not carry out completion to the code of the type;On the other hand, it is abstracted
Interpretation technique implement effect quality highly dependent upon analyzed code correctness, therefore develop during code correctness not
The accuracy rate of height, code completion also will be greatly reduced.
It should be noted that the information in the invention of above-mentioned background technology part is only used for reinforcing the reason to background of the invention
Solution, therefore may include the information not constituted to the prior art known to persons of ordinary skill in the art.
Summary of the invention
The purpose of the present invention is to provide a kind of methods of code completion, the device of code completion, computer-readable storage
Medium and electronic equipment, and then can not caused by overcoming the limitation and defect due to the relevant technologies at least to a certain extent
The lower problem of the accuracy rate of progress code completion and code completion.
According to one aspect of the disclosure, a kind of method of code completion is provided, comprising:
Current typing code is parsed to obtain to completion character string, and is obtained according to the current typing code and institute
It states to the corresponding function name set of completion character string and attribute-name set;
From inquiry in preset dictionary data structure and the matched target type pair of function name in the function name set
As, and with the matched target type object of attribute-name in the attribute-name set;Wherein, the dictionary data structure according to
History source code building, and include multiple type objects and attribute-name corresponding with each type object and function name;
The corresponding objective attribute target attribute name of the target type object and objective function name are obtained according to the dictionary data structure;
Completion list is formed according to the objective function name and the objective attribute target attribute name, and the completion list is carried out
Display.
In a kind of exemplary embodiment of the disclosure, the method also includes:
Obtain history source code, and the dictionary data structure according to the history source code establishing;
Wherein, the keyword of the dictionary data structure is function name and attribute-name, the pre-set dictionary data structure
Value be type object corresponding with the function name and the attribute-name.
In a kind of exemplary embodiment of the disclosure, the dictionary data knot according to the history source code establishing
Structure includes:
The history source code is converted into abstract syntax tree;Wherein, each node of the abstract syntax tree is gone through with described
Each syntactic structure in history source code corresponds, and the syntactic structure includes modular structure, pack arrangement, type structure, letter
Table structure, valuation structure;
All nodes of the abstract syntax tree are traversed, and according to the father and son between each node in the abstract syntax tree
Relationship is and the corresponding node of the modular structure and the corresponding node of the pack arrangement, section corresponding with the type structure
Point generates dictionary data structure respectively.
Father in a kind of exemplary embodiment of the disclosure, between each node according in the abstract syntax tree
Subrelation is and the corresponding node of the modular structure and corresponding node of the pack arrangement, corresponding with the type structure
Node generates dictionary data structure respectively, comprising:
When determining the corresponding function of the corresponding node of the function structure is the overall situation function of module level, by the module
The dictionary of corresponding modular structure or the corresponding node of pack arrangement is added in the corresponding function name of overall situation function and function object of grade
In data structure;
Wherein, the modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the function structure.
Father in a kind of exemplary embodiment of the disclosure, between each node according in the abstract syntax tree
Subrelation is and the corresponding node of the modular structure and corresponding node of the pack arrangement, corresponding with the type structure
Node generates dictionary data structure respectively, comprising:
When in determining the corresponding node of the valuation structure comprising having the node of the assignment statement of global namespace, from packet
Global object is extracted in node containing the assignment statement with global namespace;
Corresponding modular structure is added in the global object and corresponding attribute-name and function name or pack arrangement is corresponding
In the dictionary data structure of node;
Wherein, the modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the valuation structure.
In a kind of exemplary embodiment of the disclosure, the inquiry from preset dictionary data structure and the function
Name set in the matched target type object of function name, and with the matched target class of attribute-name in the attribute-name set
Type object, comprising:
From inquiry in the dictionary data structure of node corresponding with the modular structure and the letter in the function name set
Several matched target type objects and with the matched target type object of attribute-name in the attribute-name set, obtain
One target type object;
From inquiry in the dictionary data structure of node corresponding with the pack arrangement and the function in the function name set
The matched target type object of name and with the matched target type object of attribute-name in the attribute-name set, obtain second
Target type object;
From inquiry in the dictionary data structure of node corresponding with the type structure and the letter in the function name set
Several matched target type objects and with the matched target type object of attribute-name in the attribute-name set, obtain
Three target type objects;
Wherein, the preset dictionary data structure includes the dictionary data knot of node corresponding with the modular structure
Dictionary data structure, the dictionary data structure corresponding with the type structure of structure and the corresponding node of the pack arrangement, it is described
Target type object includes the first object type object, the second target type object and the third target type
Object.
In a kind of exemplary embodiment of the disclosure, the method also includes:
In response to user to the selection operation of the completion list, obtains in the dictionary data structure and grasped with the selection
Make corresponding objective function name and objective attribute target attribute name;
Using the objective function name and objective attribute target attribute name of acquisition, completion is carried out to completion character string to described.
According to one aspect of the disclosure, a kind of device of code completion is provided, comprising:
Code analysis module for being parsed to obtain to completion character string to current typing code, and is worked as according to described
Preceding typing code is obtained with described to the corresponding function name set of completion character string and attribute-name set;
Enquiry module, for being matched from inquiry in preset dictionary data structure with the function name in the function name set
Target type object, and with the matched target type object of attribute-name in the attribute-name set;Wherein, the dictionary
Data structure includes multiple type objects and attribute-name corresponding with each type object according to history source code building
And function name;
First processing module, for obtaining the corresponding target category of the target type object according to the dictionary data structure
Property name and objective function name;
Second processing module, for forming completion list according to the objective function name and the objective attribute target attribute name, and
The completion list is shown.
According to one aspect of the disclosure, a kind of computer readable storage medium is provided, computer program is stored thereon with,
The computer program realizes code completion described in above-mentioned any one method when being executed by processor.
According to one aspect of the disclosure, a kind of electronic equipment is provided, comprising:
Processor;And
Memory, for storing the executable instruction of the processor;
Wherein, the processor is configured to execute generation described in above-mentioned any one via the executable instruction is executed
The method of code completion.
The method and device of a kind of code completion provided in an embodiment of the present invention, on the one hand, by current typing code
Parsed to obtain to completion character string, and according to current typing code obtain with to the corresponding function name set of completion character string
And attribute-name set;Then from the matched target of function name inquired in preset dictionary data structure in and function name set
Type object, and with the matched target type object of attribute-name in attribute-name set;Further according to the matched mesh of and function name
Mark type object obtains objective function name, and obtains objective attribute target attribute name according to the matched target type object of attribute-name;Finally
Completion list is formed according to objective function name and objective attribute target attribute name, and completion list is shown, so that code typing people
Member can according in completion list objective function name and objective attribute target attribute name carry out selection and according to selection result carry out completion,
No longer need to identify the type of variable solve in the prior art due to that can not identify that the type of variable in turn can not be right
The code of the type carries out the problem of completion;On the other hand, allow code typing personnel according to the target in completion list
Function name and objective attribute target attribute name carry out selection and carry out completion according to selection result, solve in the prior art due to development period
Between code correctness it is not high caused by code completion the lower problem of accuracy rate, improve the accuracy rate of code completion.
It should be understood that above general description and following detailed description be only it is exemplary and explanatory, not
It can the limitation present invention.
Detailed description of the invention
The drawings herein are incorporated into the specification and forms part of this specification, and shows and meets implementation of the invention
Example, and be used to explain the principle of the present invention together with specification.It should be evident that the accompanying drawings in the following description is only the present invention
Some embodiments for those of ordinary skill in the art without creative efforts, can also basis
These attached drawings obtain other attached drawings.
Fig. 1 schematically shows example code figure of one of the example embodiment based on abstract interpretation according to the present invention;
Fig. 2 schematically shows the flow chart of the method for one of example embodiment code completion according to the present invention;
Fig. 3 schematically show according to the present invention one of example embodiment according to history source code establishing dictionary data knot
The method flow diagram of structure;
Fig. 4 schematically show the block diagram of device according to the present invention one of example embodiment from preset dictionary data
In structure inquire with the function name set in the matched target type object of function name, and in the attribute-name set
The matched target type object of attribute-name method flow diagram;
Fig. 5 schematically shows the block diagram of the device of one of example embodiment code completion according to the present invention;
Fig. 6 schematically shows one of example embodiment according to the present invention for realizing the method for above-mentioned code completion
Electronic equipment.
Specific embodiment
Example embodiment is described more fully with reference to the drawings.However, example embodiment can be with a variety of shapes
Formula is implemented, and is not understood as limited to example set forth herein;On the contrary, thesing embodiments are provided so that the present invention will more
Fully and completely, and by the design of example embodiment comprehensively it is communicated to those skilled in the art.Described feature, knot
Structure or characteristic can be incorporated in any suitable manner in one or more embodiments.In the following description, it provides perhaps
More details fully understand embodiments of the present invention to provide.It will be appreciated, however, by one skilled in the art that can
It is omitted with practicing technical solution of the present invention one or more in the specific detail, or others side can be used
Method, constituent element, device, step etc..In other cases, be not shown in detail or describe known solution to avoid a presumptuous guest usurps the role of the host and
So that each aspect of the present invention thickens.
In addition, attached drawing is only schematic illustrations of the invention, it is not necessarily drawn to scale.Identical attached drawing mark in figure
Note indicates same or similar part, thus will omit repetition thereof.Some block diagrams shown in the drawings are function
Energy entity, not necessarily must be corresponding with physically or logically independent entity.These function can be realized using software form
Energy entity, or these functional entitys are realized in one or more hardware modules or integrated circuit, or at heterogeneous networks and place
These functional entitys are realized in reason device device and microcontroller device.
In a kind of type inference technology realized based on abstract interpretation, each variable tool when program code operation can be ignored
The value of body, then pay close attention to each specific type of variable.Python is a kind of regime type programming language being widely used, under
Face illustrates the principle and disadvantage of abstract interpretation technology with the Python simple code in Fig. 1.
Refering to what is shown in Fig. 1, Python code first defines the type of an entitled Something, Something has two
A method, entitled f1, f2, then define two functions, name is respectively g1, g2 respectively.Next code " a=
The example of Something type is assigned to variable a by Something () ", and abstract interpretation technology is obtained according to this assignment statement
The type of variable a may be Something type out.Variable a is called function by next code " g1 (a) "
G1, abstract interpretation technology is according to this function call sentence it can be concluded that the possible type of parameter x of function g1 is Something
Type.For function g2, because can not find any call statement for calling function g2, abstract interpretation technology also can not just be derived
The possible type of parameter y.It is different according to the habit of software engineer, it is likely that when writing function g1, not yet for function g1
The function call sentence for calling function g1 is write out, at this moment in the process for writing function g1, abstract interpretation technology also can not just be pushed away
Export the type of parameters.
A kind of method that code completion is provided firstly in this example embodiment, this method can run on server,
Server cluster or Cloud Server etc. can also run on device end;Certainly, those skilled in the art can also be according to demand
Method of the invention is run in other platforms, and particular determination is not done to this in the present exemplary embodiment.Refering to what is shown in Fig. 2, the generation
The method of code completion may comprise steps of:
Step S210. is parsed to obtain to completion character string to current typing code, and according to the current typing generation
Code is obtained with described to the corresponding function name set of completion character string and attribute-name set.
Step S220. from preset dictionary data structure inquire with the function name set in the matched mesh of function name
Mark type object, and with the matched target type object of attribute-name in the attribute-name set;Wherein, the dictionary data
Structure includes multiple type objects and attribute-name corresponding with each type object and letter according to history source code building
It is several.
Step S230. obtains the corresponding objective attribute target attribute name of the target type object and mesh according to the dictionary data structure
The offer of tender is several.
Step S240. forms completion list according to the objective function name and the objective attribute target attribute name, and to the benefit
Full list is shown.
In the method for above-mentioned code completion, on the one hand, by being parsed to obtain to completion character to current typing code
String, and according to current typing code obtain with to the corresponding function name set of completion character string and attribute-name set;Then from
The matched target type object of function name in and function name set, and and attribute-name are inquired in preset dictionary data structure
The matched target type object of attribute-name in set;Objective function is obtained further according to the matched target type object of and function name
Name, and objective attribute target attribute name is obtained according to the matched target type object of attribute-name;Finally according to objective function name and target
Attribute-name forms completion list, and shows to completion list, allows code typing personnel according in completion list
Objective function name and objective attribute target attribute name carry out selection and carry out completion according to selection result, it is no longer necessary to the type of variable into
Row identification solves in the prior art due to that can not identify the type of variable and then can not carry out completion to the code of the type
Problem;On the other hand, allow code typing personnel according in completion list objective function name and objective attribute target attribute name into
Row selection simultaneously carries out completion according to selection result, and solve causes since the code correctness during exploitation is not high in the prior art
Code completion the lower problem of accuracy rate, improve the accuracy rate of code completion.
In the following, will be carried out in conjunction with attached drawing to each step in the method for code completion above-mentioned in this example embodiment detailed
Explanation and explanation.
In step S210, current typing code is parsed to obtain to completion character string, and according to the current record
Enter code to obtain with described to the corresponding function name set of completion character string and attribute-name set.
It should be noted that referring to the currently typing by user to completion character string described in the embodiment of the present invention
Partial character string in code is determined as needing the character string of completion.In this exemplary embodiment, it needs according to current typing generation
Syntax rule the coming out to completion string analysis by current typing code line of the programming language of code.Typically for needing to mend
Complete attribute access, method call code, have the form of " A.B " or " A:B ", wherein A is a complete expression formula name, B
As the attribute-name or method name of a part, B may also be null character string.
Further, it is obtaining after completion character string, it can be according to the context to completion character string in code
Analyze all attribute access (attribute-name set) or method call (function name set) being related to completion character string.Example
Such as, attribute-name and function name set that expression formula A needs to possess can be counted.
In step S230, matched from inquiry in preset dictionary data structure with the function name in the function name set
Target type object, and with the matched target type object of attribute-name in the attribute-name set;Wherein, the dictionary
Data structure includes multiple type objects and attribute-name corresponding with each type object according to history source code building
And function name.
It in this exemplary embodiment, can after obtaining the attribute-name and function name set that above-mentioned expression formula A needs to possess
To use the attribute-name set and function name collection query pre-set dictionary data structure, and then it is possible right to obtain expression formula A
As set (the matched target type object of function name in and function name set, and with the attribute-name in attribute-name set
The target type object matched).It should be added that, in order to improve matching speed, it can need to possess from expression formula A herein
Attribute-name and function name set in, selecting can be with the attribute-name and function name of completion, that is, pre-set dictionary number
It is filtered out according to the attribute-name and function name that may be not present in structure.Specifically, a prefix data tree structure can be prepared,
For each possible object of expression formula A, the attribute name that object is possessed is inserted into the prefix data tree structure.
In step S230, the corresponding objective attribute target attribute name of the target type object is obtained according to the dictionary data structure
With objective function name.
In this exemplary embodiment, when obtaining the matched target type object of the function name in above-mentioned and function name set,
And with after the matched target type object of attribute-name in attribute-name set, further according to dictionary data structure and each target class
Type object obtains corresponding objective function name and objective attribute target attribute name.By this way, the objective function name of acquisition can be improved
With the accuracy of objective attribute target attribute name, and then improve the accuracy of code completion.
In step S240, completion list is formed according to the objective function name and the objective attribute target attribute name, and to institute
Completion list is stated to be shown.
In this exemplary embodiment, code completion graphical interfaces display interface can be called, and passes through code completion figure
Interface display interface shows completion list.Specifically, preamble matching can be done to prefix data tree structure according to word string
It obtains final completion list, then the corresponding code completion graphical interfaces display interface of Integrated Development Environment is called finally to show
To user.
Further, it completes to carry out in current typing code to the part of completion according to completion list for the ease of user
Completion, the method for the code completion can also include: the selection operation in response to user to the completion list, obtain the word
Objective function name corresponding with the selection operation and objective attribute target attribute name in allusion quotation data structure;Utilize the objective function of acquisition
Name and objective attribute target attribute name carry out completion to completion character string to described.
For example, after completion list is shown to user by above-mentioned code completion graphical interfaces display interface, user can be with
According to the actual needs of current typing code, the attribute-name and function name that provide in completion list are selected;Then root
Obtained from pre-set dictionary data structure according to selection result objective function name corresponding with selection operation and with objective attribute target attribute name
It is corresponding, completion is then carried out again.In this way, the accuracy rate of code completion can be improved further;It avoids due to straight
It connected completion list and carries out the case where function caused by completion or attribute codes are not inconsistent with current typing code.
Further, for the ease of from pre-set dictionary data structure to objective function name and to completion attribute-name carry out
Matching, the method for the code completion can also include: to obtain history source code, and the word according to the history source code establishing
Allusion quotation data structure;Wherein, the keyword of the dictionary data structure is function name and attribute-name, the pre-set dictionary data knot
The value of structure is type object corresponding with the function name and the attribute-name.Specifically, refering to what is shown in Fig. 3, according to
Dictionary data structure described in history source code establishing may include step S310- step S320, be described in detail below.
In step s310, the history source code is converted into abstract syntax tree;Wherein, the abstract syntax tree is each
Each syntactic structure in node and the history source code corresponds, the syntactic structure include modular structure, pack arrangement,
Type structure, function structure, valuation structure.
In this exemplary embodiment, it is possible, firstly, to which code library, which is had code (history source code), is converted into abstract syntax
Set (Abstract Syntax Tree), it should be noted that history source code can refer to project in hard disk it is all effectively
Code, current typing code refer to the code just in the file of editor.Specifically, can be led to according to the syntax rule of programming language
It crosses and writes syntax analyzer (Parser) source code text conversion is built into the syntactic structure of tree-shaped form performance, on tree
Each node illustrate one of source code syntactic structure.Wherein, existing source code is in addition to projects to be included
All source code texts used can also include user write, incomplete, even grammer incorrect source generation
Code, for the incorrect code of the possible grammer in this part, syntax analyzer needs to do fault-tolerant processing, as far as possible by wherein most source
Code is converted into abstract syntax tree.
In step s 320, all nodes of the abstract syntax tree are traversed, and according to each in the abstract syntax tree
Set membership between node is and the corresponding node of the modular structure, node corresponding with the pack arrangement and the class
The corresponding node of type structure generates dictionary data structure respectively.
In this exemplary embodiment, firstly, all nodes of whole abstract syntax tree of traversal, obtain module definition node
(Module), package definition node (Package) and class definition node.Specifically, from the root node of abstract syntax tree, time
All nodes for going through whole abstract syntax tree encounter subsequent step definition node to be treated (module definition node, package definition
Node and class definition node) when, corresponding analysis, which is done, using subsequent step handles.Then, according in the abstract syntax tree
Each node between set membership be node corresponding with the modular structure (i.e. module definition node), with the pack arrangement
Corresponding node (i.e. package definition node), node corresponding with the type structure (i.e. class definition node) generate dictionary number respectively
According to structure.Specifically:
For the grammar object (packet, module, class) of support attribute access, need respectively to prepare a dictionary data structure,
The name of the key record syntax object of dictionary data structure, value record syntax object.For example, each package definition node includes
Following information need to record and save: all global objects in dictionary data structure record package definition node, this
The key of a dictionary data structure is the name of global object, and value is global object.According to the syntax rule of programming language, really
Fixed packet and the subordinate relation between attached bag, packet and submodule, attached bag or submodule are also one kind of Bao Nei global object pair.Again
Save for example, the following information that each class definition node includes needs to record: a dictionary structure records the definition of this class
The all properties and function of node, the key of this dictionary data structure are the name of attribute and function, and value is corresponding
Attribute codes or function.
It further, is corresponding with the modular structure according to the set membership between each node in abstract syntax tree
Node and the corresponding node of the pack arrangement, node corresponding with the type structure generate dictionary data structure respectively and may be used also
To include the following two kinds type:
One is, will when determining the corresponding function of the corresponding node of the function structure is the overall situation function of module level
Corresponding modular structure or the corresponding section of pack arrangement is added in the corresponding function name of the overall situation function of the module level and function object
In the dictionary data structure of point;Wherein, the modular structure or the corresponding node of pack arrangement are the corresponding section of the function structure
The father node of point.For example, when the function name for including in determining the class definition node and its corresponding function are overall situation function,
Based on the subordinate relation, the function name and its corresponding function are added to module definition section corresponding with such definition node
In the pre-set dictionary data structure of point.For example, can according to function define where context, find out module level overall situation function or
The method function of class.For the overall situation function of module level, function name is extracted, which is recorded corresponding module (packet)
In global object's dictionary.
Another kind is the section comprising the assignment statement with global namespace in determining the corresponding node of the valuation structure
When point, global object is extracted from the node comprising the assignment statement with global namespace;By the global object and corresponding
Attribute-name and function name are added in the dictionary data structure of corresponding modular structure or the corresponding node of pack arrangement;Wherein, described
Modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the valuation structure.For example, according to assignment statement
Place context finds out the assignment statement in the assignment statement or class method function of all global namespaces.For global namespace
Assignment statement extracts the name of global object, in global object's dictionary object record to corresponding module (packet).For
Assignment statement in class method function judges that Evaluation node can or can not increase attribute or be set a property for such example, if
Meeting extracts attribute-name, in the attribute dictionary attribute record to respective type.
Fig. 4 schematically shows a kind of from inquiry in preset dictionary data structure and the function name in the function name set
Matched target type object, and the method flow with the matched target type object of attribute-name in the attribute-name set
Figure.Refering to what is shown in Fig. 4, from being inquired in preset dictionary data structure and the matched target of function name in the function name set
Type object, and with the matched target type object of attribute-name in the attribute-name set may include step S410- step
Rapid S430, is described in detail below.
In step S410, inquiry and the function from the dictionary data structure of node corresponding with the modular structure
Name set in the matched target type object of function name and with the matched target class of attribute-name in the attribute-name set
Type object obtains first object type object.
In the step s 420, inquiry and the function name from the dictionary data structure of node corresponding with the pack arrangement
The matched target type object of function name in set and with the matched target type of attribute-name in the attribute-name set
Object obtains the second target type object.
In step S430, inquiry and the function from the dictionary data structure of node corresponding with the type structure
Name set in the matched target type object of function name and with the matched target class of attribute-name in the attribute-name set
Type object obtains third target type object;Wherein, the preset dictionary data structure includes corresponding with the modular structure
The dictionary data structure of node, node corresponding with the pack arrangement dictionary data structure, corresponding with the type structure
Dictionary data structure, the target type object includes the first object type object, the second target type object
And the third target type object.
Hereinafter, remarking additionally to step S410- step S430.Firstly, using module definition node as root node, because
This needs is matched since the pre-set dictionary tree construction of module definition node, obtains above-mentioned first object type object;So
Subordinate relation based on module definition node Yu package definition node afterwards, then from package definition node corresponding with the module definition node
Pre-set dictionary data structure in matched, obtain above-mentioned second target type object;Finally again based on package definition node with
The subordinate relation of class definition node, then from the pre-set dictionary data structure of class definition node corresponding with the package definition node into
Row matching, obtains above-mentioned third target type object.In this way, available more comprehensive completion list, and then make
The objective function name and objective attribute target attribute name that need can be selected according to the completion list by obtaining user, and then to current typing code
To completion part carry out completion, further improve the infull accuracy of code, while reducing the time of developer,
Improve development efficiency.
The disclosure additionally provides a kind of device of code completion.Refering to what is shown in Fig. 5, the device of the code completion may include
Code analysis module 510, enquiry module 520, the first module 530 and Second processing module 540.Wherein:
Code analysis module 510 can be used for being parsed to obtain to completion character string to current typing code, and according to
The current typing code is obtained with described to the corresponding function name set of completion character string and attribute-name set.
Enquiry module 520 can be used for from inquiry in preset dictionary data structure and the function in the function name set
The matched target type object of name, and with the matched target type object of attribute-name in the attribute-name set;Wherein, institute
Dictionary data structure is stated according to history source code building, and includes multiple type objects and corresponding with each type object
Attribute-name and function name.
First processing module 530 can be used for obtaining objective function according to the matched target type object of the function name
Name, and objective attribute target attribute name is obtained according to the matched target type object of the attribute-name.
Second processing module 540 can be used for forming completion column according to the objective function name and the objective attribute target attribute name
Table, and the completion list is shown.
In a kind of exemplary embodiment of the disclosure, described device further include:
Dictionary data structure creation module can be used for obtaining history source code, and according to the history source code establishing
The dictionary data structure;
Wherein, the keyword of the dictionary data structure is function name and attribute-name, the pre-set dictionary data structure
Value be type object corresponding with the function name and the attribute-name.
In a kind of exemplary embodiment of the disclosure, the dictionary data knot according to the history source code establishing
Structure includes:
The history source code is converted into abstract syntax tree;Wherein, each node of the abstract syntax tree is gone through with described
Each syntactic structure in history source code corresponds, and the syntactic structure includes modular structure, pack arrangement, type structure, letter
Table structure, valuation structure;
All nodes of the abstract syntax tree are traversed, and according to the father and son between each node in the abstract syntax tree
It is relationship and and the corresponding node of the modular structure and corresponding node of the pack arrangement, corresponding with the type structure
Node generates dictionary data structure respectively.
Father in a kind of exemplary embodiment of the disclosure, between each node according in the abstract syntax tree
Subrelation and and the corresponding node of the modular structure, node corresponding with the pack arrangement, corresponding with the type structure
Node generate dictionary data structure respectively, comprising:
When determining the corresponding function of the corresponding node of the function structure is the overall situation function of module level, by the module
The dictionary of corresponding modular structure or the corresponding node of pack arrangement is added in the corresponding function name of overall situation function and function object of grade
In data structure;
Wherein, the modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the function structure.
Father in a kind of exemplary embodiment of the disclosure, between each node according in the abstract syntax tree
Subrelation and and the corresponding node of the modular structure, node corresponding with the pack arrangement, corresponding with the type structure
Node generate dictionary data structure respectively, comprising:
When in determining the corresponding node of the valuation structure comprising having the node of the assignment statement of global namespace, from packet
Global object is extracted in node containing the assignment statement with global namespace;
Corresponding modular structure is added in the global object and corresponding attribute-name and function name or pack arrangement is corresponding
In the dictionary data structure of node;
Wherein, the modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the valuation structure.
In a kind of exemplary embodiment of the disclosure, the inquiry from preset dictionary data structure and the function
Name set in the matched target type object of function name, and with the matched target class of attribute-name in the attribute-name set
Type object, comprising:
From inquiry in the dictionary data structure of node corresponding with the modular structure and the letter in the function name set
Several matched target type objects and with the matched target type object of attribute-name in the attribute-name set, obtain
One target type object;
From inquiry in the dictionary data structure of node corresponding with the pack arrangement and the function in the function name set
The matched target type object of name and with the matched target type object of attribute-name in the attribute-name set, obtain second
Target type object;
From inquiry in the dictionary data structure of node corresponding with the type structure and the letter in the function name set
Several matched target type objects and with the matched target type object of attribute-name in the attribute-name set, obtain
Three target type objects;
Wherein, the preset dictionary data structure includes the dictionary data knot of node corresponding with the modular structure
Dictionary data structure, the dictionary data structure corresponding with the type structure of structure and the corresponding node of the pack arrangement, it is described
Target type object includes the first object type object, the second target type object and the third target type
Object.
In a kind of exemplary embodiment of the disclosure, described device further include:
It obtains module and obtains the dictionary data structure for the selection operation in response to user to the completion list
In objective function name corresponding with the selection operation and objective attribute target attribute name;
Completion module, for the objective function name and objective attribute target attribute name using acquisition, to described to completion character string
Carry out completion.
The detail of each module carries out in the method for corresponding code completion in the device of above-mentioned code completion
Detailed description, therefore details are not described herein again.
It should be noted that although being referred to several modules or list for acting the equipment executed in the above detailed description
Member, but this division is not enforceable.In fact, embodiment according to the present invention, it is above-described two or more
Module or the feature and function of unit can embody in a module or unit.Conversely, an above-described mould
The feature and function of block or unit can be to be embodied by multiple modules or unit with further division.
In addition, although describing each step of method in the present invention in the accompanying drawings with particular order, this does not really want
These steps must be executed in this particular order by asking or implying, or having to carry out step shown in whole could realize
Desired result.Additional or alternative, it is convenient to omit multiple steps are merged into a step and executed by certain steps, and/
Or a step is decomposed into execution of multiple steps etc..
Through the above description of the embodiments, those skilled in the art is it can be readily appreciated that example described herein is implemented
Mode can also be realized by software realization in such a way that software is in conjunction with necessary hardware.Therefore, according to the present invention
The technical solution of embodiment can be embodied in the form of software products, which can store non-volatile at one
Property storage medium (can be CD-ROM, USB flash disk, mobile hard disk etc.) in or network on, including some instructions are so that a calculating
Equipment (can be personal computer, server, mobile terminal or network equipment etc.) executes embodiment according to the present invention
Method.
In an exemplary embodiment of the present invention, a kind of electronic equipment that can be realized the above method is additionally provided.
Person of ordinary skill in the field it is understood that various aspects of the invention can be implemented as system, method or
Program product.Therefore, various aspects of the invention can be embodied in the following forms, it may be assumed that complete hardware embodiment, complete
The embodiment combined in terms of full Software Implementation (including firmware, microcode etc.) or hardware and software, can unite here
Referred to as circuit, " module " or " system ".
The electronic equipment 600 of this embodiment according to the present invention is described referring to Fig. 6.The electronics that Fig. 6 is shown
Equipment 600 is only an example, should not function to the embodiment of the present invention and use scope bring any restrictions.
As shown in fig. 6, electronic equipment 600 is showed in the form of universal computing device.The component of electronic equipment 600 can wrap
It includes but is not limited to: at least one above-mentioned processing unit 610, at least one above-mentioned storage unit 620, the different system components of connection
The bus 630 of (including storage unit 620 and processing unit 610).
Wherein, the storage unit is stored with program code, and said program code can be held by the processing unit 610
Row, so that various according to the present invention described in the execution of the processing unit 610 above-mentioned " illustrative methods " part of this specification
The step of illustrative embodiments.For example, the processing unit 610 can execute step S210 as shown in Figure 2: to current
Typing code is parsed to obtain to completion character string, and is obtained with described according to the current typing code to completion character string
Corresponding function name set and attribute-name set;Step S220: inquiry and the function from preset dictionary data structure
Name set in the matched target type object of function name, and with the matched target class of attribute-name in the attribute-name set
Type object;Wherein, the dictionary data structure is according to history source code building, and include multiple type objects and with it is each described
The corresponding attribute-name of type object and function name;Step S230: it is obtained according to the matched target type object of the function name
Objective function name, and objective attribute target attribute name is obtained according to the matched target type object of the attribute-name;Step S240: according to institute
It states objective function name and the objective attribute target attribute name forms completion list, and the completion list is shown.
Storage unit 620 may include the readable medium of volatile memory cell form, such as Random Access Storage Unit
(RAM) 6201 and/or cache memory unit 6202, it can further include read-only memory unit (ROM) 6203.
Storage unit 620 can also include program/utility with one group of (at least one) program module 6205
6204, such program module 6205 includes but is not limited to: operating system, one or more application program, other program moulds
It may include the realization of network environment in block and program data, each of these examples or certain combination.
Bus 630 can be to indicate one of a few class bus structures or a variety of, including storage unit bus or storage
Cell controller, peripheral bus, graphics acceleration port, processing unit use any bus structures in a variety of bus structures
Local bus.
Electronic equipment 600 can also be with one or more external equipments 700 (such as keyboard, sensing equipment, bluetooth equipment
Deng) communication, can also be enabled a user to one or more equipment interact with the electronic equipment 600 communicate, and/or with make
Any equipment (such as the router, modulation /demodulation that the electronic equipment 600 can be communicated with one or more of the other calculating equipment
Device etc.) communication.This communication can be carried out by input/output (I/O) interface 650.Also, electronic equipment 600 can be with
By network adapter 660 and one or more network (such as local area network (LAN), wide area network (WAN) and/or public network,
Such as internet) communication.As shown, network adapter 660 is communicated by bus 630 with other modules of electronic equipment 600.
It should be understood that although not shown in the drawings, other hardware and/or software module can not used in conjunction with electronic equipment 600, including but not
Be limited to: microcode, device driver, redundant processing unit, external disk drive array, RAID system, tape drive and
Data backup storage system etc..
Through the above description of the embodiments, those skilled in the art is it can be readily appreciated that example described herein is implemented
Mode can also be realized by software realization in such a way that software is in conjunction with necessary hardware.Therefore, according to the present invention
The technical solution of embodiment can be embodied in the form of software products, which can store non-volatile at one
Property storage medium (can be CD-ROM, USB flash disk, mobile hard disk etc.) in or network on, including some instructions are so that a calculating
Equipment (can be personal computer, server, terminal installation or network equipment etc.) executes embodiment according to the present invention
Method.
In an exemplary embodiment of the present invention, a kind of computer readable storage medium is additionally provided, energy is stored thereon with
Enough realize the program product of this specification above method.In some possible embodiments, various aspects of the invention may be used also
In the form of being embodied as a kind of program product comprising program code, when described program product is run on the terminal device, institute
Program code is stated for executing the terminal device described in above-mentioned " illustrative methods " part of this specification according to this hair
The step of bright various illustrative embodiments.
The program product for realizing the above method of embodiment according to the present invention can use Portable, compact
Disk read-only memory (CD-ROM) and including program code, and can be run on terminal device, such as PC.However,
Program product of the invention is without being limited thereto, and in this document, readable storage medium storing program for executing, which can be, any includes or storage program has
Shape medium, the program can be commanded execution system, device or device use or in connection.
Described program product can be using any combination of one or more readable mediums.Readable medium can be readable letter
Number medium or readable storage medium storing program for executing.Readable storage medium storing program for executing for example can be but be not limited to electricity, magnetic, optical, electromagnetic, infrared ray or
System, device or the device of semiconductor, or any above combination.The more specific example of readable storage medium storing program for executing is (non exhaustive
List) include: electrical connection with one or more conducting wires, portable disc, hard disk, random access memory (RAM), read-only
Memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disc read only memory
(CD-ROM), light storage device, magnetic memory device or above-mentioned any appropriate combination.
Computer-readable signal media may include in a base band or as carrier wave a part propagate data-signal,
In carry readable program code.The data-signal of this propagation can take various forms, including but not limited to electromagnetic signal,
Optical signal or above-mentioned any appropriate combination.Readable signal medium can also be any readable Jie other than readable storage medium storing program for executing
Matter, the readable medium can send, propagate or transmit for by instruction execution system, device or device use or and its
The program of combined use.
The program code for including on readable medium can transmit with any suitable medium, including but not limited to wirelessly, have
Line, optical cable, RF etc. or above-mentioned any appropriate combination.
The program for executing operation of the present invention can be write with any combination of one or more programming languages
Code, described program design language include object oriented program language-Java, C++ etc., further include conventional
Procedural programming language-such as " C " language or similar programming language.Program code can be fully in user
It calculates and executes in equipment, partly executes on a user device, being executed as an independent software package, partially in user's calculating
Upper side point is executed on a remote computing or is executed in remote computing device or server completely.It is being related to far
Journey calculates in the situation of equipment, and remote computing device can pass through the network of any kind, including local area network (LAN) or wide area network
(WAN), it is connected to user calculating equipment, or, it may be connected to external computing device (such as utilize ISP
To be connected by internet).
In addition, above-mentioned attached drawing is only the schematic theory of processing included by method according to an exemplary embodiment of the present invention
It is bright, rather than limit purpose.It can be readily appreciated that the time that above-mentioned processing shown in the drawings did not indicated or limited these processing is suitable
Sequence.In addition, be also easy to understand, these processing, which can be, for example either synchronously or asynchronously to be executed in multiple modules.
Those skilled in the art will readily occur to of the invention its after considering specification and the invention invented here of practice
His embodiment.This application is intended to cover any variations, uses, or adaptations of the invention, these modifications, purposes or
Adaptive change follow general principle of the invention and the common knowledge in the art do not invented including the present invention or
Conventional techniques.The description and examples are only to be considered as illustrative, and true scope and spirit of the invention are by claim
It points out.
Claims (10)
1. a kind of method of code completion characterized by comprising
Current typing code is parsed to obtain to completion character string, and according to the current typing code obtain with it is described to
The corresponding function name set of completion character string and attribute-name set;
From in preset dictionary data structure inquire with the function name set in the matched target type object of function name, with
And with the matched target type object of attribute-name in the attribute-name set;Wherein, the dictionary data structure is according to history
Source code generates, and includes multiple type objects and attribute-name corresponding with each type object and function name;
The corresponding objective attribute target attribute name of the target type object and objective function name are obtained according to the dictionary data structure;
Completion list is formed according to the objective function name and the objective attribute target attribute name, and the completion list is shown
Show.
2. the method according to claim 1, wherein the method also includes:
Obtain history source code, and the dictionary data structure according to the history source code establishing;
Wherein, the keyword of the dictionary data structure is function name and attribute-name, the value of the pre-set dictionary data structure
For type object corresponding with the function name and the attribute-name.
3. according to the method described in claim 2, it is characterized in that, the dictionary number according to the history source code establishing
Include: according to structure
The history source code is converted into abstract syntax tree;Wherein, each node of the abstract syntax tree and the history source
Each syntactic structure in code corresponds, and the syntactic structure includes modular structure, pack arrangement, type structure, function knot
Structure, valuation structure;
All nodes of the abstract syntax tree are traversed, and according to the set membership between each node in the abstract syntax tree
For and the corresponding node of the modular structure and the corresponding node of the pack arrangement, node corresponding with the type structure point
It Sheng Cheng not dictionary data structure.
4. according to the method described in claim 3, it is characterized in that, between each node according in the abstract syntax tree
Set membership be and the corresponding node of the modular structure, node corresponding with the pack arrangement and the type structure pair
The node answered generates dictionary data structure respectively, comprising:
When determining the corresponding function of the corresponding node of the function structure is the overall situation function of module level, by the module level
The dictionary data of corresponding modular structure or the corresponding node of pack arrangement is added in the corresponding function name of overall situation function and function object
In structure;
Wherein, the modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the function structure.
5. according to the method described in claim 3, it is characterized in that, between each node according in the abstract syntax tree
Set membership be and the corresponding node of the modular structure, node corresponding with the pack arrangement and the type structure pair
The node answered generates dictionary data structure respectively, comprising:
In determining the corresponding node of the valuation structure comprising with global namespace assignment statement node when, from include tool
Global object is extracted in the node for having the assignment statement of global namespace;
Corresponding modular structure or the corresponding node of pack arrangement is added in the global object and corresponding attribute-name and function name
Dictionary data structure in;
Wherein, the modular structure or the corresponding node of pack arrangement are the father node of the corresponding node of the valuation structure.
6. according to the method described in claim 3, it is characterized in that, it is described from preset dictionary data structure inquiry with it is described
The matched target type object of function name in function name set, and with the matched mesh of attribute-name in the attribute-name set
Mark type object, comprising:
From inquiry in the dictionary data structure of node corresponding with the modular structure and the function name in the function name set
Matched target type object and with the matched target type object of attribute-name in the attribute-name set, obtain the first mesh
Mark type object;
From inquiry in the dictionary data structure of node corresponding with the pack arrangement and the function name in the function name set
The target type object matched and with the matched target type object of attribute-name in the attribute-name set, obtain the second target
Type object;
From inquiry in the dictionary data structure of node corresponding with the type structure and the function name in the function name set
Matched target type object and with the matched target type object of attribute-name in the attribute-name set, obtain third mesh
Mark type object;
Wherein, the preset dictionary data structure include node corresponding with the modular structure dictionary data structure, with
Dictionary data structure, the dictionary data structure corresponding with the type structure of the corresponding node of the pack arrangement, the target
Type object includes the first object type object, the second target type object and the third target type pair
As.
7. the method according to claim 1, wherein the method also includes:
In response to user to the selection operation of the completion list, obtain in the dictionary data structure with the selection operation pair
The objective function name and objective attribute target attribute name answered;
Using the objective function name and objective attribute target attribute name of acquisition, completion is carried out to completion character string to described.
8. a kind of device of code completion characterized by comprising
Code analysis module, for being parsed to obtain to completion character string to current typing code, and according to the current record
Enter code to obtain with described to the corresponding function name set of completion character string and attribute-name set;
Enquiry module, for from preset dictionary data structure inquire with the function name set in the matched mesh of function name
Mark type object, and with the matched target type object of attribute-name in the attribute-name set;Wherein, the dictionary data
Structure includes multiple type objects and attribute-name corresponding with each type object and letter according to history source code building
It is several;
First processing module, for obtaining the corresponding objective attribute target attribute name of the target type object according to the dictionary data structure
With objective function name;
Second processing module, for forming completion list according to the objective function name and the objective attribute target attribute name, and to institute
Completion list is stated to be shown.
9. a kind of computer readable storage medium, is stored thereon with computer program, which is characterized in that the computer program quilt
The method of the described in any item code completions of claim 1-7 is realized when processor executes.
10. a kind of electronic equipment characterized by comprising
Processor;And
Memory, for storing the executable instruction of the processor;
Wherein, the processor is configured to require 1-7 described in any item via executing the executable instruction and carry out perform claim
The method of code completion.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802690.5A CN110502227B (en) | 2019-08-28 | 2019-08-28 | Code complement method and device, storage medium and electronic equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910802690.5A CN110502227B (en) | 2019-08-28 | 2019-08-28 | Code complement method and device, storage medium and electronic equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110502227A true CN110502227A (en) | 2019-11-26 |
CN110502227B CN110502227B (en) | 2023-07-14 |
Family
ID=68588644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910802690.5A Active CN110502227B (en) | 2019-08-28 | 2019-08-28 | Code complement method and device, storage medium and electronic equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110502227B (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176629A (en) * | 2019-12-24 | 2020-05-19 | 中国建设银行股份有限公司 | Application development method and device |
CN111679747A (en) * | 2020-06-09 | 2020-09-18 | 腾讯科技(深圳)有限公司 | Code input method, device, electronic equipment and storage medium |
CN112256266A (en) * | 2020-11-11 | 2021-01-22 | 平安普惠企业管理有限公司 | Grammar prompting method, grammar prompting device, computer equipment and storage medium |
CN112328232A (en) * | 2020-11-26 | 2021-02-05 | 杭州安恒信息安全技术有限公司 | Code prompting method and related device |
CN112579064A (en) * | 2020-12-04 | 2021-03-30 | 深圳市大富网络技术有限公司 | Code prompting method, system, device and readable storage medium |
CN113296755A (en) * | 2020-06-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | Code structure tree library construction method and information push method |
CN113312057A (en) * | 2021-06-17 | 2021-08-27 | 上海小熊星教育科技有限公司 | Code processing method, programming assisting method, medium and electronic equipment |
CN113378517A (en) * | 2021-06-17 | 2021-09-10 | 中国工商银行股份有限公司 | Data dictionary generation method and device, electronic equipment and storage medium |
WO2022089188A1 (en) * | 2020-11-02 | 2022-05-05 | 华为云计算技术有限公司 | Code processing method, apparatus, device, and medium |
CN114647408A (en) * | 2022-04-02 | 2022-06-21 | 北京白海科技有限公司 | Method and device for complementing codes, electronic equipment and storage medium |
CN114721640A (en) * | 2022-03-08 | 2022-07-08 | 阿里云计算有限公司 | Code completion method and device, storage medium, processor and terminal |
CN117632106A (en) * | 2023-11-21 | 2024-03-01 | 广州致远电子股份有限公司 | Code complement method, device, equipment and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880468A (en) * | 2012-09-12 | 2013-01-16 | 浙江大学 | Code intelligent prompting method and system for electronic control unit (ECU) program development |
CN105739981A (en) * | 2016-01-28 | 2016-07-06 | 厦门飞信网络科技有限公司 | Code completion implementation method and device, and computing device |
-
2019
- 2019-08-28 CN CN201910802690.5A patent/CN110502227B/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102880468A (en) * | 2012-09-12 | 2013-01-16 | 浙江大学 | Code intelligent prompting method and system for electronic control unit (ECU) program development |
CN105739981A (en) * | 2016-01-28 | 2016-07-06 | 厦门飞信网络科技有限公司 | Code completion implementation method and device, and computing device |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176629A (en) * | 2019-12-24 | 2020-05-19 | 中国建设银行股份有限公司 | Application development method and device |
CN113296755A (en) * | 2020-06-08 | 2021-08-24 | 阿里巴巴集团控股有限公司 | Code structure tree library construction method and information push method |
CN111679747A (en) * | 2020-06-09 | 2020-09-18 | 腾讯科技(深圳)有限公司 | Code input method, device, electronic equipment and storage medium |
WO2022089188A1 (en) * | 2020-11-02 | 2022-05-05 | 华为云计算技术有限公司 | Code processing method, apparatus, device, and medium |
CN112256266A (en) * | 2020-11-11 | 2021-01-22 | 平安普惠企业管理有限公司 | Grammar prompting method, grammar prompting device, computer equipment and storage medium |
CN112328232A (en) * | 2020-11-26 | 2021-02-05 | 杭州安恒信息安全技术有限公司 | Code prompting method and related device |
CN112579064A (en) * | 2020-12-04 | 2021-03-30 | 深圳市大富网络技术有限公司 | Code prompting method, system, device and readable storage medium |
CN113312057A (en) * | 2021-06-17 | 2021-08-27 | 上海小熊星教育科技有限公司 | Code processing method, programming assisting method, medium and electronic equipment |
CN113378517A (en) * | 2021-06-17 | 2021-09-10 | 中国工商银行股份有限公司 | Data dictionary generation method and device, electronic equipment and storage medium |
CN113312057B (en) * | 2021-06-17 | 2023-10-03 | 上海小熊星教育科技有限公司 | Code processing method, programming auxiliary method, medium and electronic equipment |
CN114721640A (en) * | 2022-03-08 | 2022-07-08 | 阿里云计算有限公司 | Code completion method and device, storage medium, processor and terminal |
CN114647408A (en) * | 2022-04-02 | 2022-06-21 | 北京白海科技有限公司 | Method and device for complementing codes, electronic equipment and storage medium |
CN117632106A (en) * | 2023-11-21 | 2024-03-01 | 广州致远电子股份有限公司 | Code complement method, device, equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN110502227B (en) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502227A (en) | The method and device of code completion, storage medium, electronic equipment | |
TWI746690B (en) | Method, device and server for generating natural language question answer | |
CN109240901B (en) | Performance analysis method, performance analysis device, storage medium, and electronic apparatus | |
CN111708869B (en) | Processing method and device for man-machine conversation | |
CN112106056A (en) | Constructing fictitious utterance trees to improve the ability to answer convergent questions | |
WO2022237253A1 (en) | Test case generation method, apparatus and device | |
US20060143576A1 (en) | Method and system for resolving cross-modal references in user inputs | |
CN107203468B (en) | AST-based software version evolution comparative analysis method | |
US20150286943A1 (en) | Decision Making and Planning/Prediction System for Human Intention Resolution | |
CN110147544B (en) | Instruction generation method and device based on natural language and related equipment | |
US9460081B1 (en) | Transcription correction using multi-token structures | |
US20220414463A1 (en) | Automated troubleshooter | |
US20200233624A1 (en) | Method, device and computer program product for updating user interface | |
CN111930912A (en) | Dialogue management method, system, device and storage medium | |
CN113254507A (en) | Intelligent construction and inventory method for data asset directory | |
CN116438493A (en) | Data extraction in an industrial automation system | |
CN114911915B (en) | Knowledge graph-based question and answer searching method, system, equipment and medium | |
CN116974554A (en) | Code data processing method, apparatus, computer device and storage medium | |
CN108959454A (en) | A kind of prompt clause designation method, device, equipment and storage medium | |
CN117827674A (en) | Defect and test case matching method and device, electronic equipment and storage medium | |
CN117932022A (en) | Intelligent question-answering method and device, electronic equipment and storage medium | |
CN107220249A (en) | Full-text search based on classification | |
CN110362688A (en) | Examination question mask method, device, equipment and computer readable storage medium | |
CN112988986B (en) | Man-machine interaction method, device and equipment | |
US20060143216A1 (en) | Method and system for integrating multimodal interpretations |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |