# VS Code extension

> Every command, keyboard shortcut, and setting of the UiPath extension for VS Code, and the fixes for sign-in and other common problems.

This page lists what the UiPath extension for Visual Studio Code (VS Code) offers: its commands, keyboard shortcuts, settings, and fixes for common problems. [Build in VS Code](build-in-vs-code.md) describes how to install the extension and sign in.

## Commands and keyboard shortcuts

Run any command from the Command Palette (`Ctrl/Cmd+Shift+P`). The workflow editor shortcuts apply only when a `.flow` file is the active editor.

### Workflow editor

| Command | Default keybinding |
|---|---|
| **Flow: New Flow** | `Ctrl/Cmd+Alt+N` |
| **Flow: Open Flow** | `Ctrl/Cmd+Alt+O` |
| **Flow: Save Flow** | `Ctrl/Cmd+S` |
| **Flow: Save Flow As** | `Ctrl/Cmd+Shift+S` |
| **Flow: Undo** | `Ctrl/Cmd+Z` |
| **Flow: Redo** | `Ctrl+Y` / `Cmd+Shift+Z` |
| **Flow: Zoom In** | `Ctrl/Cmd+=` |
| **Flow: Zoom Out** | `Ctrl/Cmd+-` |
| **Flow: Reset Zoom** | `Ctrl/Cmd+0` |
| **Flow: Fit to Screen** | `Ctrl/Cmd+Shift+F` |
| **Flow: Validate Flow** | `Ctrl/Cmd+Shift+V` |
| **Flow: Export Flow** | None |

### UiPath platform

| Command | Description |
|---|---|
| **UiPath: Sign In** | Sign in to UiPath. |
| **UiPath: Sign Out** | Sign out and clear the cached session. |
| **UiPath: Select Environment** | Choose the UiPath environment. |
| **UiPath: Select Tenant** | Choose the tenant or organization. |
| **UiPath: Create New Project** | Add a project to the solution. Choose **Data Fabric** to create an entity project. |
| **UiPath: New File** | Add a file to a project. Choose **Entity File** to add an entity. |
| **UiPath: Add Entity File** | Add another entity to an existing entity project. Available once the solution has one. |
| **UiPath: Package** | Build a `.uipx` solution from the workspace. |
| **UiPath: Deploy** | Upload a packaged solution to UiPath Automation Cloud. |
| **UiPath: Package & Deploy** | Package and deploy in one step. |
| **UiPath: Switch Deploy Target** | Change the destination folder. |
| **UiPath: Generate .env File** | Write an `.env` file that the UiPath CLI can read. |
| **UiPath: Refresh** | Refresh the Connect tree. |
| **UiPath: Show Output Log** | Open the UiPath output channel. |
| **UiPath: Getting Started** | Open the Getting Started walkthrough. |

## Settings

Configure the extension in VS Code settings.

### `uipath.environment`

The UiPath environment used when signing in. Default is `cloud`. An existing CLI session takes precedence if it points elsewhere.

### `uipath.autoActivateDeployment`

Activates a solution deployment after a successful deploy. Default is `true`.

### `uipath.cli.path`

The full path to the UiPath command-line tool (`uip`). Leave it empty to let the extension find `uip` in the locations that your terminal searches, which are listed in the `PATH` setting of your computer. Set this when the tool is installed somewhere else.

### `uipath.telemetry.enabled`

Sends anonymized usage telemetry. Default is `true`. The extension also honors VS Code's global `telemetry.telemetryLevel`. Turning off either setting disables telemetry.

## Troubleshooting

### Sign-in fails

Sign-in fails when port `8104` is in use or the UiPath command-line tool lost its session.

- **Port in use.** Sign-in sends its result to port `8104` on your own computer (`localhost`). If another program holds it, free the port and sign in again. On macOS or Linux, run `lsof -ti :8104 | xargs kill -9`. On Windows, run `netstat -ano | findstr :8104`, then `taskkill /F /PID <id>`.
- **Stale session.** Run **UiPath: Sign Out**, then **UiPath: Sign In** again to force a fresh sign-in.
- **Read the log.** Run **UiPath: Show Output Log** and check the **UiPath** output channel for sign-in errors.

### The CLI isn't found

The **UiPath Maestro** view shows "The UiPath CLI isn't installed, so run, debug and publish aren't available yet." You can still build on the canvas, but you can't run, debug, or deploy until the CLI is found.

The extension runs `uip` in the background. If it cannot find the tool, sign-in and packaging fail.

1. Confirm the CLI is installed by running `uip --version` in a terminal.
2. If `uip` is not in a location that your terminal searches (the `PATH` setting), set `uipath.cli.path` to its full path.
3. If the CLI isn't installed at all, run **UiPath: Sign In** and accept the install prompt, or install it manually with `npm install -g @uipath/cli`. This requires Node.js and npm to be installed.

### Remote workspaces don't see the CLI

In Windows Subsystem for Linux (WSL), SSH, Codespaces, and dev container workspaces, the extension runs on the remote host, not your local machine. The `uip` binary must be installed on that host. A CLI installed on your local Windows or macOS machine isn't visible to the extension. Install the CLI in the remote workspace, then sign in again.

### Deployment doesn't activate

By default, the extension activates a deployment after a successful deploy. If a deployment uploads but doesn't activate, confirm that `uipath.autoActivateDeployment` is turned on.

## Next steps

- [Build in VS Code](build-in-vs-code.md): install the extension, sign in, and create a workflow.
- [Deploy a workflow](deploy-a-workflow.md): what deploying does.
- [Keyboard shortcuts](keyboard-shortcuts.md): shortcuts on the Flow canvas in every environment.
- [Community](community.md): ask questions and share workflows with other builders on the UiPath Forum.
