Skip to content

Commit 9cd9cb1

Browse files
docs: restructure JetBrains IDE documentation for better user experience
Restructures JetBrains IDE documentation based on user feedback to reduce cognitive load and provide clearer step-by-step instructions: - Add dedicated PyCharm page with streamlined setup instructions - Add dedicated IntelliJ IDEA page with streamlined setup instructions - Update main JetBrains page to focus on 'Other IDEs' (CLion, GoLand, etc.) - Prominently feature the JetBrains Terraform module for one-click integration - Provide clear time estimates (5 minutes) for setup - Include comprehensive troubleshooting sections - Add advanced configuration examples for different use cases Addresses user confusion about JetBrains Fleet, Gateway, and Toolbox by leading with the recommended approach (Terraform module) while keeping alternative methods available for advanced users. Co-authored-by: matifali <10648092+matifali@users.noreply.github.com>
1 parent 1320b8d commit 9cd9cb1

File tree

4 files changed

+552
-19
lines changed

4 files changed

+552
-19
lines changed

docs/manifest.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,19 @@
205205
},
206206
{
207207
"title": "JetBrains IDEs",
208-
"description": "Use JetBrains IDEs with Coder",
208+
"description": "Use other JetBrains IDEs with Coder (CLion, GoLand, WebStorm, etc.)",
209209
"path": "./user-guides/workspace-access/jetbrains/index.md",
210210
"children": [
211+
{
212+
"title": "PyCharm",
213+
"description": "Connect PyCharm Professional to Coder workspaces with one-click integration",
214+
"path": "./user-guides/workspace-access/jetbrains/pycharm.md"
215+
},
216+
{
217+
"title": "IntelliJ IDEA",
218+
"description": "Connect IntelliJ IDEA Ultimate to Coder workspaces with one-click integration",
219+
"path": "./user-guides/workspace-access/jetbrains/intellij.md"
220+
},
211221
{
212222
"title": "JetBrains Fleet",
213223
"description": "Connect JetBrains Fleet to a Coder workspace",
Lines changed: 246 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,252 @@
1-
# JetBrains IDEs
2-
3-
Coder supports JetBrains IDEs using [Toolbox](https://www.jetbrains.com/toolbox/) and [Gateway](https://www.jetbrains.com/remote-development/gateway/). The following
4-
IDEs are supported for remote development:
5-
6-
- IntelliJ IDEA
7-
- CLion
8-
- GoLand
9-
- PyCharm
10-
- Rider
11-
- RubyMine
12-
- WebStorm
13-
- PhpStorm
14-
- RustRover
15-
- [JetBrains Fleet](./fleet.md)
1+
# Other JetBrains IDEs
2+
3+
Connect to your Coder workspace using any JetBrains IDE with remote development capabilities.
4+
5+
> **Popular IDEs**: For streamlined setup instructions, see the dedicated pages for [PyCharm](./pycharm.md) and [IntelliJ IDEA](./intellij.md).
6+
7+
## Supported IDEs
8+
9+
Coder supports all JetBrains IDEs with remote development capabilities:
10+
11+
- **CLion** (`CL`) - C/C++ development
12+
- **GoLand** (`GO`) - Go development
13+
- **PhpStorm** (`PS`) - PHP development
14+
- **Rider** (`RD`) - .NET development
15+
- **RubyMine** (`RM`) - Ruby development
16+
- **RustRover** (`RR`) - Rust development
17+
- **WebStorm** (`WS`) - JavaScript/TypeScript development
18+
- **JetBrains Fleet** - Lightweight, multi-language IDE
19+
20+
## Quick Start (Recommended) - 5 minutes
21+
22+
The easiest way to use JetBrains IDEs with Coder is through our Terraform module.
23+
24+
### Prerequisites
25+
26+
- [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) version 2.7 or higher
27+
- Coder version 2.24+
28+
- Minimum 4 CPU cores and 8GB RAM (recommended by JetBrains)
29+
30+
### Option 1: Let Users Choose IDEs
31+
32+
```tf
33+
module "jetbrains" {
34+
count = data.coder_workspace.me.start_count
35+
source = "registry.coder.com/coder/jetbrains/coder"
36+
version = "1.0.1"
37+
agent_id = coder_agent.main.id
38+
folder = "/home/coder/project"
39+
40+
# Users can select from these options
41+
options = ["GO", "WS", "PS", "RD"] # GoLand, WebStorm, PhpStorm, Rider
42+
}
43+
```
44+
45+
### Option 2: Pre-configure Specific IDEs
46+
47+
```tf
48+
module "jetbrains" {
49+
count = data.coder_workspace.me.start_count
50+
source = "registry.coder.com/coder/jetbrains/coder"
51+
version = "1.0.1"
52+
agent_id = coder_agent.main.id
53+
folder = "/home/coder/project"
54+
55+
# Always show these IDEs (no user selection)
56+
default = ["GO", "WS"] # GoLand and WebStorm buttons always appear
57+
}
58+
```
59+
60+
### Option 3: All Supported IDEs
61+
62+
```tf
63+
module "jetbrains" {
64+
count = data.coder_workspace.me.start_count
65+
source = "registry.coder.com/coder/jetbrains/coder"
66+
version = "1.0.1"
67+
agent_id = coder_agent.main.id
68+
folder = "/home/coder/project"
69+
70+
# All supported IDEs (default behavior)
71+
options = ["CL", "GO", "PS", "RD", "RM", "RR", "WS"]
72+
}
73+
```
74+
75+
## Alternative Connection Methods
76+
77+
### JetBrains Gateway
78+
79+
JetBrains Gateway is a desktop app that connects to remote environments without downloading full IDEs.
80+
81+
1. **Install Gateway**: Download from [JetBrains Gateway website](https://www.jetbrains.com/remote-development/gateway/)
82+
83+
2. **Install Coder Plugin**:
84+
- Open Gateway
85+
- Under **Install More Providers**, find the **Coder** icon and click **Install**
86+
87+
3. **Connect to Workspace**:
88+
- Click **Connect to Coder**
89+
- Enter your Coder deployment URL
90+
- Authenticate with your Coder credentials
91+
- Select your workspace and preferred IDE
92+
93+
### JetBrains Fleet
94+
95+
Fleet is JetBrains' lightweight, multi-language IDE that can connect directly via SSH.
96+
97+
1. **Install Fleet**: Download from [JetBrains Fleet website](https://www.jetbrains.com/fleet/)
98+
99+
2. **Install Coder CLI** in your workspace or locally:
100+
```bash
101+
curl -L https://coder.com/install.sh | sh
102+
```
103+
104+
3. **Login and configure SSH**:
105+
```bash
106+
coder login coder.example.com
107+
coder config-ssh
108+
```
109+
110+
4. **Connect via SSH** in Fleet:
111+
- Open Fleet
112+
- Choose **Connect to SSH**
113+
- Set Host to `coder.workspace-name`
114+
- Fleet will connect and open your project
115+
116+
### Manual SSH Connection
117+
118+
For any JetBrains IDE with remote development support:
119+
120+
1. **Install your preferred IDE** locally
121+
2. **Get SSH details** from your Coder workspace
122+
3. **Configure remote connection** in your IDE:
123+
- **File****Remote Development****SSH**
124+
- Enter workspace connection details
125+
- Select project folder
126+
127+
## Advanced Configuration
128+
129+
### Language-Specific Setup
130+
131+
#### Go Development (GoLand)
132+
```tf
133+
module "jetbrains_go" {
134+
count = data.coder_workspace.me.start_count
135+
source = "registry.coder.com/coder/jetbrains/coder"
136+
version = "1.0.1"
137+
agent_id = coder_agent.main.id
138+
folder = "/workspace/go-project"
139+
default = ["GO"]
140+
}
141+
```
142+
143+
#### Web Development (WebStorm)
144+
```tf
145+
module "jetbrains_web" {
146+
count = data.coder_workspace.me.start_count
147+
source = "registry.coder.com/coder/jetbrains/coder"
148+
version = "1.0.1"
149+
agent_id = coder_agent.main.id
150+
folder = "/workspace/web-app"
151+
default = ["WS"]
152+
}
153+
```
154+
155+
#### .NET Development (Rider)
156+
```tf
157+
module "jetbrains_dotnet" {
158+
count = data.coder_workspace.me.start_count
159+
source = "registry.coder.com/coder/jetbrains/coder"
160+
version = "1.0.1"
161+
agent_id = coder_agent.main.id
162+
folder = "/workspace/dotnet-project"
163+
default = ["RD"]
164+
}
165+
```
166+
167+
### Early Access Preview (EAP) Versions
168+
169+
```tf
170+
module "jetbrains_eap" {
171+
count = data.coder_workspace.me.start_count
172+
source = "registry.coder.com/coder/jetbrains/coder"
173+
version = "1.0.1"
174+
agent_id = coder_agent.main.id
175+
folder = "/home/coder/project"
176+
default = ["GO", "WS"]
177+
channel = "eap" # Early Access Preview
178+
major_version = "2025.2" # Specific major version
179+
}
180+
```
181+
182+
### Custom IDE Configuration
183+
184+
```tf
185+
module "jetbrains_custom" {
186+
count = data.coder_workspace.me.start_count
187+
source = "registry.coder.com/coder/jetbrains/coder"
188+
version = "1.0.1"
189+
agent_id = coder_agent.main.id
190+
folder = "/workspace/project"
191+
192+
ide_config = {
193+
"GO" = {
194+
name = "GoLand (Custom)"
195+
icon = "/custom/icons/goland.svg"
196+
build = "251.26927.50"
197+
}
198+
"WS" = {
199+
name = "WebStorm (Custom)"
200+
icon = "/custom/icons/webstorm.svg"
201+
build = "251.26927.40"
202+
}
203+
}
204+
}
205+
```
206+
207+
## Troubleshooting
208+
209+
### IDE Buttons Not Appearing
210+
211+
- Verify your template includes the JetBrains module
212+
- Ensure Coder version is 2.24+
213+
- Restart your workspace after template updates
214+
215+
### Connection Issues
216+
217+
- Check JetBrains Toolbox is running and updated
218+
- Verify the specific IDE is installed through Toolbox
219+
- Ensure workspace is running and accessible
220+
221+
### Performance Issues
222+
223+
- Verify workspace meets minimum requirements (4 CPU cores, 8GB RAM)
224+
- Consider increasing workspace resources for better performance
225+
- Check network connectivity between local machine and Coder
226+
227+
### Air-Gapped Environments
228+
229+
The module automatically handles air-gapped environments by falling back to pre-configured build numbers when the JetBrains API is unreachable.
230+
231+
## IDE Product Codes Reference
232+
233+
When configuring the module, use these product codes:
234+
235+
| IDE | Product Code | Full Name |
236+
|-----|--------------|-----------||
237+
| CLion | `CL` | CLion |
238+
| GoLand | `GO` | GoLand |
239+
| PhpStorm | `PS` | PhpStorm |
240+
| Rider | `RD` | Rider |
241+
| RubyMine | `RM` | RubyMine |
242+
| RustRover | `RR` | RustRover |
243+
| WebStorm | `WS` | WebStorm |
16244

17245
> [!IMPORTANT]
18246
> Remote development works with paid and non-commercial licenses of JetBrains IDEs
19247
20248
<children></children>
21249

22-
If you experience any issues, please
23-
[create a GitHub issue](https://github.com/coder/coder/issues) or ask in
24-
[our Discord channel](https://discord.gg/coder).
250+
---
251+
252+
**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder).

0 commit comments

Comments
 (0)