There is no hard-limit about how many IDE/editors can be connected to a running Gitpod workspace. All connected IDEs/editors will have access to the same underlying file system and directories.
VS Code in the browser in Gitpod uses a fork of VS Code called openvscode-server. Gitpod actively monitors VS Code’s release cycle, and releases the latest version of VS Code shortly after the upstream repository is updated. You can find more information about which version of VS Code is running in the browser by navigating to “Help > About” from a running Gitpod workspace.
- When installing an extension in Gitpod using the
Install (Do Not Sync)option.
- Extensions defined in
- Extensions manually installed from a
Yes, you can. Both desktop and browser IDEs/editors have full access to files and directories within the workspace. So, when you connect to your Gitpod workspace from your Desktop you can also access your workspace via your browser. This means browser-based editing can either be used as your first-choice editor, or as a “fall back” alternative option for when you want to make edits on the move. With Gitpod, where and how you edit your code is very flexible.
There are many supported ways to edit your code in Gitpod, there is no preferred experience. Gitpod is intended to be flexible to allow you and your team to use the tools you are most familiar and comfortable with. You can edit code in Gitpod using:
- JetBrains IDE’s via JetBrains Gateway
- VS Code in the browser and VS Code on desktop
- Command-line based editors such as Vim
Please see the IDEs & editors documentation for more details.
Using a desktop editor like JetBrains or VS Code Desktop, files persist in the Gitpod workspace, however a copy of files is fetched to the client to improve performance. All desktop clients communicate via the SSH protocol. Most processing tasks like intellisense and auto-completion are executed in the server (the Gitpod workspace). You can optimize your in-terminal typing experience using local echo or typeahead.
The licensing of Remote Development is handled on the local machine and is covered by your existing active IDE license. See JetBrains documentation for more.
Yes, the plan is to eventually support all of the JetBrains IDE’s. Please refer to the Gitpod roadmap for future updates.
No, JetBrains Remote Development and Gateway are available only in the IntelliJ IDEA Ultimate edition, please refer to IntelliJ IDEA FAQ.
JetBrains Fleet is a next-generation IDE from JetBrains. The currently supported method of using JetBrains IDE’s with Gitpod is on desktop via JetBrains Gateway, please refer to our documentation for current IDE and editor support and the Gitpod roadmap for future updates.
To download a file in VS Code, right-click on it in the
Explorer panel and choose the
Download... option. To upload files, you have two options: either right-click inside the
Explorer panel and select
Upload..., or simply drag and drop the files into the
For other IDEs you can use several methods to transfer files across. Listing a few below.
- Copy the SSH command for your workspace.
- Paste the command into a local terminal.
scpat the beginning of the command.
- Specify the files you want to transfer and the remote destination path. For example:
# Upload a file
scp index.js 'firstname.lastname@example.org:/workspace/website'
# Upload a folder
scp -r Images/ 'email@example.com:/workspace/website'
A web based file manager:
- Run the following command snippet inside a Gitpod workspace terminal:
(cd /tmp; curl -sLO https://github.com/mjpclab/go-http-file-server/releases/download/v1.15.15/ghfs-1.15.15-linux-amd64.zip; unzip -qqo ghfs*.zip; (sleep 1; u=$(gp url 1111); echo $u; gp preview $u --external) & ./ghfs -l 1111 -r /workspace -U)
- This will give you a basic file manager web interface on port 1111.
- You can easily download and upload (drag-and-drop) files by visiting port 1111 address.
- Start a WebDAV server on your Gitpod workspace. You may run such a command inside your workspace:
pip install wsgidav cheroot; gp ports visibility 1111:public; wsgidav --host=0.0.0.0 --port=1111 --root=/workspace --auth=anonymous