.. _interface: The JupyterLab Interface ------------------------ JupyterLab provides flexible building blocks for interactive, exploratory computing. While JupyterLab has many features found in traditional integrated development environments (IDEs), it remains focused on interactive, exploratory computing. The JupyterLab interface consists of a :ref:`main work area ` containing tabs of documents and activities, a collapsible :ref:`left sidebar `, and a :ref:`menu bar `. The left sidebar contains a :ref:`file browser `, the :ref:`list of running kernels and terminals `, the :ref:`command palette `, the :ref:`notebook cell tools inspector `, and the :ref:`tabs list `. .. image:: images/interface_jupyterlab.png :class: shadow .. _menu_bar: Menu Bar ~~~~~~~~ The menu bar at the top of JupyterLab has top-level menus that expose actions available in JupyterLab with their keyboard shortcuts. The default menus are: - **File**: actions related to files and directories - **Edit**: actions related to editing documents and other activities - **View**: actions that alter the appearance of JupyterLab - **Run**: actions for running code in different activities such as notebooks and code consoles - **Kernel**: actions for managing kernels, which are separate processes for running code - **Tabs**: a list of the open documents and activities in the dock panel - **Settings**: common settings and an advanced settings editor - **Help**: a list of JupyterLab and kernel help links :ref:`JupyterLab extensions ` can also create new top-level menus in the menu bar. .. _left_sidebar: Left Sidebar ~~~~~~~~~~~~ The left sidebar contains a number of commonly-used tabs, such as a file browser, a list of running kernels and terminals, the command palette, and a list of tabs in the main area: .. image:: images/interface_left.png :align: center :class: shadow The left sidebar can be collapsed or expanded by clicking on the active sidebar tab: .. raw:: html JupyterLab extensions can add additional panels to the left sidebar. .. _main_area: Main Work Area ~~~~~~~~~~~~~~ The main work area in JupyterLab allows you to arrange documents (notebooks, text files, etc.) and other activities (terminals, code consoles, etc.) into panels of tabs that can be resized or subdivided: .. raw:: html The work area has a single current activity. The tab for this activity is marked with a colored top border (blue by default). .. _tabs: Tabs and Single-Document Mode ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Tabs panel in the left sidebar lists the open documents or activities in the main area: .. image:: images/interface_tabs.png :align: center :class: shadow The same information is also available in the Tabs menu: .. image:: images/interface_tabs_menu.png :align: center :class: shadow It is often useful to focus on a single document or activity without closing other tabs in the main area. Single-Document Mode toggles the view of the main area to show only a single tab at a time: .. raw:: html When you leave Single-Document Mode, the original layout of the main area is restored. Context Menus ~~~~~~~~~~~~~ Many parts of JupyterLab, such as notebooks, text files, code consoles, and tabs have context menus that can be accessed by right-clicking on the element: .. raw:: html The browser’s native context menu can be accessed by holding down ``Shift`` and right-clicking: .. raw:: html .. _shortcuts: Keyboard Shortcuts ~~~~~~~~~~~~~~~~~~ As in the classic Notebook, you can navigate the user interface through keyboard shortcuts. To find these shortcuts, go to the File, select the Settings menu option, then select Keyboard Shortcuts. With Keyboard Shortcuts in the settings editor, you can see a full list of keyboard shortcuts, and customize them as well. [screenshot] You can also navigate JupyterLab using vim, emacs, and Sublime Text key-maps. Customize your shortcuts with these settings, by selecting Settings, Text Editor Key Map, and selecting your preferred key-map.