.. _Common Shortcuts:

Common Shortcuts
================

.. list-table::
   :widths: auto

   * - :kbd:`Ctrl+Alt+=`
     - Toggle Editor Emulation Mode. For example, you can choose to switch between eclipse and emacs editors.
   * - :kbd:`Ctrl+M`
     - Maximize or un-maximize editor.
   * - :kbd:`Ctrl+S`
     - Save current file.
   * - :kbd:`Ctrl+Shift+S`
     - Save all files.
   * - :kbd:`Ctrl+W`
     - Close current file.
   * - :kbd:`Ctrl+Z` / :kbd:`Ctrl+Shift+Z`
     - Undo / Redo.
   * - :kbd:`Ctrl+C` / :kbd:`Ctrl+X` / :kbd:`Ctrl+V`
     - Copy / Cut / Paste.
   * - :kbd:`Insert`
     - Switch between insert and overwrite mode.
   * - :kbd:`Ctrl+D`
     - Delete current line.
   * - :kbd:`Alt+Arrow Up` / :kbd:`Alt+Arrow Down`
     - Move current line or selection up / down.
   * - :kbd:`Ctrl+/`
     - Comment / uncomment lines.
   * - :kbd:`Ctrl+Shift+X` / :kbd:`Ctrl+Shift+Y`
     - Change selection to all upper / lower case.
   * - :kbd:`Alt+Shift+Arrow Up`
     - Incrementally expand selection to word / enclosing brackets / line / enclosing scope.
   * - :kbd:`Alt+Shift+Arrow Down`
     - Restore selection to the previous state after a Alt+Shift+Arrow Up expansion.
   * - :kbd:`Ctrl+Shift+A`
     - Toggle block selection.
   * - :kbd:`Shift+Alt+O`
     - Toggle Mark Occurrences. Cursor must be on the identifier.
   * - **Smart Editing**
     -  
   * - :kbd:`Ctrl+Shift+F`
     - Format source file or selection.
   * - :kbd:`Ctrl+Space`
     - Autocomplete.
   * - :kbd:`Ctrl+1`
     - Open the list of available Quick Fix / Quick Assist proposals. Cursor must be on the error line / in an appropriate scope.
   * - :kbd:`Shift+Alt+R`
     - Start rename refactoring operation. Cursor must be on the entity name.
   * - :kbd:`Ctrl+Shift+=`
     - Expand macro with all levels inline. Cursor must be on the macro call.
   * - :kbd:`Ctrl+=`
     - Collapse inline expansion of macro. Cursor must be on the ``@DVT_EXPAND_MACRO_INLINE_START`` pragma.
   * - :kbd:`Shift+Alt+K` W
     - Set module as input of :ref:`Code Factory`. Cursor must be on the module definition.
   * - :kbd:`Shift+Alt+K` I
     - Create an instance of the design element set as :ref:`Code Factory` input.
   * - :kbd:`Shift+Alt+K` S
     - List as signals the ports of the design element set as :ref:`Code Factory` input.
   * - :kbd:`Shift+Alt+K` T
     - Define a testbench that instantiates the design element set as :ref:`Code Factory` input, with all the required port connections already made.
   * - :kbd:`Shift+Alt+G`
     - Open the :ref:`UVM Field Editor`. Use it to inspect and edit UVM field registrations.
   * - **Basic Navigation**
     -  
   * - :kbd:`Ctrl+E`
     - Show list of open editors - use arrow keys and press Enter to switch.
   * - :kbd:`Ctrl+F6` / :kbd:`Ctrl+Shift+F6`
     - Show list of open editors - similar to Ctrl+E, but switches immediately after release of Ctrl.
   * - :kbd:`Ctrl+Page Down` / :kbd:`Ctrl+Page Up`
     - Switch to next/previous editor tab.
   * - :kbd:`Alt+Arrow Left` / :kbd:`Alt+Arrow Right`
     - Go to previous/next editor in the navigation order (similar with a browser).
   * - :kbd:`Ctrl+Q`
     - Go to last edited location.
   * - :kbd:`Ctrl+L`
     - Open the Go to Line dialog. Use it to quickly jump to a line in the current file.
   * - :kbd:`Ctrl+Arrow Right` / :kbd:`Ctrl+Arrow Left`
     - Jump one word to the right / left.
   * - :kbd:`Ctrl+Shift+P`
     - Go to matching bracket. Cursor must be on the bracket to match.
   * - :kbd:`Ctrl+K` / :kbd:`Ctrl+Shift+K`
     - Jump to the next/prev match of the selected word in file.
   * - :kbd:`Ctrl+F`
     - Open the Find dialog. Use it to find some text in the current file. If you select something, it will automatically fill the query.
   * - :kbd:`Ctrl+Shift+R`
     - Show the Open Resource dialog to locate and open any file - see also Ctrl+I Quick Compile Order.
   * - **Smart Navigation**
     -  
   * - :kbd:`Ctrl+mouse` over identifier
     - Hyperlink to declaration, implementation, show usages, jump to assignment, ….
   * - :kbd:`F2`
     - Show tooltip. Cursor must be on the entity name.
   * - :kbd:`Ctrl+Shift+Space`
     - Show positional tooltip – cursor on argument/port connection to see corresponding method parameter/port definition.
   * - :kbd:`F3`
     - Jump to declaration. Cursor must be on the entity name.
   * - :kbd:`Ctrl+F3`
     - Open the hyperlink actions menu. Cursor must be on the entity name.
   * - :kbd:`Ctrl+Shift+G`
     - Find references in workspace. Cursor must be on the entity name.
   * - :kbd:`Ctrl+Shift+M`
     - Find references in file. Cursor must be on the entity name.
   * - :kbd:`Ctrl+H`
     - Open Search dialog to search across project for plain text or specific elements like types, methods, variables….
   * - :kbd:`Ctrl+.` / :kbd:`Ctrl+,`
     - Comment current line or selection.Jump to next / jump to previous compiler syntax warning or error in the editor.
   * - :kbd:`Ctrl+I`
     - Open the :ref:`Quick Compile Order View` dialog. Use it to quickly open a file.
   * - :kbd:`Ctrl+O`
     - Open the :ref:`Quick Outline View` dialog. Use it to quickly move around in large files.
   * - :kbd:`Ctrl+Shift+T`
     - Open the :ref:`Quick Types View` dialog. Use it to quickly open a specific type definition.
   * - :kbd:`Ctrl+Shift+D`
     - Open the :ref:`Quick Macros View` dialog. Use it to quickly jump to a macro definition.
   * - :kbd:`Ctrl+T`
     - Open the :ref:`Quick Type Hierarchy View` dialog. You can quickly see inheritance tree for a class, function etc. For methods, tasks etc. you also see the implementations along the hierarchy (icons are not grayed). Cursor must be on the entity name.
   * - :kbd:`Ctrl+Shift+O`
     - Open the :ref:`Quick Layers View`. Cursor must be on the entity name. Use it to quickly locate and jump to an extension.
   * - :kbd:`F4`
     - Open and update the :ref:`Type Hierarchy View` to see the inheritance tree and members of a struct. Cursor must be on the entity name.
   * - :kbd:`Shift+F3`
     - Open the :ref:`Layers View` to see all externsions/external implementations. Cursor must be on the entity name.
   * - :kbd:`Shift+F4`
     - Open and update the :ref:`Design Hierarchy View` to see the design structure. Cursor must be on the entity name.
   * - :kbd:`Shift+F6`
     - Open and update the :ref:`Verification Hierarchy View` to see the UVM instances structure. Cursor must be on the UVM registered class.
   * - :kbd:`Ctrl+Alt+H`
     - Open the :ref:`Call Hierarchy View` to see the call tree of a selected function or task. Cursor must be on the method name.
   * - :kbd:`Ctrl+Alt+Shift+S`
     - Open the :ref:`UVM Sequence Tree View` to see the call tree of a selected sequence. Cursor must be on the sequence name.
   * - **Others**
     -  
   * - :kbd:`Ctrl+Shift+L`
     - Show all shortcuts.
   * - :kbd:`F5`
     - Refresh.
   * - :kbd:`Shift+Alt+P`
     - Copy full path of file. The file may be selected in a view or open in an editor.
   * - :kbd:`Ctrl+U`
     - Open the Quick Run dialog. Use it to select a Run Configuration to launch.
   * - :kbd:`Ctrl+3`
     - Brings up the Quick Access dialog - UI elements such as commands, views, wizards, preference pages etc. can be accessed directly by typing their name.
   * - :kbd:`Ctrl+Shift+H`
     - Open Help Search.
   * - :kbd:`Alt+R+T+<Configuration number>`
     - With this shortcut you can quickly access a Run Configuration from  Run > Run History. Firstly, Alt+R will open the Run menu, then type T  to open Run History and then type the number of the Configuration from that list.
   * - :kbd:`Ctrl+Alt+R`
     - Rebuild Project.

