mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-07 15:22:31 +01:00
Author:halw
Date:2009-08-04T22:37:13.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@277 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -33,7 +33,9 @@ which would list all class names starting with "<code>LI</code>" and containing
|
||||
{{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. The auto-completion window can be cancelled by clicking outside the window or pressing <code>Esc</code>.
|
||||
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 used.
|
||||
|
||||
The auto-completion window can be cancelled by clicking outside the window or pressing <code>Esc</code>.
|
||||
|
||||
|
||||
[[Image:editor-class-auto-completion-window]]
|
||||
@@ -46,7 +48,7 @@ At the bottom of the auto-completion window you will find a row of icons labeled
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
@@ -5,16 +5,15 @@
|
||||
|
||||
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>
|
||||
an_string.a</code>
|
||||
and then trigger feature call auto-completion, one of two things will happen:
|
||||
# If there is only one available feature name that begins with "<code>a</code>", then a template for a call to that feature will be inserted into the code.
|
||||
# If more than one such feature name exists, the editor will propose a list of possible valid feature names from which to choose, as seen in Figure 1.
|
||||
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 be triggered:
|
||||
Feature call auto-completion can also be triggered:
|
||||
|
||||
# Automatically as soon as you type a dot ('.') after a feature name
|
||||
# By pressing <code>crtl+space</code>
|
||||
# By following the edit menu path:
|
||||
|
||||
@@ -32,7 +31,7 @@ Feature call auto-completion is most commonly used in the Editor pane. But the s
|
||||
|
||||
==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 begin with the string "<code>a</code>". So, you can think of the auto-completion as a search for feature names using the characters you
|
||||
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]]
|
||||
@@ -40,11 +39,18 @@ Using the example above, when auto-completion is triggered, the feature call aut
|
||||
Figure 1. The feature auto-completion window.
|
||||
|
||||
|
||||
This window will contain a text field and a list. The text field will be filled with the beginning of the feature name that was entered. The first item in the list, if any, will be selected. <br/>
|
||||
To complete your code with the selected item, press "Enter" or "Ctrl+Space". <br/>
|
||||
To choose another item, use keyboard Up and Down arrows or the mouse. You can also modify the content of the text field. The list will be updated automatically. To validate your choice, press "Enter" or "Ctrl+Space". If there is no selected item, the content of the text field will be inserted. <br/>
|
||||
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|Auto-completion list display options]] below). To validate your choice, press "Enter" or "Ctrl+Space". If there is no selected item, the content of the text field will be inserted.
|
||||
|
||||
|
||||
To cancel the auto-complete, press "Esc" at any time.
|
||||
|
||||
==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: }}
|
||||
* If the selected feature is a query, you can call the auto-complete again right after the previous completion. There is no need to type a dot.
|
||||
* You can call the auto-complete without an identifier. The auto-complete window will then show the features of the current class.
|
||||
|
||||
@@ -14,6 +14,7 @@ The documentation is organized into virtual books. Each book covers an important
|
||||
* [[Platform specifics]] -- Specific support for particular platforms, e.g., Microsoft Windows
|
||||
* [[Method|Method and Language]] -- The Eiffel Method and Language
|
||||
* [[Why Eiffel?]] -- Why Eiffel?
|
||||
* [[Papers]] -- Technical and position papers relating to Eiffel and the engineering of high quality software
|
||||
* [[Community]] -- Community Contributions
|
||||
<!--break-->
|
||||
Sources of information on Eiffel include:
|
||||
@@ -45,6 +46,10 @@ Sources of information on Eiffel include:
|
||||
|
||||
:A summary of the arguments for using Eiffel.
|
||||
|
||||
===[[Papers]] -- Technical and position papers relating to Eiffel===
|
||||
|
||||
:This book is a place for white papers which provide background, foundation, or supplemental information about the the Eiffel method and language as well as the goal of engineering high quality software.
|
||||
|
||||
===[[Community]] -- You can contribute to the documentation!===
|
||||
|
||||
:EiffelStudio documentation is available in a convenient Wiki format. This makes it possible to improve the documentation continuously and make sure it is always up to date.
|
||||
|
||||
@@ -6,14 +6,14 @@ This white paper (see "Attachment" link below) presents the Eiffel void safety m
|
||||
|
||||
In almost every program running today there is a ticking time bomb: the risk of a "void call". A void call is possible in programs written in almost any programming language; its effect is usually to crash the program. Many unexplained program failures and other abnormal behaviors result from void calls.
|
||||
|
||||
While extensive testing can decrease the likelihood of a void call, it cannot remove the possibility. The solution has to com from the programming language.
|
||||
While extensive testing can decrease the likelihood of a void call, it cannot remove the possibility. The solution has to come from the programming language.
|
||||
<!--break-->
|
||||
Professor C.A.R. Hoare from Microsoft Research, winner of the Turing Award and the Kyoto Prize, calls the presence of void calls in modern programming languages the "billion-dollar mistake":
|
||||
|
||||
<ul>"The invention of the null reference in 1965" [the source of void calls] "has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years."
|
||||
</ul>
|
||||
|
||||
(Citation at: http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake</a>.)
|
||||
(Citation at: http://qconlondon.com/london-2009/presentation/Null+References:+The+Billion+Dollar+Mistake .)
|
||||
|
||||
|
||||
The Eiffel solution relies on a combination of language mechanisms:
|
||||
|
||||
Reference in New Issue
Block a user