Reference: Tool Windows
Keyboard shortcuts for opening the most frequently used tool windows.
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Tool window | Description |
|---|---|---|---|
| Alt+1 | ⌘Cmd+1 | Project | Open/close the «Project» panel — tree structure of project files: source code, resources, manifests, configuration files (build.gradle, AndroidManifest.xml) |
| Alt+9 | ⌘Cmd+9 | Version Control | Open/close the «Version Control» panel — Git/SVN interface: commit log, diffs, change history, branch and tag management |
| ⇧Shift+F10 | Ctrl+R | Run | Open the «Run» panel and launch the application in run mode. Uses the last run configuration (Run Configuration): active emulator, device, or physical phone |
| ⇧Shift+F9 | Ctrl+D | Debug | Open the «Debug» panel and launch the application in debug mode. Automatically connects Android Debug Bridge (ADB), opens the Debugger window with variables viewing, call stack, and memory |
| Alt+6 | ⌘Cmd+6 | Logcat | Open the «Logcat» panel — live stream of Android system logs in real-time. Filtering by tag, level (VERBOSE, DEBUG, INFO, WARN, ERROR), application package, and process PID |
| Esc | Esc | Return to Editor | Return focus to the code editor. Closes expanded tool panels (Project, Structure, Find) and hides auxiliary windows, leaving only the editor active |
| Ctrl+⇧Shift+F12 | ⌘Cmd+⇧Shift+F12 | Hide All Tool Windows | Minimize/restore all side tool panels (Project, Console, Logcat, Structure, etc.). Frees up maximum screen space for the code editor |
Reference: Code Completion
Android Studio has three types of code completion triggered by keyboard shortcuts:
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Type | Description |
|---|---|---|---|
| Ctrl+Space | Ctrl+Space | Basic Completion | Basic code auto-completion. Shows all possible symbols (variables, types, methods, fields, packages) available in the current context. On repeated press, switches between expansions, including private members and unimported static elements |
| Ctrl+⇧Shift+Space | Ctrl+⇧Shift+Space | Smart Completion | Smart auto-completion considering context and expected type. Filters results by relevance, analyzes data types and flows. Repeated invocation reveals call chains (method chaining) — allows sequentially calling object methods without intermediate variables |
| Ctrl+⇧Shift+⏎Enter | ⌘Cmd+⇧Shift+⏎Enter | Statement Completion | Auto-completion of the current statement. Automatically adds closing brackets, semicolons, curly braces, processes if/else, try/catch blocks. Works with method calls, object creation, lambda expressions |
Reference: Navigation
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Action | Description |
|---|---|---|---|
| Ctrl+E | ⌘Cmd+E | Recent Files | Dialog of recently opened files. List of recently switched files with search. Convenient for quick return between files with active work. Supports arrow navigation and Enter to open |
| Ctrl+F12 | ⌘Cmd+F12 | File Structure | Panel of the current file structure — list of all classes, methods, fields, and constants in the open file. Allows instantly jumping to any element without scrolling. Filtering by text input |
| Ctrl+N | ⌘Cmd+O | Navigate to Class | Quick navigation to any class in the project. Supports camelCase input (no need to type full name), navigation to line via `:`, search by middle humps (e.g., "MyClass" finds "TestMyClass"). Includes navigation to interfaces, enums, annotations |
| Ctrl+⇧Shift+N | ⌘Cmd+⇧Shift+O | Navigate to File | Search and navigate to any file or folder in the project. Entering / at the end switches mode to search only folders. Searches by full path and file name. Works with AndroidManifest.xml, build.gradle, res/ resources and other special paths |
| Ctrl+Alt+⇧Shift+N | ⌘Cmd+⌥Option+O | Navigate to Symbol | Navigate to a specific symbol (method, field, constant) inside a class. Works in conjunction with class navigation: specify the class, then the symbol. Useful for searching for a specific method or field inside a large class |
| Alt+F7 | ⌥Option+F7 | Find Usages | Finds all uses of the selected element (class, method, field, parameter) in the project. Opens results panel grouped by modules and files. Allows navigating to any use or renaming all occurrences via Refactoring |
Keyboard Shortcuts: General Actions
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Name | Description |
|---|---|---|---|
| Ctrl+S | ⌘Cmd+S | Save all | Saves all modified project files. Analogous to «Save As» — works instantly without dialogs. Saves files of all open modules, including Gradle scripts, XML resources, and Kotlin/Java source files |
| Ctrl+Alt+Y | ⌘Cmd+⌥Option+Y | Synchronize | Synchronizes project files with disk. Useful when working with external editors or when files are modified by external processes. Updates IDE cache and loads actual file versions |
| Ctrl+⇧Shift+F12 | Ctrl+⌘Cmd+F12 | Maximize/minimize editor | Expands the code editor to full screen or returns to previous layout. Hides all tool panels, leaving only the editor. Repeated press restores the original view |
| Alt+⇧Shift+F | ⌥Option+⇧Shift+F | Add to favorites | Adds the selected file, class, or method to the «Favorites» section. Allows creating personal lists of frequently used items with customization of search patterns |
| Alt+⇧Shift+I | ⌥Option+⇧Shift+I | Inspect current file | Launches analysis of the current file by the chosen code inspection profile (Code Inspection). Shows potential issues, warnings, and recommendations for code improvement |
| Ctrl+` | Ctrl+` | Quick switch scheme | Quick switching between active schemes (color themes, keyboard layouts, encoding settings). A dialog appears for selecting the desired scheme without opening settings |
| Ctrl+Alt+S | ⌘Cmd+, | Open settings | Opens the Settings/Preferences dialog. Full access to all IDE settings: themes, fonts, plugins, compiler, emulator, Git, code settings, and more |
| Ctrl+Alt+⇧Shift+S | ⌘Cmd+; | Open project structure | Opens the Project Structure dialog (Project Structure). Configure SDK, modules, dependencies, source structure (sources), libraries, and build output directories |
| Ctrl+⇥Tab | Ctrl+⇥Tab | Switch between tabs | Switches between open editor tabs and window panels. Shows a mini-list for quick selection. Works with both files and tool panels (Console, Debug, Run, etc.) |
| Press ⇧Shift twice | Press ⇧Shift twice | Search everything | Universal search (Double Shift). Searches everything: source code, menu actions, settings, files, plugins. The main search window for any tasks — no need to remember exact paths or names |
| Ctrl+F | ⌘Cmd+F | Find | Search text in the current file. Opens an input line with highlighting of all matches. Supports exact match, regular expressions, case-sensitive search, and replace |
| F3 | ⌘Cmd+G | Find next | Jumps to the next match of the current search query. Works with Ctrl+F — repeats the last executed search at the next position in the file |
| ⇧Shift+F3 | ⌘Cmd+⇧Shift+G | Find previous | Jumps to the previous match of the current search query. Reverse navigation through search results Ctrl+F in the file |
| Ctrl+R | ⌘Cmd+R | Replace | Opens the text replace panel in the current file. Allows finding and replacing text with support for regular expressions, case-sensitive replacement, replacing all matches at once |
| Ctrl+⇧Shift+A | ⌘Cmd+⇧Shift+A | Find action | Search for any IDE action by name. Finds menu commands, settings, inspections, refactoring, and other functions. Useful when you don't know the exact location of a function in the menu |
| Ctrl+Alt+⇧Shift+N | ⌘Cmd+⌥Option+O | Search by symbol | Search by symbol in code (#, @, $, etc.). Allows finding elements by special characters: # for methods, @ for annotations, @ for fields. Works across the entire project |
| Ctrl+N | ⌘Cmd+O | Find class | Quick navigation to a class by name. Includes navigation to interfaces, enums, annotations, and objects. Supports camelCase input and middle humps for shortened search |
| Ctrl+⇧Shift+N | ⌘Cmd+⇧Shift+O | Find file | Search for a file in the project by name or part of the path. Includes all files: source code, resources, configuration files, manifests, Gradle scripts. Difference from Find class — searches files, not classes |
| Ctrl+⇧Shift+F | ⌘Cmd+⇧Shift+F | Find in path | Text search across a range of files/folders. Opens a dialog with search area selection (entire project, specific folder, module). Support for regular expressions and file type filter |
| Ctrl+F12 | ⌘Cmd+F12 | Open file structure | Opens the current file structure panel — tree representation of all classes, methods, fields, and constants in the file. Quick navigation to any definition without scrolling code |
| Alt+→Right or ←Left | Ctrl+→Right or Ctrl+←Left | Navigate editor tabs | Navigate between open editor tabs (forward/backward). Works as navigation history — Alt+Left moves to the previous position, Alt+Right — to the next. Analogous to browser navigation |
| F4 or Ctrl+⏎Enter | F4 or ⌘Cmd+⌘Cmd+⌘Cmd | Jump to source | Jump to source declaration (e.g., from use to definition of a variable/method). Works with references to external files, libraries, and module dependencies |
| ⇧Shift+F4 | ⇧Shift+F4 | Open in new window | Opens the current file or project in a new IDE window. Useful for parallel viewing of multiple files or isolating workspace |
| Ctrl+E | ⌘Cmd+E | Recently opened files | List of recently opened files with search. Shows recently switched files and allows quick return to the needed one without navigating the project tree |
| Ctrl+⇧Shift+E | ⌘Cmd+⇧Shift+E | Recently edited files | List of recently edited files. Shows files where changes were made. Useful for quick return to the last editing location without searching through history |
| Ctrl+⇧Shift+⌫Backspace | ⌘Cmd+⇧Shift+Delete | Go to last edit location | Returns the cursor to the last edit location in the current file. Useful after project navigation — allows returning to the place where you were working |
| Ctrl+F4 | ⌘Cmd+W | Close active editor tab | Closes the active editor tab with saving changes. Analogous to the X button on a tab. If the file is not saved — a save prompt appears |
| Esc | Esc | Return to editor | Returns input focus to the code editor window. Closes pop-up auto-completion, search, and other dialogs, leaving the cursor in the code |
| ⇧Shift+Esc | ⇧Shift+Esc | Hide tool window | Hides the active or last used window panel. Closes a specific tool panel without closing the entire IDE |
| Ctrl+G | ⌘Cmd+L | Go to line | Jump to a specific line in a file. Opens a dialog for entering line and column numbers. Useful when working with large files and known error line numbers |
| Ctrl+H | Ctrl+H | Open type hierarchy | Opens type hierarchy — tree structure of class inheritance. Shows superclasses, interfaces, subclasses, and all implementations in the project |
| Ctrl+⇧Shift+H | ⌘Cmd+⇧Shift+H | Open method hierarchy | Opens method hierarchy — all overrides and implementations of a specific method. Useful when working with polymorphism and interfaces |
| Ctrl+Alt+H | Ctrl+⌥Option+H | Open call hierarchy | Opens call hierarchy of a method — who calls the method and what the method calls. Shows call tree, including indirect calls through other methods |
| Ctrl++ or Ctrl+- | ⌘Cmd++ or ⌘Cmd+- | Zoom in/out | Editor tab zooming (in/out). Increases or decreases the visual representation of code in the editor. Analogous to page zooming |
| Ctrl+0 | ⌘Cmd+0 | Fit to screen | Fits the editor zoom to screen size. Resets current zoom to optimal value for full code display in the visible area |
| Ctrl+⇧Shift+1 | ⌘Cmd+⇧Shift+1 | Actual size | Returns the editor to actual size (100% zoom). Resets all zoom settings for the current file |
Keyboard Shortcuts: Editor Actions
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Name | Description |
|---|---|---|---|
| Alt+Insert | ⌘Cmd+N | Generate code | Generate template code via context menu (Right-click → Generate). Creates: getters/setters, constructors (no-arg, all-arg), hashCode()/equals(), toString(), onCreate(), lifecycle methods (lifecycle-aware), new class/interface/enum |
| Ctrl+O | Ctrl+O | Override methods | Opens dialog for selecting superclass methods to override. Creates empty implementations with @Override annotation. Useful for Android lifecycle methods (onCreate, onResume, etc.), interfaces (OnClickListener, etc.) |
| Ctrl+I | Ctrl+I | Implement methods | Opens dialog for selecting interface methods to implement. Creates method skeleton with empty body. Used for implementing interfaces: Runnable, Callable, OnClickListener, OnItemClickListener, etc. |
| Ctrl+Alt+T | ⌘Cmd+⌥Option+T | Surround with | Wraps selected code in constructs: if/else, try/catch/finally, while, synchronized, finally, else, @SuppressWarnings, Log.d/i/w/e. Allows quickly adding exception handling or conditions |
| Ctrl+Y | ⌘Cmd+Delete | Delete line at caret | Fully deletes the line at the cursor position along with the end of line (newline). Saves the deleted line to the clipboard for later pasting |
| Ctrl+- or Ctrl++ | ⌘Cmd+- or ⌘Cmd++ | Collapse/expand code block | Collapses or expands the code block under the cursor (method, class, if/else block). Works with any collapsible areas: import blocks, region comments, nested constructs |
| Ctrl+⇧Shift+- or Ctrl+⇧Shift++ | ⌘Cmd+⇧Shift+- or ⌘Cmd+⇧Shift++ | Collapse/expand all blocks | Collapses or expands all collapsible blocks in the file simultaneously. Useful for reviewing the structure of a large file — quickly collapses all methods and classes |
| Ctrl+D | ⌘Cmd+D | Duplicate line | Duplicates the current line (with empty selection) or the selected code block. Creates an exact copy below the original. Fast alternative to Ctrl+C → Ctrl+V for single-line duplication |
| Ctrl+Space | Ctrl+Space | Basic code completion | Basic auto-completion — shows all available symbols (variables, types, methods, fields, packages). Works on full-text search principle without type filtering |
| Ctrl+⇧Shift+Space | Ctrl+⇧Shift+Space | Smart code completion | Smart auto-completion — filters results by expected type and context. Considers variable type, method return value, data flows (nullability) |
| Ctrl+⇧Shift+⏎Enter | ⌘Cmd+⇧Shift+⏎Enter | Complete statement | Auto-completion of the current statement — adds missing elements: closing brackets, semicolons, return operator, method body |
| Ctrl+Q | Ctrl+J | Quick documentation | Quick view documentation of class/method/variable. Opens a popup with description, signature, usage examples, and links to Android/Kotlin/Java official documentation |
| Ctrl+P | ⌘Cmd+P | Show parameters | Shows method signature in the status bar — all parameters with types, default values, and documentation. Useful when calling methods without full visibility of the definition |
| Ctrl+B or Ctrl+click | ⌘Cmd+B or ⌘Cmd+click | Go to declaration | Jump to declaration of the symbol under the cursor (class, method, field, variable). Instant navigation to the definition. Works across all project files and external libraries |
| Ctrl+Alt+B | ⌘Cmd+⌥Option+B | Go to implementations | Jump to all implementations of the selected method or interface. Shows concrete classes that implement the abstract method or extend the interface. For Android: shows all OnClickListener implementations |
| Ctrl+U | ⌘Cmd+U | Go to supermethod/superclass | Jump to parent method or superclass in the inheritance hierarchy. Allows tracing the chain of inheritance and method overrides |
| Ctrl+⇧Shift+I | ⌘Cmd+Y | Quick definition | Quick view of the symbol definition without navigation — shows the definition in a popup window. Analogous to Quick Documentation but for source code (variables, fields, methods) |
| Alt+1 | ⌘Cmd+1 | Toggle project window | Toggles the visibility of the «Project» panel — tree structure of project files. Repeated press collapses/expands the panel |
| F11 | F3 | Toggle bookmark | Toggles a bookmark at the current cursor position. Bookmarks are displayed with a marker in the gutter (left panel). Allows marking important places in code |
| Ctrl+F11 | ⌥Option+F3 | Toggle bookmark with mnemonic | Creates a bookmark with a mnemonic (F1-F12). Opens a list of bookmarks with names for quick navigation. Convenient for permanent access to frequently used code locations |
| Ctrl+/ | ⌘Cmd+/ | Comment with line comment | Comments/uncomments a line or selection with a line comment (// for Java/Kotlin, for XML). Works on each line of the selection separately |
| Ctrl+⇧Shift+/ | ⌘Cmd+⇧Shift+/ | Comment with block comment | Comments/uncomments selection with a block comment (/* */ for Java/Kotlin, for XML). Encloses the entire selection block with one comment |
| Ctrl+W | ⌥Option+↑Up | Select growing selection | Expands selection: word → phrase → code block → entire class. Repeated presses sequentially expand the selection range by hierarchy |
| Ctrl+⇧Shift+W | ⌥Option+↓Down | Shrink selection | Reduces selection to the previous state (reverse growth process). Gradually removes elements from the selection |
| Ctrl+[ | ⌥Option+⌘Cmd+[ | Move to code block start | Moves the cursor to the start of the current code block (opening bracket). Works with nested constructs: if, for, while, classes, methods |
| Ctrl+] | ⌥Option+⌘Cmd+] | Move to code block end | Moves the cursor to the end of the current code block (closing bracket). Quick navigation to the end of a method, class, or nested construct |
| Ctrl+⇧Shift+[ | ⌥Option+⌘Cmd+⇧Shift+[ | Select to code block start | Selects text from the cursor position to the start of the current code block. Useful for quick selection of a block from the cursor to the opening bracket |
| Ctrl+⇧Shift+] | ⌥Option+⌘Cmd+⇧Shift+] | Select to code block end | Selects text from the cursor position to the end of the current code block. Useful for selecting the entire block from the cursor to the closing bracket |
| Ctrl+Delete | ⌥Option+Delete | Delete to end of word | Deletes text from the cursor position to the end of the current word. Works on words, separated by spaces and punctuation symbols |
| Ctrl+⌫Backspace | ⌥Option+⌫Backspace | Delete to start of word | Deletes text from the cursor position to the start of the current word. Deletes characters backward to the first space or separator |
| Ctrl+Alt+O | Ctrl+⌥Option+O | Optimize imports | Automatically removes unused import lines and sorts the remaining ones. For Kotlin/Java — optimizes import order according to project rules. Removes duplicates |
| Alt+⏎Enter | ⌥Option+⏎Enter | Project quick fix | The main quick fix command. Shows context-dependent options: import class, type conversion, exception handling, syntax correction, refactoring. The number of options depends on the context |
| Ctrl+Alt+L | ⌘Cmd+⌥Option+L | Reformat code | Automatically formats code according to project rules (Code Style). Aligns indentation, places brackets, sorts import lines. You can select a range — the entire file or the selected fragment |
| Ctrl+Alt+I | Ctrl+⌥Option+I | Auto-indent lines | Aligns only indentation (spaces/tabs) without full formatting. Removes extra spaces and sets correct indentation for selected lines |
| ⇥Tab or ⇧Shift+⇥Tab | ⇥Tab or ⇧Shift+⇥Tab | Indent/unindent lines | Increases (Tab) or decreases (Shift+Tab) indentation for selected lines. Shifts the entire block right or left by one indentation unit (usually 4 spaces for Java, 2 for Kotlin/XML) |
| Ctrl+⇧Shift+J | Ctrl+⇧Shift+J | Smart line join | Smart line joining — merges selected lines into one with correct space placement. For multiple lines — merges them pairwise, preserving correct syntax |
| Ctrl+⏎Enter | ⌘Cmd+⏎Enter | Smart line split | Smart line splitting — breaks a long line into several with automatic syntax preservation. Useful for long expressions and strings |
| ⇧Shift+⏎Enter | ⇧Shift+⏎Enter | Start new line | Starts a new line AFTER the cursor (like Enter, but the cursor stays at the current position). Alternative to Enter without moving to the beginning of the new line |
| F2 or ⇧Shift+F2 | F2 or ⇧Shift+F2 | Next/previous error | Jumps to the next (F2) or previous (Shift+F2) error/warning in the file. Errors are highlighted in red/yellow with a description in the «Problems» panel |
Keyboard Shortcuts: Debugger
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Name | Description |
|---|---|---|---|
| ⇧Shift+F10 | Ctrl+R | Build and run | Builds the project (Gradle build) and launches the application on the selected device/emulator. Uses Run Configuration to determine the target. Only rebuilds modified modules to speed up |
| ⇧Shift+F9 | Ctrl+D | Debug | Builds and launches the application in debug mode (Debug Mode). Automatically connects ADB, opens the Debugger panel with variables viewing, calls, and watch expressions |
| F8 | F8 | Step over | Step over — executes the current line and stops at the next one. Does not enter called methods (skips them). Used when you don't need to see the internals of a function |
| F7 | F7 | Step into | Step into — executes the current line and enters the called method. Allows step-by-step traversal of code inside the function. For methods without a body (native, abstract) jumps to the next line |
| ⇧Shift+F7 | ⇧Shift+F7 | Smart step into | Smart step into — shows a list of all possible entry points on call (polymorphism, lambdas). Allows selecting a specific implementation for step-by-step entry with multiple options |
| ⇧Shift+F8 | ⇧Shift+F8 | Step out | Step out — executes the entire current method to the end and stops at the line calling this method. Exits the current function, preserving all calculations |
| Alt+F9 | ⌥Option+F9 | Run to cursor | Launches execution to the cursor position (sets a temporary breakpoint and executes to it). Useful for skipping large sections of code without setting breakpoints |
| Alt+F8 | ⌥Option+F8 | Evaluate expression | Opens the expression console — allows evaluating any expressions in the context of the current breakpoint. View/modify variables, call methods, check conditions directly during debugging |
| F9 | ⌘Cmd+⌥Option+R | Resume program | Resumes program execution to the next breakpoint or completion. Continues application execution after debug pause |
| Ctrl+F8 | ⌘Cmd+F8 | Toggle breakpoint | Toggles a breakpoint on the current line (red dot in gutter). Enabled breakpoints stop execution, disabled — are skipped |
| Ctrl+⇧Shift+F8 | ⌘Cmd+⇧Shift+F8 | View breakpoints | Opens a dialog of all project breakpoints. Allows managing all breakpoint-ams: enable/disable, delete, configure conditions and actions |
Keyboard Shortcuts: Refactoring & Code Generation
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Name | Description |
|---|---|---|---|
| F5 | F5 | Copy | Copies the selected element (class, method, file, line) and creates a duplicate. For classes — creates a new class with «Copy» suffix, for files — copies the file, for code lines — creates a line duplicate |
| F6 | F6 | Move | Moves the selected element (class, method, file) to a new location. Launches a dialog for selecting the target folder/package. Automatically updates all links and imports in the project |
| Alt+Delete | ⌘Cmd+Delete | Safe delete | Safe deletion of an element. Before deletion, checks all uses — if the element is not used anywhere, deletes it. If used — shows a dialog with a warning. For Android: checks links in XML resources |
| ⇧Shift+F6 | ⇧Shift+F6 | Rename | Renames an element (class, method, variable, file) with all its uses in the project. Automatically updates all links, imports, string literals (R.id, @string), and comments. For Android: updates links in XML |
| Ctrl+F6 | ⌘Cmd+F6 | Change signature | Changes method signature: parameters (name, type, order), return type, thrown exceptions. Shows all use locations for updating. For Android: updates calls in XML (e.g., onClick methods) |
| Ctrl+Alt+N | ⌘Cmd+⌥Option+N | Inline | Inlining the selected method or variable — replaces the call with the body's method/value. Removes the intermediate method, embedding its code directly at the call location. Useful for simplifying code |
| Ctrl+Alt+M | ⌘Cmd+⌥Option+M | Extract method | Extracts selected code into a separate method. Requests a new method name and automatically determines parameters (used variables) and return type. For Android: creates methods in the current class |
| Ctrl+Alt+V | ⌘Cmd+⌥Option+V | Extract variable | Extracts the expression under the cursor into a variable. Requests the name and type of the new variable. Useful for simplifying complex expressions and intermediate values |
| Ctrl+Alt+F | ⌘Cmd+⌥Option+F | Extract field | Extracts the expression into a class field (field). Creates a class instance variable with the specified name and type. Automatically adds access modifier (private, public, protected) |
| Ctrl+Alt+C | ⌘Cmd+⌥Option+C | Extract constant | Extracts a value or string into a constant (final/static). Creates a name automatically based on the value (e.g., "MAX_RETRY" from "3"). For Android: adds to res/values/constants.xml or object |
| Ctrl+Alt+P | ⌘Cmd+⌥Option+P | Extract parameter | Extracts the expression into a method parameter. Adds a new parameter to the method signature and passes the selected expression as an argument. Useful for parameterizing recurring code |
Keyboard Shortcuts: Version Control
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Name | Description |
|---|---|---|---|
| Ctrl+K | ⌘Cmd+K | Commit project to VCS | Opens the commit dialog (Commit) — shows all modified files with the ability to select which to include in the commit. Enters commit message, author, date. Supports Git (push, amend, stash) and SVN |
| Ctrl+T | ⌘Cmd+T | Update project from VCS | Updates the project from the version control system (pull/fetch). Downloads the latest changes from the remote repository, merges with local. For Git: pull with resolving merge conflicts |
| Alt+⇧Shift+C | ⌥Option+⇧Shift+C | View recent changes | Opens the «Local Changes» panel — list of all recent commits, uncommitted changes, added/removed files. Shows diffs and allows reverting any changes |
| Alt+` | Ctrl+V | Open VCS dialog | Opens the main version control system dialog with the full set of Git/VCS commands: log, diff, branch, merge, tag, rebase, cherry-pick, blame. Central panel for working with project history |
Keyboard Shortcuts: Layout Editor
| Windows Keyboard Shortcuts | macOS Keyboard Shortcuts | Name | Description |
|---|---|---|---|
| B | B | Toggle Design/Blueprint | Switches Layout Editor view mode: Design (visual preview of UI elements) ↔ Blueprint (scheme with coordinates and dimensions). Blueprint shows only the structural grid and constraints |
| O | O | Toggle orientation | Switches preview orientation: Portrait (vertical) ↔ Landscape (horizontal). Useful for checking layout adaptability for different screen orientations |
| D | D | Toggle devices | Toggles the display of the device selector — panel with available emulators and device profiles for layout preview |
| R | R | Force refresh | Forces preview refresh of Layout Editor. Redraws UI elements and applies actual styles. Useful when the preview doesn't update automatically after XML editing |
| E | E | Toggle render errors | Toggles the render errors panel — shows preview warnings and errors (missing styles, themes, resources, incorrect attributes) |
| Delete or Ctrl+click | Delete or ⌘Cmd+click | Delete constraints | Deletes constraints for the selected View element in ConstraintLayout. To fully delete the element, use Backspace/Delete. Removing constraints helps when rebuilding the layout |
| Ctrl+plus or Ctrl+minus | ⌘Cmd++ or ⌘Cmd+- | Zoom in/out | Zooms the Layout Editor preview (increase/decrease). Allows closely examining the layout or seeing the overall structure |
| Ctrl+0 | ⌘Cmd+0 | Zoom to fit | Zooms the Layout Editor preview to the size of the workspace. Automatically fits the layout for display in the visible area without scrolling |
| Hold Space+click and drag | Hold Space+click and drag | Pan | Panning preview — moving the layout within the workspace when zoomed beyond window size. Hold Space and drag with the mouse |
| Ctrl+B | ⌘Cmd+B | Go to XML | Jumps to the XML source of the selected View element. From Design mode, instantly jumps to the corresponding tag in the Layout XML file |
| Ctrl+A | ⌘Cmd+A | Select all components | Selects all View elements in the current layout (ConstraintLayout). Useful for mass applying styles, constraints, or changing attributes |
| ⇧Shift+click or Ctrl+click | ⇧Shift+click or ⌘Cmd+click | Select multiple components | Selects multiple View elements in Layout Editor. Allows working with multiple elements simultaneously: moving, resizing, applying styles |
| Ctrl+G | ⌘Cmd+G | Group into nested graph | Groups selected View elements into a nested ConstraintLayout (Group). Creates a new nested container for better organization of a complex layout |
| ⇥Tab or ⇧Shift+⇥Tab | ⇥Tab or ⇧Shift+⇥Tab | Cycle destinations | Cyclically switches between navigation destinations (Navigation Component). Tab — forward, Shift+Tab — backward through application screens |
| Ctrl+A | ⌘Cmd+A | Select all destinations | Selects all screens (destinations) in the Navigation Graph. Useful for mass editing the navigation structure |
| ⇧Shift+click or Ctrl+click | ⇧Shift+click or ⌘Cmd+click | Select multiple destinations | Selects multiple screens in the Navigation Graph for simultaneous editing or analyzing connections between screens |