Visual Studio Code
You can develop in your Coder workspace remotely withVS Code.We support connecting with the desktop client and VS Code in the browser withcode-server.Learn more about how VS Code Web and code-server compare in thecode-server doc.
VS Code Desktop
VS Code desktop is a default app for workspaces.
ClickVS Code Desktop
in the dashboard to one-click enter a workspace. Thisautomatically installs theCoder Remoteextension, authenticates with Coder, and connects to the workspace.

Note
TheVS Code Desktop
button can be hidden by enablingBrowser-only connections.
Manual Installation
You can install our extension manually in VS Code using the command palette.Launch VS Code Quick Open (Ctrl+P), paste the following command, and pressenter.
ext install coder.coder-remote
Alternatively, manually install the VSIX from thelatest release.
VS Code extensions
There are multiple ways to add extensions to VS Code Desktop:
- Using thepublic extensions marketplaceswith Code Web (code-server)
- Addingextensions to custom images
- Installing extensionsusing its
vsix
file at the command line - Installing extensionsfrom a marketplace using the command line
Using the public extensions marketplaces
You can manually add an extension while you're working in the Code Web IDE. Theextensions can be from Coder's public marketplace, Eclipse Open VSX's publicmarketplace, or the Eclipse Open VSXlocal marketplace.

Note
Microsoft does not allow any unofficial VS Code IDE to connect to theextension marketplace.
Adding extensions to custom images
You can add extensions to a custom image and install them either through CodeWeb or using the workspace's terminal.
Download the extension(s) from the Microsoft public marketplace.
Add the
vsix
extension files to the same folder as your Dockerfile.~/images/base ➜ ls -l -rw-r--r-- 1 coder coder 0 Aug 1 19:23 Dockerfile -rw-r--r-- 1 coder coder 8925314 Aug 1 19:40 GitHub.copilot.vsix
In the Dockerfile, add instructions to make a folder and to copy the
vsix
files into the newly created folder.FROM codercom/enterprise-base:ubuntu# Run below commands as root userUSER root# Download and install VS Code extensions into the containerRUN mkdir -p /vsixADD ./GitHub.copilot.vsix /vsixUSER coder
Build the custom image, and push it to your image registry.
Pass in the image and below command into your template
startup_script
(besure to update the filename below):Startup Script
resource "coder_agent" "main" { ... startup_script = "code-server --install-extension /vsix/GitHub.copilot.vsix"}
Image Definition
resource "kubernetes_deployment" "main" { spec { template { spec { container { name = "dev" image = "registry.internal/image-name:tag" } } } }}
Create a workspace using the template.
You will now have access to the extension in your workspace.
Installing extensions using itsvsix
file at the command line
Using the workspace's terminal or the terminal available insidecode-server
,you can install an extension whose files you've downloaded from a marketplace:
/path/to/code-server --install-extension /vsix/GitHub.copilot.vsix
Installing from a marketplace at the command line
Using the workspace's terminal or the terminal available inside Code Web (codeserver), run the following to install an extension (be sure to update thesnippets with the name of the extension you want to install):
SERVICE_URL=https://extensions.coder.com/api ITEM_URL=https://extensions.coder.com/item /path/to/code-server --install-extension GitHub.copilot
Alternatively, you can install an extension from Open VSX's public marketplace:
SERVICE_URL=https://open-vsx.org/vscode/gallery ITEM_URL=https://open-vsx.org/vscode/item /path/to/code-server --install-extension GitHub.copilot
Using VS Code Desktop
For your local VS Code to pickup extension files in your Coder workspace,include this command in yourstartup_script
, or run in manually in yourworkspace terminal:
code --extensions-dir ~/.vscode-server/extensions --install-extension "$extension"