Updated to upcoming 23.09

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@2393 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eifops
2023-09-25 09:13:12 +00:00
parent 246745930d
commit e2bb303f94
2975 changed files with 63910 additions and 342 deletions

View File

@@ -0,0 +1,68 @@
[[Property:title|Class name auto complete]]
[[Property:weight|3]]
[[Property:uuid|0f11a078-7dab-54d1-b624-4c04476564a5]]
==Overview==
The EiffelStudio editor will complete class names automatically. This means, for example, when you type in the editor pane:
<code>
a_variable_name: LI</code>
and then triggers the class name auto-completion, one of two things will happen:
* If there is only one accessible class name that begins `<code>LI</code>', then that class name will be automatically placed in the editor pane at the cursor.
* If there is more than one such class name, the editor will propose a list of possible valid class names, as seen in Figure 1.
Class name auto-completion can be triggered by pressing <code>Ctrl+Shift+Space</code> or by following the [[Edit menu commands|edit menu]] path:
<code lang="text">
Edit --> Advanced --> Complete Class Name
</code>
Class name auto-completion is most commonly used in the Editor Pane. But the same functionality is also available in other areas of EiffelStudio, for example:
* The "Entry:" text box on the New Class tool.
* Expressions in the editable grid of the Watch tool
* "Class name:" in the New Expression dialog of the Watch tool.
* "Edit Contract" in the Contract tool
* "Add New Contract" in the Contract tool
<br/>
==The class auto-completion window==
Using the example above, when auto-completion is triggered, the class auto-completion window will pop up and display the list of class names which begin with the string "<code>LI</code>". So, you can think of the auto-completion as a search for class names using the characters you type followed by a wild card character, the asterisk ('*'). Of course, you don't have to put the asterisk at the end, it's always there by implication. Once you've triggered the auto-completion, you can however use the wild card character in the middle of a string, like this:
<code>
a_variable_name: LI*R
</code>
which would list all class names starting with "<code>LI</code>" and containing the character '<code>R</code>' appearing at some point after the "<code>LI</code>".
{{note|Using the wild card character with auto-completion is valid only '''after''' auto-completion is triggered.}}
When the list appears, the first list item will be selected. You can select a class name from the list by double-clicking a name in the list or by using the keyboard <code>Up</code> and <code>Down</code> buttons to navigate the list, then pressing <code>Enter</code> to select a highlighted class name. You can also continue to type characters and the list will automatically narrow, provided that you have non-matching entries filtered out (see [[#Auto-completion list display options|Auto-completion list display options]] below.)
To validate your choice, press <code>Enter</code>.
If there is no selected item when you validate, then the content of the text you have type will be inserted.
The auto-completion can be cancelled by clicking outside the window or pressing <code>Esc</code>.
[[Image:editor-class-auto-completion-window]]
Figure 1. The class name auto-completion window
===Auto-completion list display options===
At the bottom of the auto-completion window you will find a row of icons labeled "Options:". These icons help you control which choices are presented to you and the format of their presentation.
Each icon can be toggled between an "up" position and a "down" position by clicking on it. You can also toggle the option icons up and down by using the function keys <code>F1</code> through <code>F7</code>.
Note that not all of the options are applicable to class name auto-completion. Some apply only to feature name completion or to both class names and feature names.
* [[Image:hide non-matching entries icon]] (F1) Hide non-matching entries.
* [[Image:query return type icon]] (F2) Show query return types.
* [[Image:feature signatures icon]] (F3) Show feature signatures.
* [[Image:disambiguated name icon]] (F4) Show disambiguated names. (Applicable to .NET overloaded feature names.)
* [[Image:obsolete items icon]] (F5) Show obsolete items.
* [[Image:show descriptions icon]] (F6) Show description of selected item in the ''tool tip'' area at the bottom of the window. (See Figure 1)
* [[Image:remember list size icon]] (F7) Remember the size of the completion list between triggerings.

View File

@@ -0,0 +1,82 @@
[[Property:title|Feature call auto complete]]
[[Property:weight|2]]
[[Property:uuid|40ae30a6-c033-dae7-8dae-2569e7ba0adc]]
==Overview==
EiffelStudio editor provides automatic help for completing feature calls.
With the default EiffelStudio preferences, feature call auto-completion occurs automatically when you type a dot ('.') character after a feature name.
This means, for example, that in the Editor pane when you type:
<code>
my_string.</code>
the editor will propose a list of possible valid feature names from which to choose, as seen in Figure 1.
Feature call auto-completion can also be triggered:
# By pressing <code>crtl+space</code>
# By following the edit menu path:
<code lang="text">
Edit --> Advanced --> Complete word
</code>
Feature call auto-completion is most commonly used in the Editor pane. But the same functionality is also available elsewhere in EiffelStudio, for example:
* Expressions in the editable grid of the Watch tool.
* "Expression" in the New Expression dialog of the Watch tool.
* "Condition" in the Breakpoints dialog
==The feature call auto-completion window==
Using the example above, when auto-completion is triggered, the feature call auto-completion window will pop up and display a list of feature names which can be applied in the current context.
[[Image:editor feature auto-completion window]]
Figure 1. The feature auto-completion window.
When the auto-completion window appears, the first item in the list, if any, will be selected. To complete your code with the selected item, press "Enter" or "Ctrl+Space". To choose another item, use keyboard Up and Down arrows or the mouse.
You can also continue typing characters and the list will automatically be narrowed provided that you have non-matching entries filtered out (see '''Auto-completion list display options''' below). So, you can think of the auto-completion as a search for feature names using the characters you type followed by a wild card character, the asterisk ('*'). Of course, you don't have to put the asterisk at the end, it's just always implied. Once you've triggered auto-completion, you can however use the wild card character in the middle of a string, like this:
<code>
my_string.a*int
</code>
which would narrow the list to all feature names starting with "<code>a</code>" and also containing the string "<code>int</code>".
To validate your choice, press "Enter" or "Ctrl+Space".
If there is no selected item, the content of the text you have typed will be inserted.
The auto-completion can be cancelled by clicking outside the window or pressing <code>Esc</code>.
==Entering routine arguments==
After you have selected a feature, if the feature is a routine requiring arguments, the argument prototypes will be included in the generated feature text, and the text for the first argument will be selected, as in Figure 2.
[[Image:feature_call_auto-complete_example_1]]
Figure 2. Auto-completion of a routine with arguments.
Because the text for the first argument is already selected, you can go ahead and type a value for that argument. When you've completed the first argument, press <code>Tab</code>, and the next argument will be selected, and you can type a value for it. When you <code>Tab</code> after entering the final argument, the cursor will be positioned after the right parenthesis, so you are ready to move on.
==Auto-complete list display options==
At the bottom of the auto-completion window you will find a row of icons labeled "Options:". These options help you control which choices are presented to you and the format of their presentation. The options are described in the [[Class name auto complete#Auto-completion list display options|section on class name auto-completion]].
{{tip|The following tips can help you get the most out of feature call automatic completion: <br/>1) You can call the auto-complete without an identifier. The auto-complete window will then show the features of the current class. <br/>2) The keyboard shortcut for automatic completion can be changed in the [[Keyboard shortcuts preferences|editor preferences]]. <br/>3) When the auto-completion window is open, typing any character (other than a wild card) that is not ordinarily valid in feature names automatically closes the window. So, you can type '.', ' ' or '(' to close the completion window and start typing the next token straight away.}}
{{note|There are just a few more things you should know about feature call automatic completion: <br/>1) Only identifiers that were already defined when the class was compiled for the last time can be completed, except for local entity names that can always be completed.<br/>2) Only compiled features will appear in the auto-complete window.<br/>3) By default, features from class ANY will be ignored by the auto-complete window. This can be changed in the [[General Editor Preferences|editor preferences]]. }}

View File

@@ -0,0 +1,13 @@
[[Property:title|Automatic completion]]
[[Property:weight|6]]
[[Property:uuid|eb89d090-6998-7dbe-6430-26d30eb87a32]]
EiffelStudio editor includes new features designed to help write Eiffel code. Automatic completion is one of those. This feature is available in three contexts:
* [[Syntax auto complete]]: when the user types some expression defined in the Eiffel programming language.
* [[Feature call auto complete]]: when the user enters a feature call.
* [[Class name auto complete]]: when the user enters a class name.
This feature is can be customized or disabled in the [[Editor Preferences]].

View File

@@ -0,0 +1,66 @@
[[Property:title|Syntax auto complete]]
[[Property:weight|1]]
[[Property:uuid|aafa7c51-7a4d-385d-9c34-5e9dbba075fe]]
Syntax auto-complete in EiffelStudio editor is twofold :
* The editor can close brackets ("(", "{" and "[") and quotes(""", "'" and "`") automatically. This feature is disabled by default. It can be activated in the editor preferences.
* The editor can complete syntactic structures or part of them. The auto-complete is triggered when "Enter" or "Space" keys are pressed after a reserved word included in the following list:
{| align="center"
|-
| class
| ensure
| invariant
| require else
|-
| check
| ensure then
| is
| rescue
|-
| create
| export
| local
| select
|-
| creation
| external
| loop
| then
|-
| debug
| feature
| obsolete
| undefine
|-
| deferred
| from
| once
| until
|-
| do
| if
| precursor
| variant
|-
| else
| indexing
| redefine
| when
|-
| elseif
| inherit
| rename
|-
| end
| inspect
| require
|}
{{seealso|How the editor completes by default and how the default behavior can be changed, documented in the [[Syntax automatic completion preferences]] }}