/usr/share/doc/gnat-gps/html/Menu-Items.html is in gnat-gps-doc 5.0-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 | <html lang="en">
<head>
<title>Menu Items - Using the GNAT Programming Studio</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Using the GNAT Programming Studio">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Editing-Files.html#Editing-Files" title="Editing Files">
<link rel="prev" href="The-File-Selector.html#The-File-Selector" title="The File Selector">
<link rel="next" href="Rectangles.html#Rectangles" title="Rectangles">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 2002-2010 AdaCore.
This document is free; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, see `http://www.gnu.org/licenses/'.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
pre.smallexample {background-color:rgb(240,240,240);
font-family: courier new,courier,fixed;
font-size: 14px;
margin: 0px 40px 0px 40px;
border-width: 1px 2px 2px 1px;
border-top-style: dotted;
border-left-style: dotted;
border-right-style: solid;
border-bottom-style: solid;
border-color: black;}
code {color:black;
font-family: courier new,courier,fixed;
font-size: 14px;}
body {font-family: arial,helvetica,sans-serif;
font-size: 16px;
max-width: 800px;
text-align: justify}
samp {font-family: courier new,courier,fixed;
font-size: 14px}
--></style>
</head>
<body>
<div class="node">
<a name="Menu-Items"></a>
<p>
Next: <a rel="next" accesskey="n" href="Rectangles.html#Rectangles">Rectangles</a>,
Previous: <a rel="previous" accesskey="p" href="The-File-Selector.html#The-File-Selector">The File Selector</a>,
Up: <a rel="up" accesskey="u" href="Editing-Files.html#Editing-Files">Editing Files</a>
<hr>
</div>
<h3 class="section">5.4 Menu Items</h3>
<p><a name="index-menu-142"></a><!-- -->
<p class="noindent">The main menus that give access to extended functionalities related to
source editing are described in this section.
<h4 class="subsection">5.4.1 The File Menu</h4>
<p><a name="The-File-Menu"></a>
<dl>
<dt><b>New</b><dd><a name="index-new-file-143"></a>Open a new untitled source editor.
No syntax highlighting is performed until the file is saved, since GPS needs
to know the file name in order to choose the programming language associated
with a file.
<p><a name="index-Ada-144"></a>When you save a new file for the first time, GPS will ask you to enter the
name of the file. In case you have started typing Ada code, GPS will try
to guess based on the first main entity in the editor and on the current
naming scheme, what should be the default name of this new file.
<br><dt><b>New View</b><dd><a name="index-new-view-145"></a><a name="index-view-146"></a>Create a new view of the current editor. The new view shares the same
contents: if you modify one of the source views, the other view is updated
at the same time. This is particularly useful when you want to display two
separate parts of the same file, for example a function spec and its body.
<p>A new view can also be created by keeping the <shift> key pressed while
drag-and-dropping the editor (see <a href="Moving-Windows.html#Moving-Windows">Moving Windows</a>). This second method is
preferred, since you can then specify directly where you want to put the new
view. The default when using the menu is that the new view is put on top of
the editor itself.
<br><dt><b>Open...</b><dd><a name="index-open-147"></a><a name="index-Windows-148"></a>Open a file selection dialog where you can select a file to edit.
Under Windows, this is the standard file selector. Under other platforms,
this is a built-in file selector described in <a href="The-File-Selector.html#The-File-Selector">The File Selector</a>.
<br><dt><b>Open From Project...</b><dd><a name="Open-From-Project"></a><a name="index-open-149"></a><a name="index-project-150"></a>Open a dialog where you can easily and rapidly select a source file from your
project.
<p><a name="index-screen-shot-151"></a><img src="open-from-project.jpg" alt="open-from-project.jpg">
<p>The first text area allows you to type a file name. You can start the beginning
of a file name, and use the <Tab> key to complete the file name. If there
are several possible completions, the common prefix will be displayed, and
a list of all possible completions will be displayed in the second text area.
<p><a name="index-key-152"></a>You can then either complete the name by typing it, or continue hitting the
<Tab> key to cycle through the possible completions, or click on one of the
completions in the list displayed.
<p>If you press the down arrow key, the focus will move to the list of
completions, so that you can select a file from this list without using the
mouse.
<p>Once you have made your choice, click on the <code>OK</code> button to validate.
Clicking on <code>Cancel</code> or hitting the <Esc> key will cancel the
operation and close the dialog.
<p>This dialog will only show each file once. If you have extended
projects in your hierarchy, some files may be redefined in some
extending project. In this case, only the files from the extending
project are shown, and you cannot have access through this dialog to
the overridden files of the extended project. Of course, you can still
use the project view or the standard <code>File->Open</code> menu to
open these files.
<br><dt><b>Open From Host...</b><dd><a name="Open-From-Host"></a><a name="index-open-153"></a>Open a file selector dialog where you can specify a remote host, as
defined in <a href="The-remote-configuration-dialog.html#The-remote-configuration-dialog">The remote configuration dialog</a>. You have access to a remote
host file system, can specify a file which can be edited in GPS. When you
hit the save button or menu, the file will be saved on the remote host.
<p>See also <a href="Using-GPS-for-Remote-Development.html#Using-GPS-for-Remote-Development">Using GPS for Remote Development</a> for a more efficient
way to work locally on remote files.
<br><dt><b>Recent</b><dd><a name="index-recent-154"></a>Open a sub menu containing a list of the ten most recent files opened in GPS,
so that you can reopen them easily.
<br><dt><b>Save</b><dd><a name="index-save-155"></a>Save the current source editor if needed.
<br><dt><b>Save As...</b><dd><a name="index-save-as-156"></a>Same current file under a different name, using the file selector dialog.
See <a href="The-File-Selector.html#The-File-Selector">The File Selector</a>.
<br><dt><b>Save More</b><dd><a name="index-save-157"></a>Give access to extra save capabilities.
<dl>
<!-- @item All Editors -->
<!-- Save all modified source editors. -->
<dt><i>All</i><dd><a name="index-save-all-158"></a>Save all items, including projects, etc<small class="dots">...</small>
<br><dt><i>Desktop</i><dd><a name="index-save-desktop-159"></a>Save the desktop to a file. The desktop includes information about
files, graphs, <small class="dots">...</small> and their window size and position in GPS. The desktop
is saved per top level project, so that if you reload the same project you get
back to the same situation you were in when you left GPS. Instead, if you load
a different project another desktop will be loaded (or the default desktop).
Through the preference "Save Desktop On Exit", you can also automatically save
this desktop when you quit GPS.
</dl>
<br><dt><b>Change Directory...</b><dd><a name="index-directory-160"></a>Open a directory selection dialog that lets you change the current working
directory.
<br><dt><b>Messages</b><dd><a name="index-messages-161"></a>This sub menu gives access to functionalities related to the Messages window.
See <a href="The-Messages-Window.html#The-Messages-Window">The Messages Window</a>.
<dl>
<dt><i>Clear</i><dd><a name="index-messages-162"></a><a name="index-clear-163"></a>Clear the contents of the Messages window.
<br><dt><i>Save As...</i><dd><a name="index-save-as-164"></a>Save the contents of the Messages window to a file. A file selector is
displayed to choose the name and location of the file.
<br><dt><i>Load Contents...</i><dd><a name="index-load-165"></a>Open a file selector to load the contents of a file in the Messages
window. Source locations are identified and loaded in <a href="The-Locations-View.html#The-Locations-View">The Locations View</a>.
<br><dt><i>Export Locations to editor</i><dd><a name="index-export-locations-166"></a>List the contents of the Locations view in a standard text editor.
</dl>
<br><dt><b>Close</b><dd><a name="index-close-167"></a>Close the current window. This applies to all GPS windows, not only source
editors.
<!-- @item Close All -->
<!-- Close all windows. -->
<br><dt><b>Print</b><dd><a name="index-print-168"></a>Print the current window contents, optionally saving it interactively if it has
been modified. The Print Command specified in the preferences is used if it is
defined. On Unix this command is required; on Windows it is optional.
<p>On Windows, if no command is specified in the preferences the standard Windows
print dialog box is displayed. This dialog box allows the user to specify the
target printer, the properties of the printer, which pages to print (all, or a
specific range of pages), the number of copies to print, and, when more than
one copy is specified, whether the pages should be collated. Pressing the
Cancel button on the dialog box returns to GPS without printing the window
contents; otherwise the specified pages and copies are printed on the selected
printer. Each page is printed with a header containing the name of the file
(if the window has ever been saved). The page number is printed on the bottom
of each page.
See <a href="Print-Command.html#Print-Command">Print Command</a>.
<br><dt><b>Exit</b><dd><a name="index-exit-169"></a><a name="index-quit-170"></a>Exit GPS after confirmation and if needed, confirmation about saving modified
windows and editors.
</dl>
<h4 class="subsection">5.4.2 The Edit Menu</h4>
<p><a name="The-Edit-Menu"></a><a name="index-menu-171"></a><a name="index-edit-172"></a>
<dl>
<dt><b>Undo</b><dd><a name="index-undo-173"></a>Undo previous insertion/deletion in the current editor.
<br><dt><b>Redo</b><dd><a name="index-redo-174"></a>Redo previous insertion/deletion in the current editor.
<br><dt><b>Cut</b><dd><a name="index-cut-175"></a>Cut the current selection and store it in the clipboard.
<br><dt><b>Copy</b><dd><a name="index-copy-176"></a><a name="index-yank-177"></a>Copy the current selection to the clipboard.
<br><dt><b>Paste</b><dd><a name="index-paste-178"></a>Paste the contents of the clipboard to the current cursor position.
<br><dt><b>Paste Previous</b><dd><a name="index-paste-previous-179"></a>GPS stores a list of all the text that was previously copied into the clipboard
through the use of Copy or Cut.
<p>By default, if you press Paste, the newest text will be copied at the current
position. But if you select Paste Previous immediately after (one or more times)
you can instead paste text that was copied previously in the clipboard.
<p>For instance, if you copy through <code>Edit->Copy</code> the text "First", then
copy the text "Second", you can then select <code>Edit->Paste</code> to insert
"Second" at the current location. If you then select
<code>Edit->Paste Previous</code>, "Second" will be replaced by "First".
<p>Selecting this menu several times will replace the text previously pasted
by the previous one in the list saved in the clipboard. When reaching the end
of this list, GPS will started from the beginning, and insert again the last
text copied into the clipboard.
<p>The size of this list is controlled by the <code>Clipboard Size</code> preference.
<p>For more information, See <a href="The-Clipboard-View.html#The-Clipboard-View">The Clipboard View</a>.
<br><dt><b>Select All</b><dd><a name="index-select-all-180"></a>Select the whole contents of the current source editor.
<br><dt><b>Rectangles...</b><dd>See the section see <a href="Rectangles.html#Rectangles">Rectangles</a> for more information on rectangles.
<br><dt><b>Insert File...</b><dd>Open a file selection dialog and insert the contents of this file in
the current source editor, at the current cursor location.
<br><dt><b>Insert Shell Output...</b><dd>Open an input window at the bottom of the GPS window where you can specify any
external command. The output of the command will be inserted at the current
editor location in case of success. If text is selected, the text is passed
to the external command and replaced by the command's output.
<br><dt><b>Format Selection</b><dd><a name="index-format-selection-181"></a>Indent and format the selection or the current line.
See <a href="The-Preferences-Dialog.html#The-Preferences-Dialog">The Preferences Dialog</a>, for preferences related to source formatting.
<br><dt><b>Smart Completion</b><dd><a name="Smart-Completion"></a><a name="index-completion-182"></a>
Complete the identifier prefix under the cursor, and list the results in a
pop-up list. This command can take advantage of an entity database and offers
completions from the entire project, along with documentation extracted from
comments surrounding declarations. To take full advantage of this feature, the
smart completion preference must be enabled, which will imply the computation
of the entity database at GPS startup.
<p>In order to use this feature, open any Ada file, and begin to type an
identifier. It has to be an identifier declared either in the current file (and
accessible from the cursor location) or in one of the packages of the project
loaded. Move the cursor right after the last character of the incomplete
identifier and hit the completion key (which is <ctrl+space> by default).
GPS will open a popup displaying all the known identifiers beginning with the
prefix you typed. You can then browse among the various proposals by clicking
on the <up> and <down> keys, or using the left scrollbar. For each
entity, a documentation box is filled. If the location of the entity is known,
it's displayed as an hyperlink, and you can jump directly to its declaration by
clicking on it.
<p>Typing new letters will reduce the range of proposal, as long as there remain
solutions. Once you've selected the expected completion, you can validate by
pressing <Enter>.
<p>Typing control characters (ie, characters which cannot be used in identifiers)
will also validate the current selection.
<p>GPS is also able to complete automatically subprogram parameter or dotted
notations. For example, if you type
<pre class="smallexample"> with Ada.
</pre>
<p>the smart completion window will appear automatically, listing all the child
and nested packages of Ada. You can configure the time interval after which
the completion window appears (see <a href="The-Preferences-Dialog.html#The-Preferences-Dialog">The Preferences Dialog</a>).
<p>You can also write the beginning of the package, e.g.:
<pre class="smallexample"> with Ada.Text
</pre>
<p>pressing the completion key will offer you Text_IO.
<p>If you are in a code section, you will be able to complete the fields of
a record, or the contents of a package, e.g.:
<pre class="smallexample"> type R is record
Field1 : Integer;
Field2 : Integer;
end record;
V : R;
begin
V.
</pre>
<p>Completing V. will propose Field1 and Field2.
<p>The smart completion can also give you the possible parameters of a call
you're currently making. For example, in the following code:
<pre class="smallexample">
procedure Proc (A, B, C : Integer);
begin
Proc (1,
</pre>
<p>If you hit the completion key after the comma, the smart completion engine
will propose you to complete with the named parameters "B =>", "C =>" or
directly to complete with all the remaining parameters, which in this case
will be "B =>, C => )".
<p><a name="index-screen-shot-183"></a><img src="smart-completion.jpg" alt="smart-completion.jpg">
<p>Limitations:
<dl>
<dt>•This feature is currently only available for Ada.<dd>Using the smart completion on non Ada files behaves as the identifier completion does.
See <a href="Complete-Identifier.html#Complete-Identifier">Complete Identifier</a>.
</dl>
<br><dt><b>More Completion</b><dd><a name="index-completion-184"></a>
This submenu contains more ways to automatically complete code
<dl>
<dt>•Expand Alias<dd>Consider the current word as an alias and expand according to aliases
defined in <a href="Defining-text-aliases.html#Defining-text-aliases">Defining text aliases</a>.
<br><dt>•Complete Identifier<dd><a name="Complete-Identifier"></a><a name="index-complete-identifier-185"></a>Complete the identifier prefix under the cursor. This command will cycle
through all identifiers starting with the given prefix.
<br><dt>•Complete Block<dd><a name="index-complete-block-186"></a>Close the current statement (if, case, loop) or unit (procedure,
function, package). This action works only on an Ada buffer.
</dl>
<br><dt><b>Selection</b><dd><a name="index-selection-187"></a>
<dl>
<dt>•Comment Lines<dd><a name="index-comment-188"></a>Comment the current selection or line based on the current programming
language syntax.
<br><dt>•Uncomment Lines<dd><a name="index-uncomment-189"></a>Remove the comment delimiters from the current selection or line.
<br><dt>•Refill<dd><a name="index-refill-190"></a>Refill text on the selection or current line according to the right
margin as defined by the right margin preference
(see <a href="The-Preferences-Dialog.html#The-Preferences-Dialog">The Preferences Dialog</a>).
<br><dt>•Refill with fmt<dd><a name="index-refill-191"></a><a name="index-fmt-192"></a>Refill text on the selection or current line using the external utility
<code>fmt</code>. If <code>fmt</code> is not found on your system, this menu will not be
displayed.
<br><dt>•Sort<dd>Sort the selected lines alphabetically. This is particularly useful when
editing non source code, or for specific parts of the code, like with clauses
in Ada.
<br><dt>•Sort Reverse<dd>Sort the selected lines in reverse alphabetical order
<br><dt>•Pipe in external program...<dd>Open an input window at the bottom of the GPS window where you can specify any
external command, which will take the current selection as input. The output of
the command will replace the contents of the selection on success.
<br><dt>•Serialize<dd>Increment a set of numbers found on adjacent lines.
The exact behavior depends on whether there is a current selection or not.
<p>If there is no selection, then the set of lines considered is from
the current line on and includes all adjacent lines that have at
least one digit in the original columns. In the following example,
'|' marks the place where the cursor is at the beginning:
<pre class="smallexample"> AAA |10 AAA
CCC 34567 CCC
DDD DDD
</pre>
<p>then only the first two lines will be modified, and will become
<pre class="smallexample"> AAA 10 AAA
CCC 11 CCC
DDD DDD
</pre>
<p>If there is a selection, all the lines in the selection are
modified. For each line, the columns that had digits in the first
line are modified, no matter what they actually contain. In the
example above, if you select all three lines, the replacement becomes
<pre class="smallexample"> AAA 10 AAA
CCC 11567 CCC
DDD 12D
</pre>
<p>ie only the fifth and sixth columns are modified since only those
columns contained digits in the first line. This feature assumes that
you are selecting a relevant set of lines. But it allows you to
transform blank lines more easily. For instance, if you have
<pre class="smallexample"> AAA 1
BBB
CCC
</pre>
<p>this is transformed into
<pre class="smallexample"> AAA 1
BBB 2
CCC 3
</pre>
<br><dt>•Untabify<dd>Replace all tabs in the current selection (or in the whole buffer if
there is no selection) by the appropriate number of spaces
<br><dt>•Move Right<dt>•Move Left<dd>Shift the currently selected lines (or the current line if there is no
selection) one character to the right or to the left
</dl>
<br><dt><b>Fold all blocks</b><dd><a name="index-fold-193"></a>Collapse all the blocks in the current file.
<br><dt><b>Unfold all blocks</b><dd><a name="index-unfold-194"></a>Uncollapse all the blocks in the current file.
<br><dt><b>Create Bookmark</b><dd>Creates a new Bookmark at cursor position. For more information,
See <a href="Bookmarks.html#Bookmarks">Bookmarks</a>.
<br><dt><b>Pretty Print</b><dd><a name="index-gnatpp-195"></a><a name="index-pretty-print-196"></a>Pretty print the current source editor by calling the external tool
<code>gnatpp</code>. It is possible to specify <code>gnatpp</code> switches in the
switch editor. See <a href="The-Switches-Editor.html#The-Switches-Editor">The Switches Editor</a>.
<br><dt><b>Generate Body</b><dd><a name="index-gnatstub-197"></a><a name="index-generate-body-198"></a>Generate Ada body stub for the current source editor by calling the
external tool <code>gnatstub</code>.
<br><dt><b>Unit Testing</b><dd><a name="index-AUnit-199"></a><a name="index-unit-testing-200"></a><a name="index-testing-201"></a>This sub menu gives access to dialogs that make it easy to generate
AUnit stubs. AUnit is an Ada unit testing framework.
<dl>
<dt><i>New Test Case...</i><dd>Create a new test case. See AUnit documentation for more details.
<!-- @item Add Routine... -->
<!-- Add a new routine in the current test. See AUnit documentation for more details. -->
<br><dt><i>New Test Suite...</i><dd>Create a new test suite. See AUnit documentation for more details.
<br><dt><i>New Test Harness...</i><dd>Create a new test harness. See AUnit documentation for more details.
</dl>
<br><dt><b>Edit with external editor</b><dd>See <a href="Using-an-External-Editor.html#Using-an-External-Editor">Using an External Editor</a>.
<br><dt><b>Aliases</b><dd><a name="index-alias-202"></a>Display the Aliases editor. See <a href="Defining-text-aliases.html#Defining-text-aliases">Defining text aliases</a>.
<br><dt><b>Key shortcuts</b><dd><a name="index-key-shortcuts-203"></a>Give access to the key manager dialog, to associate commands with special
keys. See <a href="The-Key-Manager-Dialog.html#The-Key-Manager-Dialog">The Key Manager Dialog</a>.
<br><dt><b>Preferences</b><dd><a name="index-preferences-204"></a>Give access to the preferences dialog. See <a href="The-Preferences-Dialog.html#The-Preferences-Dialog">The Preferences Dialog</a>.
</dl>
<!-- -->
</body></html>
|