Difference between revisions of "IDE Window: Editor Options Mouse/de"

From Lazarus wiki
Jump to navigationJump to search
(Excuded redirect)
 
(19 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{IDE Window: Editor Options Mouse}}
+
<noinclude>{{IDE Window: Editor Options Mouse}}<!--- This page may be used as template in other pages ---></noinclude>
  
= Der Kontext Baum =
+
<!-- do NOT REMOVE the div tags in the headers. They are used for the F1 help in the IDE. They must be kept, even if you rename the headers -->
  
Bei dem Kontext Baum  handelt es sich um die Baum-Struktur direkt links neben der Übersichts-Tabelle. Gegenwärtig hat er folgende Einträge:
+
<u><b>Diese Seite ist ein Teil der Online-Hilfe für die IDE. </b></u><br/>
* '''Text'''
+
Sie beschreibt den Abschnitt: "Editor" / "Maus". Sie können diesen Dialog in Ihrer IDE aufrufen über:<br/>
** '''Auswahl'''
+
*das Menü: Werkzeuge => Einstellungen -> Editor -> Maus ...
* '''Randleiste'''
+
*das Kontextmenü des Quelltexteditors (Rechtsklick): ->  Einstellungen ...
** '''Falt''' '''Baum'''
 
*** '''Gefaltet''' '''[+]'''
 
*** '''Entfaltet''' '''[-]'''
 
** '''Zeilen''' '''Nummern'''
 
  
Das Verhalten der einzelnen Maus-Tasten kann Kontext-sensitiv festgelegt werden. Z.B. ein Klick auf den markierten Text kann eine andere Aktion auslösen als ein Klick auf unmarkierten Text.
+
<font size="+1"><u><b>Navigation</b></u></font><br/>
 +
<table><tr><td>
 +
*<font size="+1">[[IDE_Window:_Editor_Options/de|Editoreinstellungen]]</font> Überblick über alle Editoreinstellungen
 +
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </td><td>
 +
*<font size="+1">[[IDE Window: IDE Options Dialog/de|IDE Options]]</font> Überblick über alle Einstellungen der IDE</td>
 +
</tr></table>
  
Wenn für einen Kontext kein Verhalten für einen bestimmten Klick definiert ist, dann dient der übergeordnete Kontext als Definition (Rückfall). Z.B. für einen Klick auf markierten Text wird zuerst der Kontext "Markierung" durchsucht. Ist hier kein Eintrag für den Klick vorhanden dann wird der Kontext "Text" durchsucht. (In der Vorgabe-Konfiguration ist die Aktion für "Markierten Text verschieben" (Drag) auf diese Weise definiert.)
+
----
  
'''Randleiste''' und '''Text''' sind Haupteinträge im Kontext Baum. Sie haben keine Rückfall-Konfigurationen. Die anderen Einträge können jeweils auf ihre übergeordneten Einträge zurückfallen.
 
  
= Die Klick Konfiguration =
+
=== Allgemein ===
  
Welche Reaktion ein Klick mit einer der Maustasten auslöst wird anhand der folgenden Kriterien ermittelt.
+
==== Maus beim Tippen verbergen ====
  
=== Die Maustaste ===
+
Wenn der Mauszeiger über einem Editor ist, wird er während Sie tippen verborgen. Jede Mausbewegung, Mausklick oder Menübefehl machen ihn wieder sichtbar.
  
Hier gibt es individuelle Einstellmöglichkeiten für die '''Left''', '''Right''' und '''Middle''' Maustaste.
+
=== Randleiste ===
  
=== Die Zahl der Klicks ===
+
Sie können aktuell zwischen zwei vordefinierten Modi für die Randleiste wählen:
  
There are individual settings for '''Single''', '''Double''', '''Triple''' or '''Quad''' clicks.
+
==== Standard ====
  
Please make sure you read the section on [[#Double to Quad Clicks|Double to Quad Clicks]]
+
Alle Klicks mit der linken Maustaste auf die Randleiste reagieren, wenn die Maustaste gedrückt wird.
  
 +
==== Erweitert ====
  
There also is a setting '''Any''', which means the action is executed for any of the clicks. That would mean that a double click would execute the action twice. Or if the first part of the double-click changed the state of the object, the 2nd part would apply to the new state.
+
Alle Klicks mit der linken Maustaste auf die Randleiste reagieren, wenn die Maustaste losgelassen wird. Dieser Modus erlaubt es, mit der Maus Text zu markieren und trotzdem eine Klickaktion auszulösen.
*Beispiel:
 
:The left button on the code fold part is configured as '''Any'''. Each click will toggle between folded and unfolded. Therefore a double click will revert the action of the first.
 
:Without the '''Any''' setting, if you accidentally folded the wrong node, you would have to wait before you could click again to unfold it. (Because a quick 2nd click would count as double click, which wouldn't be matched by '''Single''')
 
  
Anmerkungen:
+
* Maus gedrückt und bewegt (zu einer anderen Zeile oder in den Textbereich hinein), erstellt eine Auswahl. Beim Auslassen erfolgt keine Aktion.
* Nicht alle von ihnen werden auf allen Plattformen unterstützt.
+
* Maus gedrückt und ausgelassen ohne Bewegung, führt den normalen Randleistenklick aus (Breakpoint / Codefaltung)
* Currently '''Double''', '''Triple''' and '''Quad''' only work for the left button and only for '''down''' clicks
 
  
=== Die Richtung des Klicks ===
+
=== Text ===
  
A mouse click consists of a mouse-'''down''' and a mouse-'''up'''.
+
==== Alt-Taste aktiviert Spaltenmodus ====
  
Actions can be configured to happen on either of those 2 events.
+
Erlaubt die spaltenweise Auswahl. Halten Sie die Alt-Taste gedrückt, während Sie mit der Maus Text auswählen.
  
You can assign 2 different actions to the 2 events of the same click. They will be executed in the order of the events. However keep in mind that such a configuration may limit the action of the mouse-'''down''' event.
+
==== Auswahl verschieben ====
  
Anmerkungen:
+
Mit der linken Maustaste ziehen Sie eine Auswahl an eine neue Stelle. Bei zusätzlicher Strg-Taste wird die Auswahl kopiert.
* Some events require the correct Click Direction to work properly:
 
** Start Selection, Drag Selection: Only works on '''down''' events, since it relies on the following mouse-movement-while-button-down. (It has a build in "end" at mouse button up)
 
** Kontextmenü: On some WidgetSets this will only work reliable on mouse-'''up''' events
 
  
=== Die Umstelltasten ===
+
==== Rechte Maustaste bewegt auch den Cursor ====
  
Mouse behaviour can be modified by holding the '''Shift''', '''Alt''' or '''Strg''' key (or combinations of them)
+
DIe rechte Maustaste zeigt immer das Kontextmenü an. Die Einfügemarke auf die Klickposition zu setzen ist optional.
  
At the time of the click-'''down''' or '''up''' the state of all three keys is checked. An action can be defined to:
+
==== Doppelklick markiert Zeile ====
* require one, some or all of the modifier keys pressed (Checkbox ticked)
 
* require one, some or all of the modifier keys *not* pressed (Checkbox not ticked)
 
* ignore the state of one, some or all of the modifier keys (Checkbox greyed)
 
  
For a given combination of Button, Click-Type, Click-Direction there must not be any ambiguity for the modifier keys. Example
+
Normalerweise wählt ein Doppelklick ein Wort aus, ein Dreifachklick eine Zeile (ohne führende und nachfolgende Leerzeichen). Mit dieser Einstellung wählt der Doppelklick die Zeile aus, ein Dreifachklick schließt auch führende/nachfolgende Leerzeichen ein.
;Bad / Ambiguous:
 
* Left, Single, down Click with: Shift required pressed; Alt and Ctrl ignored
 
* Left, Single, down Click with: Ctrl required pressed; Alt and Shift ignored
 
: Now if you do this click, with both of Shift and Ctrl pressed, it would be unclear which of the 2 settings to use
 
;Correct:
 
* Left, Single, down Click with: Shift required pressed; Ctrl required un-pressed; Alt ignored
 
* Left, Single, down Click with: Ctrl required pressed; Shift required un-pressed; Alt ignored
 
If you whish Shift to be preferred (the shift action should be taken, if both modifier keys are pressed) then you must at an extra setting:
 
* Left, Single, down Click with: Ctrl required pressed; Shift required pressed; Alt ignored
 
  
 +
==== Mittlere Taste ====
  
;Default Fallback:
+
"Auswahl einfügen": Bei einer aktiven Auswahl wird eine Kopie an der angeklickten Position eingefügt.
Es gibt eine Ausnahme von dieser Regel. If all modifier keys are set to be ignored, the entry becomes the fall-back for the button, click-type, click-dir configuration.
 
This is, if no configuration is found which has at least one modifier key required either pressed or un-pressed, then the fallback will be used.
 
  
;Anmerkung:
+
==== Strg + linke Taste ====
The Modifier Combinations used to detect the action on mouse down (or up) has nothing to do with the modifier Key, that certain actions use during there mouse-move phase.<br>
 
e.g. Dragging uses "ctrl" to copy the dragged text instead of moving it. However the use of "ctrl" for copy indication is during mouse move, so you can set start dragging to rely on any other Modifier key. It is however recommended to set '''Ctrl''' to greyed, so you can start dragging with the key pressed or un-pressed.<br>
 
This is different to using "alt" (or others) for column mode selection: Here the decision is made only at the time of click. Later changes of the "alt" key during mouse-move do not change the selection mode.
 
  
= <div id="ActionHelp"></div>The Action / Behaviour =
+
Als Vorgabe:  Wenn Sie auf einen Bezeichner (wie z.B. eine Funktion, eine Variable oder einen Typnamen) klicken, springt die IDE zur Deklaration dieses Bezeichners (sogar in eine andere Unit hinein).
  
Each mouse button event as defined above, can trigger some action. The same action can be assigned to more than one event. (IF 2 events have the same behaviour, then there modifier keys are not checked for ambiguity)
+
Dieses Merkmal ist auch als Tastenkürzel verfügbar (üblicherweise {{keypress|Alt|Up}}. Siehe "Einstellungen" / "Tastaturbelegung" / "CodeTools-Befehle" / "Deklaration suchen"
  
;Move Caret checkbox: With each action you can define, if you whish the caret to be moved. However this only additionally enforces the caret move. If an action implicitly moves the caret, then this will happen, even if you uncheck the this box. (e.g. Selecting a block always moves the caret)
+
"zum anderen Blockende" bedeutet: Wenn Sie nicht auf einem Bezeichner sondern auf einem Blockanfang sind ("begin", "end" oder einem Klammerpaar oder etwas Ähnlichem), dann erfolgt ein Sprung zum passenden Wort / zur passenden Klammer. Auf der Tastatur ist das {{keypress|Strg|Q|K}}, siehe: "Tastaturbelegung" / "Codetools-Befehle" / "Anderes Blockende suchen".
  
;Command options: Some commands take additional params to refine there behaviour
+
=== Erweitert ===
  
;Implicit mouse up action: Some events that occur on mouse '''down''' events implicitly assign a mouse '''up''' action for the current click. <br> E.g. dragging implicitly drops (inserts) the text when the button is released. <br> If any configured action is assigned to the mouse up, then the implicit action is performed first, the configured action is performed second.
+
Für erweiterte Einstellungen sehen Sie bitte hier: [[IDE_Window:_EditorMouseOptionsAdvanced/de|Erweiterte Maus-Einstellungen]]
  
== No Action Command ==
+
Wenn Sie in den erweiterten Einstellungen Änderungen vorgenommen haben, zeigt diese Seite einen Hinweis darauf.
  
There are 2 uses for this:
+
In diesem Fall werden Ihre Änderungen nicht mehr sofort vorgenommen. Stattdessen wird ein Knopf angezeigt, der Sie zum Überschreiben der Einstellungen mit Ihren Änderungen auffordert. Falls Sie ungespeicherte Änderungen haben, wird ein Warnhinweis angezeigt.
;Move Caret: With "Move Caret" it will set the caret to the mouse location. This will unset an existing selection. It also prevents a new selection from being marked by moving the mouse. <br> If it occurs on '''down''' then the caret will be set to the location the mouse was pressed, never mind where you release the button
 
;Prevent fallback to parent node: In Context-Subnodes this can prevent a click from executing the parent node(s) action. <br> E.g. this is assigned to the FoldTree. It catches clicks that are neither on a [+] or [-] node. Otherwise they fall through to the normal Gutter and toggle a breakpoint.
 
 
 
== Selection Commands ==
 
 
 
=== Block Selection Commands ===
 
 
 
There are 3 Selection commands, for the 3 selection modes supported by SynEdit: '''Normal''', '''Column''' or '''Full-Lines'''.
 
 
 
Note: All of them move the caret implicitly.
 
 
 
Each of those can be configured in 2 different ''Modes'':
 
;Begin: Starts a new selection . If an old selection exists, it will be disregarded. The new Selections starts at the current mouse location.
 
;Continue: If an old selection exists, then it will be extend.<br>If there was no selection, then a new selection is created, which will start at the position the caret had before the event occurred, and range to the click position.
 
 
 
Those events should be assigned to mouse '''down''' events, in which case the selection will resize with any following mouse-movement until the mouse button is released. ('''Implicit mouse up action''')
 
 
 
"Begin-Mode" on mouse '''up''' does nothing, but setting the caret. (Except currently for line mode, which selects the line).<br>
 
"Continue-Mode" on mouse '''up''' will extend the selection
 
 
 
=== Item Selection Commands ===
 
 
 
Allow to select the Word, Line or Paragraph at the mouse position.
 
Once selected the selection will not extend, if the mouse moves.
 
 
 
"Line" supports 2 modes, either including leading/trailing spaces of the line or not.
 
 
 
Note: All of them move the caret implicitly.
 
 
 
=== Drag Selection Command ===
 
 
 
Drags (Copies or moves) the current selection to a new position, following mouse movement. It will be pasted there if the button is released. ('''Implicit mouse up action''')
 
 
 
Independent of the modifier keys pressed at the time of the event occurring (or the configured mod, keys), it will check for the '''ctrl''' key at the time the dragged text is inserted. If Ctrl is pressed the text will be copied, otherwise moved.
 
 
 
Note: moves the caret implicitly.
 
 
 
=== Quick copy Selection Command ===
 
 
 
Inserts a copy of the currently selected text at the mouse location. If no text is selected, inserts the content of the clipboard.
 
 
 
Note: moves the caret implicitly.
 
 
 
== Context Popup Menu ==
 
 
 
Note: GTK2: PopUp-Menu is recommended for use with ButtonUp only
 
 
 
== Fold Commands ==
 
 
 
Fold commands are commonly assigned to the fold-tree-nodes, but can also be assigned to other context, like the text area.
 
 
 
The fold-tree has 3 context-nodes
 
;Fold Tree: Any area of the fold-tree, this can be [+], [-], |, or empty
 
:;Collapsed: The [+] only. This means the line has at least one collapsed section. It may have a mix of collapsed/expanded sections
 
:;Expanded: The [-] only. This means the line has at at only expanded sections (at least one)
 
 
 
Note, that if you configure a specific click (e.g. shift-left-down) for either [+] or [-] or both, then most likely you should add the same click with "no action" (or other default) to the parent "Fold Tree" node. Otherwise such a click if not on the [+]/[-] node will fall through to the gutter, and may trigger an action there.
 
 
 
=== Fold Commands ===
 
 
 
By default only acts on nodes starting on the line at the mouse location.
 
 
 
The following modes are available:
 
;One: Folds the "most inner" unfolded node starting on this line. This is the node that starts at the right most place in the line. Any node already folded is ignored, so if any unfolded node exists, one and exactly one node will be folded.<br>This is not necessarily the shortest fold-node (in amount of lines folded), as $region and begin folds can overlap.
 
;All: Folds all Nodes that start on this line
 
;At Caret: This only works if configured for the "Text" context. It folds the node which starts under the current mouse location. This allows you to click on a "begin" (or other keyword) to fold it. (Useful if more than one node starts at the line).
 
;Current: Folds the most inner node containing the current mouse location (the gutter is treated as "at the start of line"). It will search for the first fold-starting keyword (e.g "begin") in front of the current mouse location, whic has a block enclosing the mouse location (end is past mouse location). This may be above the current line.<br> If assigned to the gutter (or fold tree) this is always above the current line, unless the line starts with a keyword (no spaces before)
 
 
 
=== Unfold Commands ===
 
 
 
Only acts on nodes starting on the line at the mouse location.
 
 
 
The following modes are available:
 
;One: Folds the "most outer" folded node starting on this line. This is the node that starts at the left most place in the line.
 
;All: Unfolds all nodes that start at the current line
 
 
 
=== Fold Popup Menu ===
 
 
 
Note: GTK2: PopUp-Menu is recommended for use with ButtonUp only
 
 
 
A pop up menu allowing you to see and change folds enclosing the current line
 
 
 
== Source Link Command ==
 
 
 
Trigger jump to implementation.
 
 
 
The "underline" argument controls, if the curremt link under the mouse is highlighted (by an underline) while the modifier keys are pressed.
 
 
 
If you assign this command to a click with no modifier keys needed, you would get constant highlights (because the expected modifiers (none) are pressed). In this case you cn switch it off.
 
 
 
== Breakpoint Command ==
 
 
 
Toggle breakpoint on this line
 
 
 
= Double to Quad Clicks =
 
 
 
* Anmerkung: Dies funktioniert gegenwärtig nur mit der linken Maustaste.
 
* Anmerkung: Those are currently only triggering Mouse Down
 
 
 
Wenn sie einem Doppel- oder Dreifachklick eine Aktion zuweisen, dann sollten sie daran denken, daß diese immer auch die Aktionen für einen Einfach- bzw. Doppelklick auslösen.
 
 
 
This is: Doing a Triple-Click will first do a Single-Click (down and up) with the same Modifier Keys (none, shift, alt, ...), then a double click, then the triple. (At the time of the first click, SynEdit does not know there will be more clicks)
 
 
 
You should therefore take care of the actions assigned to those clicks.
 
 
 
* With the default (select, select word, select line, select paragraph) this is no problem. Selecting a Line (Triple) is not disturbed by selecting a Word (Double) first.
 
* If However you would assign MouseLink to the Single (or Double), and select Word to the Double (or Tripple, one more than the other), this would not work. Because by the time you do your last click, SynEdit already followed the Link (and will not undo this). In fact, if SynEdit followed a Link to an other File, then a new SynEdit became active, and would see your last click as a single click.
 
* Das ist kein Bug sondern das korrekte Verhalten.
 
 
 
= Aktuelle Einschränkungen =
 
 
 
* Double/Triple/Quad click ist nur für die linke Maustaste und nur für Mouse down verfügbar
 
* GTK2: PopUp-Menu is recommended for use with ButtonUp only
 

Latest revision as of 15:22, 30 January 2021

Deutsch (de) English (en)


Diese Seite ist ein Teil der Online-Hilfe für die IDE.
Sie beschreibt den Abschnitt: "Editor" / "Maus". Sie können diesen Dialog in Ihrer IDE aufrufen über:

  • das Menü: Werkzeuge => Einstellungen -> Editor -> Maus ...
  • das Kontextmenü des Quelltexteditors (Rechtsklick): -> Einstellungen ...

Navigation

     
  • IDE Options Überblick über alle Einstellungen der IDE


Allgemein

Maus beim Tippen verbergen

Wenn der Mauszeiger über einem Editor ist, wird er während Sie tippen verborgen. Jede Mausbewegung, Mausklick oder Menübefehl machen ihn wieder sichtbar.

Randleiste

Sie können aktuell zwischen zwei vordefinierten Modi für die Randleiste wählen:

Standard

Alle Klicks mit der linken Maustaste auf die Randleiste reagieren, wenn die Maustaste gedrückt wird.

Erweitert

Alle Klicks mit der linken Maustaste auf die Randleiste reagieren, wenn die Maustaste losgelassen wird. Dieser Modus erlaubt es, mit der Maus Text zu markieren und trotzdem eine Klickaktion auszulösen.

  • Maus gedrückt und bewegt (zu einer anderen Zeile oder in den Textbereich hinein), erstellt eine Auswahl. Beim Auslassen erfolgt keine Aktion.
  • Maus gedrückt und ausgelassen ohne Bewegung, führt den normalen Randleistenklick aus (Breakpoint / Codefaltung)

Text

Alt-Taste aktiviert Spaltenmodus

Erlaubt die spaltenweise Auswahl. Halten Sie die Alt-Taste gedrückt, während Sie mit der Maus Text auswählen.

Auswahl verschieben

Mit der linken Maustaste ziehen Sie eine Auswahl an eine neue Stelle. Bei zusätzlicher Strg-Taste wird die Auswahl kopiert.

Rechte Maustaste bewegt auch den Cursor

DIe rechte Maustaste zeigt immer das Kontextmenü an. Die Einfügemarke auf die Klickposition zu setzen ist optional.

Doppelklick markiert Zeile

Normalerweise wählt ein Doppelklick ein Wort aus, ein Dreifachklick eine Zeile (ohne führende und nachfolgende Leerzeichen). Mit dieser Einstellung wählt der Doppelklick die Zeile aus, ein Dreifachklick schließt auch führende/nachfolgende Leerzeichen ein.

Mittlere Taste

"Auswahl einfügen": Bei einer aktiven Auswahl wird eine Kopie an der angeklickten Position eingefügt.

Strg + linke Taste

Als Vorgabe: Wenn Sie auf einen Bezeichner (wie z.B. eine Funktion, eine Variable oder einen Typnamen) klicken, springt die IDE zur Deklaration dieses Bezeichners (sogar in eine andere Unit hinein).

Dieses Merkmal ist auch als Tastenkürzel verfügbar (üblicherweise Alt+. Siehe "Einstellungen" / "Tastaturbelegung" / "CodeTools-Befehle" / "Deklaration suchen"

"zum anderen Blockende" bedeutet: Wenn Sie nicht auf einem Bezeichner sondern auf einem Blockanfang sind ("begin", "end" oder einem Klammerpaar oder etwas Ähnlichem), dann erfolgt ein Sprung zum passenden Wort / zur passenden Klammer. Auf der Tastatur ist das Strg+Q+K, siehe: "Tastaturbelegung" / "Codetools-Befehle" / "Anderes Blockende suchen".

Erweitert

Für erweiterte Einstellungen sehen Sie bitte hier: Erweiterte Maus-Einstellungen

Wenn Sie in den erweiterten Einstellungen Änderungen vorgenommen haben, zeigt diese Seite einen Hinweis darauf.

In diesem Fall werden Ihre Änderungen nicht mehr sofort vorgenommen. Stattdessen wird ein Knopf angezeigt, der Sie zum Überschreiben der Einstellungen mit Ihren Änderungen auffordert. Falls Sie ungespeicherte Änderungen haben, wird ein Warnhinweis angezeigt.