Development system with methods for assisting a user with inputting source code
Abstract
A visual development system having an interface which assists a user with input of source code expressions and statements during creation of a computer program is described. The interface includes an Integrated Development Environment (IDE) interface having a code editor with “Code Completion” and “Code Parameter” features for displaying context sensitive pop-up windows within a source code file. Code Completion is implemented at the user interface level by displaying a Code Completion dialog box after the user enters a record or class name followed by a period. For a class, the dialog lists the properties, methods and events appropriate to the class. For a record or structure, the dialog lists the data members of the record. To complete entry of the expression, the user need only select an item from the dialog list, whereupon the system automatically enters the selected item in the code. Code completion also operates during input of assignment statements. When the user enters an assignment statement for a variable and presses a hot key (e.g., <ctrl><space_bar>), a list of arguments valid for the variable is displayed. Here, the user can simply select an argument to be entered in the code. Similarly, the user can bring up a list of arguments when typing a procedure, function, or method call and needs to add an argument. In this manner, the user can view the required arguments for a method as he or she enters a method, function, or procedure call.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . In a development system, a method for assisting a user with inputting source code for a computer program, the method comprising:
detecting a need for assisting the user with input for a source code module under development; determining a current cursor position representing a location in the source code module where the user is currently providing input; determining input items which are suitable for input in the source code module at the current cursor position; displaying to the user a list of said suitable input items; and in response to selection by the user of a particular item from the list, automatically completing input at the current cursor position
2 . The method of claim 1 , wherein said source code is compiled by a compiler into a program which executes on a target microprocessor.
3 . The method of claim 1 , wherein said detecting step includes:
receiving a request from the user.
4 . The method of claim 1 , wherein said detecting step includes:
determining instances in the source code module where the system can automatically provide input.
5 . The method of claim 4 , wherein said detecting step includes:
determining in the source code module use of a dot operator.
6 . The method of claim 4 , wherein said detecting step includes:
determining in the source code module use of a class variable which references a class member or method.
7 . The method of claim 4 , wherein said detecting step includes:
determining in the source code module use of a structure variable which references a nested data member.
8 . The method of claim 1 , wherein said current cursor position in the source code module appears within an assignment statement, and wherein said list of suitable input items comprise a list of items which are assignment compatible.
9 . The method of claim 1 , wherein said list of suitable input items comprises a list of variables defined within the source code module which can appropriately be inputted at the current cursor position.
10 . The method of claim 1 , wherein said current cursor position comprises a line number and a column position for a particular source code file.
11 . The method of claim 1 , wherein said step of determining input items which are suitable for input in the source code module includes:
determining which variables are within scope for the current cursor position; and eliminating as a suitable input item any item that is not within scope for the current cursor position.
12 . The method of claim 11 , wherein said step of determining input items which are suitable for input in the source code module at the current cursor position includes:
compiling the source code module up to the current cursor position.
13 . The method of claim 11 , wherein said step of compiling the source code module up to the current cursor position includes:
skipping compilation of any method defined in the source code unless the cursor is currently positioned within the method.
14 . The method of claim 1 , wherein said list of suitable input items includes items which are suitable by virtue of having a nested member which is suitable.
15 . The method of claim 1 , wherein said step of determining input items which are suitable for input in the source code module includes:
determining a type of input expected at the current cursor position; and determining variables within scope at the current cursor position which have a type compatible with the type of input expected at the current cursor position.
16 . A development system comprising:
a computer having a processor and a memory; an integrated development interface including a code editor for inputting source code into a source code module being created; a compiler for compiling one or more source code modules into a computer program; means, responsive to the integrated development interface and the compiler, for assisting a user with input for a source code module under development, said means comprising:
means for determining a current context for source code being inputted,
means for determining appropriate input for said determined current context, and
means for displaying to the user said determined appropriate input.
17 . The system of claim 16 , wherein said means for assisting includes:
means for receiving a request from the user for assistance.
18 . The system of claim 16 , wherein said means for assisting includes:
means for detecting a position in the source code module where the system can provide assistance.
19 . The system of claim 16 , wherein said current context comprises an assignment expression and wherein appropriate input comprises an item which is assignment compatible for the expression.
20 . The system of claim 19 , wherein said appropriate input comprises a variable having a data type which is assignment compatible for the expression.Join the waitlist — get patent alerts
Track US2002016953A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.