Multi-step auto-completion model for software development environments

US9244658B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9244658-B2
Application numberUS-201313909640-A
CountryUS
Kind codeB2
Filing dateJun 4, 2013
Priority dateJun 4, 2013
Publication dateJan 26, 2016
Grant dateJan 26, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods for providing auto-completion functionality in a source code editor are described. In accordance with the systems and methods, code entities that are candidates for auto-completion are presented to a user via multiple auto-completion menus that are accessed in steps rather than via a single auto-completion menu. The multiple auto-completion menus include at least a first menu and a second menu. The first menu includes a common portion (e.g., a common prefix) of a subset of the candidate code entities. The second menu includes the subset of the candidate code entities and is presented when the user selects the common portion from the first menu.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for providing auto-completion functionality in a source code editor, comprising: identifying a plurality of code entities that are candidates for auto-completion based on data that a user has input into the source code editor, the plurality of code entities including a first subset of code entities having a first common set of initial characters; presenting via a user interface of the source code editor a first list that includes an element that represents the first subset of code entities; determining that the user has selected from the first list the element that represents the first subset of code entities; and in response to determining that the user has selected from the first list the element that represents the first subset of code entities, presenting via the user interface a second list that includes at least one code entity in the first subset of code entities. 2. The method of claim 1 , further comprising: determining that the user has selected a code entity from the second list; and automatically completing input of the selected code entity into the source code editor. 3. The method of claim 1 , wherein the element in the first list that represents the first subset of code entities comprises the first common set of initial characters. 4. The method of claim 1 , wherein the plurality of code entities includes a plurality of attribute names. 5. The method of claim 1 , wherein the first common set of initial characters associated with the first subset of code entities is “data-” and wherein presenting the first list comprises: presenting a list that includes a “data-” element that represents the first subset of code entities. 6. The method of claim 1 , wherein the first subset of code entities includes a second subset of code entities having a second common set of initial characters that is longer than and encompasses the first common set of initial characters and wherein the second list further includes an element that represents the second subset of code entities, the method further comprising: determining that the user has selected from the second list the element that represents the second subset of code entities; and in response to determining that the user has selected from the second list the element that represents the second subset of code entities, presenting via the user interface a third list that includes at least one code entity in the second subset of code entities. 7. The method of claim 1 , further comprising generating a record of the plurality of code entities by performing at least one of: parsing code input into the source code editor by the user; and processing a document that includes one or more code entities associated with a coding framework. 8. A system, comprising: one or more processors; and a storage medium that stores computer program logic that is executable by the one or more processors, the computer program logic comprising: a source code editor that is programmed to cause the one or more processors to provide a user interface that enables a user to enter source code into a document; and auto-completion logic that is programmed to cause the one or more processors to identify a plurality of code entities that are candidates for auto-completion based on data that the user has input into the source code editor and to present the plurality of code entities to the user via a plurality of auto-completion menus, the plurality of auto-completion menus including at least a first menu that includes a common portion of a subset of the plurality of code entities and a second menu that includes the subset of the plurality of code entities and is presented when the user selects the common portion from the first menu. 9. The system of claim 8 , wherein the number of menus in the plurality of auto-completion menus is determined by the auto-completion logic based upon one or more of: a number of code entities in the plurality of code entities; and a structure of the code entities in the plurality of code entities. 10. The system of claim 8 , wherein the number of menus in the plurality of auto-completion menus is configurable by a user of the system. 11. The system of claim 8 , wherein the auto-completion logic is programmed to cause the one or more processors to present each menu in the plurality of auto-completion menus to the user via a separate user interface window. 12. The system of claim 8 , wherein the auto-completion logic is further programmed to cause the one or more processors to determine that the user has selected a code entity from the one of the plurality of auto-completion menus and, in response to the determination that the user has selected the code entity from the one of the plurality of auto-completion menus, to automatically complete entry of the selected code entity into the source code editor. 13. The system of claim 8 , wherein the plurality of code entities comprise a plurality of attribute names. 14. The system of claim 8 , wherein the common portion of the subset of the plurality of code entities is “data-”. 15. The system of claim 8 , wherein the computer program logic further comprises a parser that is programmed to cause the one or more processors to parse source code entered into the source code editor to generate a record of one or more code entities in the plurality of code entities. 16. The system of claim 8 , wherein the computer program logic further comprises a document processor that is programmed to cause the one or more processors to process a document that includes code entities associated with a coding framework to generate a record of one or more code entities in the plurality of code entities. 17. The system of claim 16 , wherein the document processor is programmed to cause the one or more processors to process an XML schema document that includes the code entities associated with the coding framework. 18. A computer program product comprising a computer readable storage device having computer program logic recorded thereon for enabling a processing unit to provide auto-completion functionality in a source code editor, the computer program logic comprising: first computer program logic that, when executed by the processing unit, identifies a plurality of code entities that are candidates for auto-completion based on data that a user has input into the source code editor, the plurality of code entities including a first subset of code entities having a first common set of initial characters; second computer program logic that, when executed by the processing unit, presents via a user interface of the source code editor a first list that includes an element that represents the first subset of code entities; third computer program logic that, when executed by the processing unit, determines that the user has selected from the first list the element that represents the first subset of code entities; and fourth computer program logic that, when executed by the processing unit, presents via the user interface a second list that includes at least one code entity in the first subset of code entities in response to the determination that the user has selected from the first list the element that represents the first subset of code entities. 19. The computer program product of claim 18 , further comprising: fifth computer program logic that, when executed by the processing unit, determines that the user has selected a code entity from the second list; and sixth computer program logic that, when executed by the processing

Assignees

Inventors

Classifications

  • by runtime analysis (performance monitoring G06F11/3466) · CPC title

  • Graphical or visual programming · CPC title

  • Object-oriented languages · CPC title

  • Software design · CPC title

  • Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9244658B2 cover?
Systems and methods for providing auto-completion functionality in a source code editor are described. In accordance with the systems and methods, code entities that are candidates for auto-completion are presented to a user via multiple auto-completion menus that are accessed in steps rather than via a single auto-completion menu. The multiple auto-completion menus include at least a first men…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F8/33. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 26 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).