11---
22display_name : JetBrains IDEs
3- description : Add a one-click button to launch JetBrains IDEs from the Coder dashboard .
3+ description : Add JetBrains IDE integrations to your Coder workspaces with configurable options .
44icon : ../.icons/jetbrains.svg
55maintainer_github : coder
66partner_github : jetbrains
@@ -10,16 +10,15 @@ tags: [ide, jetbrains, parameter]
1010
1111# JetBrains IDEs
1212
13- This module adds a JetBrains IDE Button to open any workspace with a single click .
13+ This module adds JetBrains IDE integrations to your Coder workspaces, allowing users to launch IDEs directly from the dashboard or pre-configure specific IDEs for immediate use .
1414
1515``` tf
1616module "jetbrains" {
1717 count = data.coder_workspace.me.start_count
1818 source = "registry.coder.com/coder/jetbrains/coder"
1919 version = "1.0.0"
2020 agent_id = coder_agent.example.id
21- folder = "/home/coder/example"
22- default = "GO"
21+ folder = "/home/coder/project"
2322}
2423```
2524
@@ -31,58 +30,134 @@ module "jetbrains" {
3130
3231## Examples
3332
34- ### Use the latest version of each IDE
33+ ### Pre-configured Mode (Direct App Creation)
34+
35+ When ` default ` contains IDE codes, those IDEs are created directly without user selection:
3536
3637``` tf
3738module "jetbrains" {
3839 count = data.coder_workspace.me.start_count
39- source = "registry.coder.com/modules /jetbrains/coder"
40+ source = "registry.coder.com/coder /jetbrains/coder"
4041 version = "1.0.0"
4142 agent_id = coder_agent.example.id
42- folder = "/home/coder/example"
43- options = ["IU", "PY"]
44- default = ["IU"]
45- latest = true
43+ folder = "/home/coder/project"
44+ default = ["GO", "IU"] # Pre-configure GoLand and IntelliJ IDEA
4645}
4746```
4847
49- ### Use the latest EAP version
48+ ### User Choice with Limited Options
5049
5150``` tf
5251module "jetbrains" {
5352 count = data.coder_workspace.me.start_count
54- source = "registry.coder.com/modules /jetbrains/coder"
53+ source = "registry.coder.com/coder /jetbrains/coder"
5554 version = "1.0.0"
5655 agent_id = coder_agent.example.id
57- folder = "/home/coder/example"
58- options = ["GO", "WS"]
59- default = ["GO"]
60- latest = true
61- channel = "eap"
56+ folder = "/home/coder/project"
57+ # Show parameter with limited options
58+ options = ["GO", "PY", "WS"] # Only these IDEs are available for selection
6259}
6360```
6461
65- ### Custom base link
62+ ### Early Access Preview (EAP) Versions
63+
64+ ``` tf
65+ module "jetbrains" {
66+ count = data.coder_workspace.me.start_count
67+ source = "registry.coder.com/coder/jetbrains/coder"
68+ version = "1.0.0"
69+ agent_id = coder_agent.example.id
70+ folder = "/home/coder/project"
71+ default = ["GO", "RR"]
72+ channel = "eap" # Use Early Access Preview versions
73+ major_version = "2025.2" # Specific major version
74+ }
75+ ```
76+
77+ ### Custom IDE Configuration
78+
79+ ``` tf
80+ module "jetbrains" {
81+ count = data.coder_workspace.me.start_count
82+ source = "registry.coder.com/coder/jetbrains/coder"
83+ version = "1.0.0"
84+ agent_id = coder_agent.example.id
85+ folder = "/workspace/project"
86+
87+ # Custom IDE metadata (display names and icons)
88+ ide_config = {
89+ "GO" = {
90+ name = "GoLand"
91+ icon = "/custom/icons/goland.svg"
92+ build = "251.25410.140" # Note: build numbers are fetched from API, not used
93+ }
94+ "PY" = {
95+ name = "PyCharm"
96+ icon = "/custom/icons/pycharm.svg"
97+ build = "251.23774.211"
98+ }
99+ "WS" = {
100+ name = "WebStorm"
101+ icon = "/icon/webstorm.svg"
102+ build = "251.23774.210"
103+ }
104+ }
105+ }
106+ ```
107+
108+ ### Offline Mode
109+
110+ For organizations with internal JetBrains API mirrors:
111+
112+ ``` tf
113+ module "jetbrains" {
114+ count = data.coder_workspace.me.start_count
115+ source = "registry.coder.com/coder/jetbrains/coder"
116+ version = "1.0.0"
117+ agent_id = coder_agent.example.id
118+ folder = "/home/coder/project"
66119
67- Due to the highest priority of the ` ide_download_link ` parameter in the ` (jetbrains-gateway://... ` within IDEA, the pre-configured download address will be overridden when using [ IDEA's offline mode] ( https://www.jetbrains.com/help/idea/fully-offline-mode.html ) . Therefore, it is necessary to configure the ` download_base_link ` parameter for the ` jetbrains_gateway ` module to change the value of ` ide_download_link ` .
120+ default = ["GO", "IU"]
121+
122+ # Custom API endpoints
123+ releases_base_link = "https://jetbrains-api.internal.company.com"
124+ download_base_link = "https://jetbrains-downloads.internal.company.com"
125+ }
126+ ```
127+
128+ ### Single IDE for Specific Use Case
68129
69130``` tf
70- module "jetbrains_gateway" {
71- count = data.coder_workspace.me.start_count
72- source = "registry.coder.com/modules/jetbrains-gateway/coder"
73- version = "1.0.0"
74- agent_id = coder_agent.example.id
75- folder = "/home/coder/example"
76- options = ["GO", "WS"]
77- releases_base_link = "https://releases.internal.site/"
78- download_base_link = "https://download.internal.site/"
79- default = ["GO"]
131+ module "jetbrains_goland" {
132+ count = data.coder_workspace.me.start_count
133+ source = "registry.coder.com/coder/jetbrains/coder"
134+ version = "1.0.0"
135+ agent_id = coder_agent.example.id
136+ folder = "/go/src/project"
137+
138+ default = ["GO"] # Only GoLand
139+
140+ # Specific version for consistency
141+ major_version = "2025.1"
142+ channel = "release"
80143}
81144```
82145
146+ ## Behavior
147+
148+ ### Parameter vs Direct Apps
149+
150+ - ** ` default = [] ` (empty)** : Creates a ` coder_parameter ` allowing users to select IDEs from ` options `
151+ - ** ` default ` with values** : Skips parameter and directly creates ` coder_app ` resources for the specified IDEs
152+
153+ ### Version Resolution
154+
155+ - Build numbers are always fetched from the JetBrains API for the latest compatible versions
156+ - ` major_version ` and ` channel ` control which API endpoint is queried
157+
83158## Supported IDEs
84159
85- JetBrains supports remote development for the following IDEs :
160+ All JetBrains IDEs with remote development capabilities :
86161
87162- [ GoLand (` GO ` )] ( https://www.jetbrains.com/go/ )
88163- [ WebStorm (` WS ` )] ( https://www.jetbrains.com/webstorm/ )
0 commit comments