Renamed current as trunk.

git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@1433 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
eiffel-org
2015-09-23 17:16:49 +00:00
parent 2aba4b49af
commit 5e7183f738
2851 changed files with 0 additions and 0 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]] }}

View File

@@ -0,0 +1,15 @@
[[Property:title|Clipboard functionality]]
[[Property:weight|3]]
[[Property:uuid|f1bd2fd2-c115-d4e8-cb3b-2118f25037bb]]
EiffelStudio editor provides common clipboard functionality, i.e. Cut, Copy and Paste commands.
* To copy text to the clipboard, [[Selection|select]] it in the editor first. Then, you may either press the key combination "Ctrl+C" (or "Shift+Ins"), click on the copy icon [[Image:16x16--general-copy-icon]] or choose '''Copy''' in the '''Edit''' menu.
* To cut text, i.e. copy it to the clipboard and delete it, [[Selection|select]] it and then either press "Ctrl+X" (or "Shift+Del"), click on the cut icon [[Image:general-cut-icon]] or choose '''Cut''' in the '''Edit''' menu.
* To paste text from the clipboard, either press "Ctrl+V" (or"Ctrl+Ins"), click on the paste icon [[Image:general-paste-icon]] or choose '''Paste''' in the '''Edit''' menu.

View File

@@ -0,0 +1,15 @@
[[Property:title|Cursor moves]]
[[Property:weight|1]]
[[Property:uuid|f0e34ba8-cd06-3020-015e-c470fe63406f]]
There are two ways to position the cursor in EiffelStudio editor: you can use either the mouse or the keyboard.
If you choose to use the mouse, just click in the text where you want the cursor to be moved. If the text is not entirely visible, you can use the scroll bar at the bottom and on the left of the edition zone to display the part you are interested in.
The keys that you may use to move the cursor in EiffelStudio editor are "Home", "End", "Page up", "Page Down" and the four arrows. Pressing "Home" will make the cursor go to the beginning of the line. Pressing "End" will move the cursor to the end of the line. You can use "Page Up" to move the cursor one page closer to the beginning of the text. Pressing "Page down" will position the cursor one page further. <br/>
Left and Right arrows can be used to move respectively to the character on the left or on the right of current position. Up and Down arrows allow you to move the cursor to the previous and next lines.
{{tip|By maintaining "Ctrl" pressed as you use Left and Right arrows, you will move the cursor to the next or previous word instead of the next or previous character. }}

View File

@@ -0,0 +1,33 @@
[[Property:title|Edit menu commands]]
[[Property:weight|8]]
[[Property:uuid|7c8b105c-47ac-d101-4235-8a65d2f43cb7]]
In the '''Edit''' menu, the following commands are available:
* [[History functionality|Undo]] : undo last change.
* [[History functionality|Redo]] : redo last undone change.
* [[Clipboard functionality|Cut]] : Cut [[Selection|selected]] text.
* [[Clipboard functionality|Copy]] : Copy [[Selection|selected]] text.
* [[Clipboard functionality|Paste]] : Paste text from the clipboard.
* [[Selection|Select All]] : Select the entire text.
* [[Search tool|Find]] : Show and go to the [[Search tool|search panel]] .
* [[Search tool|Replace]] : Show and go to the [[Search tool|search panel]] with replace option activated.
* Toggle Line Numbers: Show or hide the line numbers in the current editor.
* [[Search functionality|Search]] :
** [[Search functionality|Find next]] : Find the next occurrence of the last searched expression.
** [[Search functionality|Find previous]] : Find the previous occurrence of the last searched expression.
** [[Search functionality|Find selection]] : Find the next occurrence of the selected text.
* Advanced
** [[Indent and unindent selection|Indent selection]]
** [[Indent and unindent selection|Unindent selection]]
** [[Comment and uncomment lines|Comment]]
** [[Comment and uncomment lines|Uncomment]]
** [[Embed lines in 'if then...end' or in 'debug...end'|Embed in if...]]
** [[Embed lines in 'if then...end' or in 'debug...end'|Embed in debug...]]
** [[Feature call auto complete|Complete word]]
** [[Class name auto complete|Complete class name]]
* [[Preference window overview|Preferences]]

View File

@@ -0,0 +1,9 @@
[[Property:title|Editor customization]]
[[Property:weight|9]]
[[Property:uuid|650993e4-65a7-9a7e-7d08-b4c17c14ff39]]
Many of the editor features, the [[automatic completion]] in particular, can be customized in the preferences. <br/>
Please refer to the [[Editor Preferences|editor section]] of the preferences help for more details.

View File

@@ -0,0 +1,13 @@
[[Property:title|History functionality]]
[[Property:weight|4]]
[[Property:uuid|04edcfb7-3a63-e9e6-2ac6-8f5868b3ee10]]
EiffelStudio editor provides an history functionality, i.e. Undo and Redo commands.
* To undo last change, press the key combination "Ctrl+Z", click on the undo icon [[Image:general-undo-icon]] or choose '''Undo''' in the '''Edit''' menu. If you repeat this operation, the editor will undo the last change and so on until there are no more changes to undo.
* To redo last undone change, press the key combination "Ctrl+Y", click on the redo icon [[Image:general-redo-icon]] or choose '''Redo''' in the '''Edit''' menu. If you repeat this operation, the editor will redo the last undone change and so on until there are no undone changes left.

View File

@@ -0,0 +1,13 @@
[[Property:title|EiffelStudio Editor]]
[[Property:link_title|Editor]]
[[Property:weight|-12]]
[[Property:uuid|2594094b-af66-8cea-1d7f-629157c4aafa]]
EiffelStudio includes an editor which allows you to read and modify the text of Eiffel classes.
The EiffelStudio editor offers usual [[Clipboard functionality]], [[History functionality]], and [[Search functionality]]. More advanced, class text specific functionalities such as [[Automatic completion]] and [[Operations on text blocks]] are also available.

View File

@@ -0,0 +1,16 @@
[[Property:title|Comment and uncomment lines]]
[[Property:weight|1]]
[[Property:uuid|34aba497-1b5b-4dcc-f227-81dd9dbbc923]]
EiffelStudio editor offers the possibility to comment or uncomment several lines at a time.
* The "Comment" command corresponds to the '''Comment''' entry in the '''Advanced''' sub-menu of the [[Edit menu commands| '''Edit''' Menu ]]. It may be called by using the keyboard shortcut "Ctrl+K". Its action is to insert two dashes in front of each [[Selection|selected]] line.
* The "Uncomment" command corresponds to the '''Uncomment''' entry in the '''Advanced''' submenu of the [[Edit menu commands| '''Edit''' Menu ]]. It may be called by using the keyboard shortcut "Ctrl+Shift+K". Its action is to remove the two dashes in front of each [[Selection|selected]] line if there are such characters. <br/>
{{note|If there is no selection, these commands will be applied to the current line. }}

View File

@@ -0,0 +1,14 @@
[[Property:title|Embed lines in 'if then...end' or in 'debug...end']]
[[Property:weight|3]]
[[Property:uuid|c8024b95-376b-628f-1c13-c7fa279006e5]]
=Embed lines in "if then...end" or in "debug...end"=
EiffelStudio editor offers the possibility to embed several lines in "if then...end" or in "debug...end" structures.
* The first command corresponds to the '''Embed in if''' entry in the '''Advanced''' submenu of the [[Edit menu commands]] [[Edit menu commands| Menu]] . It may be called by using the keyboard shortcut "Ctrl+I" too. Its action is to insert a line with "if then" before the [[Selection|selected]] lines and a line with "end" after those lines. The lines will be indented and the cursor positioned between "if" and "then".
* The second command corresponds to the '''Embed in debug''' entry in the '''Advanced''' submenu of the [[Edit menu commands]] [[Edit menu commands| Menu]] . It may be called by using the keyboard shortcut "Ctrl+D" too. Its action is to insert a line with "debug" before the [[Selection|selected]] lines and a line with "end" after those lines. The lines will be indented and the cursor positioned after "debug" and "then".
{{note|If there is no selection, these commands will be applied to the current line. }}

View File

@@ -0,0 +1,16 @@
[[Property:title|Indent and unindent selection]]
[[Property:weight|2]]
[[Property:uuid|e0c1014b-1564-8225-9371-556e714848b0]]
EiffelStudio editor offers the possibility to indent or unindent selected lines.
* The "Indent" command corresponds to the '''Indent selection''' entry in the '''Advanced''' sub menu of the [[Edit menu commands| '''Edit''' Menu ]]. It may be called by using the keyboard shortcut "Tab". Its action is to insert a tabulation in front of each [[Selection|selected]] line.
* The "Unindent" command corresponds to the '''Unindent selection''' entry in the '''Advanced''' sub menu of the [[Edit menu commands| '''Edit''' Menu ]]. It may be called by using the keyboard shortcut "Shift+Tab". Its action is to remove the tabulation in front of each [[Selection|selected]] line if there is such a character. <br/>
{{note|If there is no selection, you may still use the unindent shortcut "Shift+Tab". The command will be applied to the current line. }}

View File

@@ -0,0 +1,9 @@
[[Property:title|Operations on text blocks]]
[[Property:weight|7]]
[[Property:uuid|b8fccb5b-a3b4-ba11-0781-aa63cef5028e]]
Editing the text of classes sometimes implies highly repetitive tasks, such as commenting or indenting several lines at the same time.
The commands of the editor of EiffelStudio should allow the user to perform these tasks faster and more easily. In addition to text block [[Comment and uncomment lines|commenting]] and [[Indent and unindent selection|indenting]], EiffelStudio editor makes it possible with one click to [[Embed lines in 'if then...end' or in 'debug...end'|embed]] several lines of code in "if ... then ... end" or "debug ... end" structures.

View File

@@ -0,0 +1,20 @@
[[Property:title|Search functionality]]
[[Property:weight|5]]
[[Property:uuid|eecef577-ac83-610c-9ffd-cb20c4002346]]
EiffelStudio editor provides a search functionality. To search an expression in the edited text, you can either use the [[Search tool|Search tool]] or use a set of keyboard accelerators available directly from the editor. From the editor, you can:
* Search the next occurrence of the last searched pattern. To do so, press "F3". You can change this key binding in [[Keyboard shortcuts preferences|the preferences]] .
* Search the previous occurrence of the last searched pattern. To do so, press "Shift+F3". You can change this key binding in [[Keyboard shortcuts preferences|the preferences]] .
* Search the next occurrence of the current selected pattern. To do so, press "Ctrl+F3". You can change this key binding in [[Keyboard shortcuts preferences|the preferences]] .
* Search the previous occurrence of the current selected pattern. To do so, press "Ctrl+Shift+F3". You can change this key binding in [[Keyboard shortcuts preferences|the preferences]] .
{{seealso|<br/>
[[Search tool|Search tool]] }}

View File

@@ -0,0 +1,19 @@
[[Property:title|Selection]]
[[Property:weight|2]]
[[Property:uuid|d2da7848-75c5-1512-0e35-38247a71e803]]
In EiffelStudio editor, you can select text by using either the mouse or the keyboard.
To select a text zone with the keyboard, [[Cursor moves|move the cursor]] to one end of the zone. Then press "Shift" and maintain the key pressed until you moved the cursor to the other end of the zone. The selected zone will appear in reverse video. If you want to select the entire text, press "Ctrl" and "A".
{{tip|You can combine "Ctrl" and "Shift" when using Left and Right arrows to select text word by word }}
If you choose to use the mouse, first [[Cursor moves|position the cursor]] to one end of the text zone you want to select, and click there without releasing the mouse button. Then move the mouse pointer to the other end of the zone and release the button. The selected text is shown in reverse video. If the other end of the zone is not visible, move the mouse pointer out of the edition area as you select text in the direction where the end is. EiffelStudio Editor will start scrolling automatically and will stop as soon as the mouse pointer enters the edition area again.
There are other ways of using the mouse to select text in EiffelStudio editor:
* You can select a word by double-clicking on it. If you do not release the mouse button after the second click, then you will be able to select a text zone but the bound of the zone will move one word at a time.
* If you triple click in the edition area, then the pointed line will be selected. If you do not release the mouse button after the third click, you will be able to select text line by line.
* A quadruple click will select the entire text (this is an option that you can [[Editor Preferences|modify]] in the preferences dialog).