From 9cd9cb1346cb4677f45f1c68e85ad2fbe0a4a554 Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 09:49:02 +0000 Subject: [PATCH 1/2] 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> --- docs/manifest.json | 12 +- .../workspace-access/jetbrains/index.md | 264 ++++++++++++++++-- .../workspace-access/jetbrains/intellij.md | 156 +++++++++++ .../workspace-access/jetbrains/pycharm.md | 139 +++++++++ 4 files changed, 552 insertions(+), 19 deletions(-) create mode 100644 docs/user-guides/workspace-access/jetbrains/intellij.md create mode 100644 docs/user-guides/workspace-access/jetbrains/pycharm.md diff --git a/docs/manifest.json b/docs/manifest.json index 0305105c029fd..c66930fa991ad 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -205,9 +205,19 @@ }, { "title": "JetBrains IDEs", - "description": "Use JetBrains IDEs with Coder", + "description": "Use other JetBrains IDEs with Coder (CLion, GoLand, WebStorm, etc.)", "path": "./user-guides/workspace-access/jetbrains/index.md", "children": [ + { + "title": "PyCharm", + "description": "Connect PyCharm Professional to Coder workspaces with one-click integration", + "path": "./user-guides/workspace-access/jetbrains/pycharm.md" + }, + { + "title": "IntelliJ IDEA", + "description": "Connect IntelliJ IDEA Ultimate to Coder workspaces with one-click integration", + "path": "./user-guides/workspace-access/jetbrains/intellij.md" + }, { "title": "JetBrains Fleet", "description": "Connect JetBrains Fleet to a Coder workspace", diff --git a/docs/user-guides/workspace-access/jetbrains/index.md b/docs/user-guides/workspace-access/jetbrains/index.md index 8189d1333ad3b..7d7406f8df5f1 100644 --- a/docs/user-guides/workspace-access/jetbrains/index.md +++ b/docs/user-guides/workspace-access/jetbrains/index.md @@ -1,24 +1,252 @@ -# JetBrains IDEs - -Coder supports JetBrains IDEs using [Toolbox](https://www.jetbrains.com/toolbox/) and [Gateway](https://www.jetbrains.com/remote-development/gateway/). The following -IDEs are supported for remote development: - -- IntelliJ IDEA -- CLion -- GoLand -- PyCharm -- Rider -- RubyMine -- WebStorm -- PhpStorm -- RustRover -- [JetBrains Fleet](./fleet.md) +# Other JetBrains IDEs + +Connect to your Coder workspace using any JetBrains IDE with remote development capabilities. + +> **Popular IDEs**: For streamlined setup instructions, see the dedicated pages for [PyCharm](./pycharm.md) and [IntelliJ IDEA](./intellij.md). + +## Supported IDEs + +Coder supports all JetBrains IDEs with remote development capabilities: + +- **CLion** (`CL`) - C/C++ development +- **GoLand** (`GO`) - Go development +- **PhpStorm** (`PS`) - PHP development +- **Rider** (`RD`) - .NET development +- **RubyMine** (`RM`) - Ruby development +- **RustRover** (`RR`) - Rust development +- **WebStorm** (`WS`) - JavaScript/TypeScript development +- **JetBrains Fleet** - Lightweight, multi-language IDE + +## Quick Start (Recommended) - 5 minutes + +The easiest way to use JetBrains IDEs with Coder is through our Terraform module. + +### Prerequisites + +- [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) version 2.7 or higher +- Coder version 2.24+ +- Minimum 4 CPU cores and 8GB RAM (recommended by JetBrains) + +### Option 1: Let Users Choose IDEs + +```tf +module "jetbrains" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + + # Users can select from these options + options = ["GO", "WS", "PS", "RD"] # GoLand, WebStorm, PhpStorm, Rider +} +``` + +### Option 2: Pre-configure Specific IDEs + +```tf +module "jetbrains" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + + # Always show these IDEs (no user selection) + default = ["GO", "WS"] # GoLand and WebStorm buttons always appear +} +``` + +### Option 3: All Supported IDEs + +```tf +module "jetbrains" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + + # All supported IDEs (default behavior) + options = ["CL", "GO", "PS", "RD", "RM", "RR", "WS"] +} +``` + +## Alternative Connection Methods + +### JetBrains Gateway + +JetBrains Gateway is a desktop app that connects to remote environments without downloading full IDEs. + +1. **Install Gateway**: Download from [JetBrains Gateway website](https://www.jetbrains.com/remote-development/gateway/) + +2. **Install Coder Plugin**: + - Open Gateway + - Under **Install More Providers**, find the **Coder** icon and click **Install** + +3. **Connect to Workspace**: + - Click **Connect to Coder** + - Enter your Coder deployment URL + - Authenticate with your Coder credentials + - Select your workspace and preferred IDE + +### JetBrains Fleet + +Fleet is JetBrains' lightweight, multi-language IDE that can connect directly via SSH. + +1. **Install Fleet**: Download from [JetBrains Fleet website](https://www.jetbrains.com/fleet/) + +2. **Install Coder CLI** in your workspace or locally: + ```bash + curl -L https://coder.com/install.sh | sh + ``` + +3. **Login and configure SSH**: + ```bash + coder login coder.example.com + coder config-ssh + ``` + +4. **Connect via SSH** in Fleet: + - Open Fleet + - Choose **Connect to SSH** + - Set Host to `coder.workspace-name` + - Fleet will connect and open your project + +### Manual SSH Connection + +For any JetBrains IDE with remote development support: + +1. **Install your preferred IDE** locally +2. **Get SSH details** from your Coder workspace +3. **Configure remote connection** in your IDE: + - **File** → **Remote Development** → **SSH** + - Enter workspace connection details + - Select project folder + +## Advanced Configuration + +### Language-Specific Setup + +#### Go Development (GoLand) +```tf +module "jetbrains_go" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/workspace/go-project" + default = ["GO"] +} +``` + +#### Web Development (WebStorm) +```tf +module "jetbrains_web" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/workspace/web-app" + default = ["WS"] +} +``` + +#### .NET Development (Rider) +```tf +module "jetbrains_dotnet" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/workspace/dotnet-project" + default = ["RD"] +} +``` + +### Early Access Preview (EAP) Versions + +```tf +module "jetbrains_eap" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + default = ["GO", "WS"] + channel = "eap" # Early Access Preview + major_version = "2025.2" # Specific major version +} +``` + +### Custom IDE Configuration + +```tf +module "jetbrains_custom" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/workspace/project" + + ide_config = { + "GO" = { + name = "GoLand (Custom)" + icon = "/custom/icons/goland.svg" + build = "251.26927.50" + } + "WS" = { + name = "WebStorm (Custom)" + icon = "/custom/icons/webstorm.svg" + build = "251.26927.40" + } + } +} +``` + +## Troubleshooting + +### IDE Buttons Not Appearing + +- Verify your template includes the JetBrains module +- Ensure Coder version is 2.24+ +- Restart your workspace after template updates + +### Connection Issues + +- Check JetBrains Toolbox is running and updated +- Verify the specific IDE is installed through Toolbox +- Ensure workspace is running and accessible + +### Performance Issues + +- Verify workspace meets minimum requirements (4 CPU cores, 8GB RAM) +- Consider increasing workspace resources for better performance +- Check network connectivity between local machine and Coder + +### Air-Gapped Environments + +The module automatically handles air-gapped environments by falling back to pre-configured build numbers when the JetBrains API is unreachable. + +## IDE Product Codes Reference + +When configuring the module, use these product codes: + +| IDE | Product Code | Full Name | +|-----|--------------|-----------|| +| CLion | `CL` | CLion | +| GoLand | `GO` | GoLand | +| PhpStorm | `PS` | PhpStorm | +| Rider | `RD` | Rider | +| RubyMine | `RM` | RubyMine | +| RustRover | `RR` | RustRover | +| WebStorm | `WS` | WebStorm | > [!IMPORTANT] > Remote development works with paid and non-commercial licenses of JetBrains IDEs -If you experience any issues, please -[create a GitHub issue](https://github.com/coder/coder/issues) or ask in -[our Discord channel](https://discord.gg/coder). +--- + +**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). \ No newline at end of file diff --git a/docs/user-guides/workspace-access/jetbrains/intellij.md b/docs/user-guides/workspace-access/jetbrains/intellij.md new file mode 100644 index 0000000000000..cc17e9344a863 --- /dev/null +++ b/docs/user-guides/workspace-access/jetbrains/intellij.md @@ -0,0 +1,156 @@ +# IntelliJ IDEA + +Connect to your Coder workspace using IntelliJ IDEA Ultimate with one-click integration. + +## Quick Start (Recommended) - 5 minutes + +The easiest way to use IntelliJ IDEA with Coder is through our Terraform module that adds IntelliJ buttons directly to your workspace page. + +### Prerequisites + +- [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) version 2.7 or higher installed on your local machine +- IntelliJ IDEA Ultimate (available through Toolbox) +- Coder version 2.24+ +- Minimum 4 CPU cores and 8GB RAM (recommended by JetBrains) + +### Step 1: Add the Module to Your Template + +Add this module to your Coder template: + +```tf +module "jetbrains_intellij" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + + # Only show IntelliJ IDEA + default = ["IU"] +} +``` + +### Step 2: Update Your Template + +1. Push the template changes to your repository +2. Update the template in Coder +3. Restart your workspace (if already running) + +### Step 3: Launch IntelliJ IDEA + +1. Go to your workspace page in Coder +2. Click the **IntelliJ IDEA** button that now appears +3. JetBrains Toolbox will automatically: + - Download IntelliJ IDEA Ultimate (if not installed) + - Connect to your workspace + - Open your project folder + +That's it! IntelliJ IDEA will open with your workspace files ready for development. + +## Alternative Methods + +### Method 2: JetBrains Gateway Plugin + +If you prefer using JetBrains Gateway directly: + +1. **Install Gateway**: Download from [JetBrains Gateway website](https://www.jetbrains.com/remote-development/gateway/) + +2. **Install Coder Plugin**: + - Open Gateway + - Go to **Install More Providers** + - Find and install the **Coder** plugin + +3. **Connect to Workspace**: + - Click **Connect to Coder** + - Enter your Coder deployment URL + - Authenticate with your Coder credentials + - Select your workspace + - Choose IntelliJ IDEA as your IDE + +### Method 3: Manual SSH Connection + +For advanced users who want direct SSH access: + +1. **Install IntelliJ IDEA Ultimate** locally +2. **Configure SSH Connection**: + - Get your workspace SSH details from Coder + - In IntelliJ: **File** → **Remote Development** → **SSH** + - Enter your workspace connection details +3. **Connect and Develop** + +## Troubleshooting + +### IntelliJ IDEA Button Not Appearing + +- Ensure your template includes the JetBrains module +- Verify Coder version is 2.24+ +- Check that the workspace has been restarted after template update + +### Connection Issues + +- Verify JetBrains Toolbox is running and up to date +- Check your workspace is running and accessible +- Ensure IntelliJ IDEA Ultimate is installed (Community edition doesn't support remote development) + +### Performance Issues + +- Verify your workspace meets the minimum requirements (4 CPU cores, 8GB RAM) +- Consider increasing workspace resources if development is slow +- Check network connectivity between your local machine and Coder + +## Advanced Configuration + +### Custom Project Folder + +```tf +module "jetbrains_intellij" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/workspace/my-java-project" # Custom folder + default = ["IU"] +} +``` + +### Specific IntelliJ Version + +```tf +module "jetbrains_intellij" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + default = ["IU"] + major_version = "2025.1" # Specific version + channel = "release" # or "eap" for early access +} +``` + +### Multiple JetBrains IDEs + +If you want both IntelliJ IDEA and other IDEs available: + +```tf +module "jetbrains_multi" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + + # Show multiple IDEs as options + options = ["IU", "PY", "GO"] # IntelliJ, PyCharm, GoLand +} +``` + +## Next Steps + +- [Configure your Java/Kotlin environment in the workspace](../../templates/) +- [Set up version control integration](../../../admin/git/) +- [Learn about Coder workspace management](../../) + +--- + +**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). \ No newline at end of file diff --git a/docs/user-guides/workspace-access/jetbrains/pycharm.md b/docs/user-guides/workspace-access/jetbrains/pycharm.md new file mode 100644 index 0000000000000..7be55dfeac428 --- /dev/null +++ b/docs/user-guides/workspace-access/jetbrains/pycharm.md @@ -0,0 +1,139 @@ +# PyCharm + +Connect to your Coder workspace using PyCharm Professional with one-click integration. + +## Quick Start (Recommended) - 5 minutes + +The easiest way to use PyCharm with Coder is through our Terraform module that adds PyCharm buttons directly to your workspace page. + +### Prerequisites + +- [JetBrains Toolbox](https://www.jetbrains.com/toolbox-app/) version 2.7 or higher installed on your local machine +- PyCharm Professional (available through Toolbox) +- Coder version 2.24+ +- Minimum 4 CPU cores and 8GB RAM (recommended by JetBrains) + +### Step 1: Add the Module to Your Template + +Add this module to your Coder template: + +```tf +module "jetbrains_pycharm" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + + # Only show PyCharm + default = ["PY"] +} +``` + +### Step 2: Update Your Template + +1. Push the template changes to your repository +2. Update the template in Coder +3. Restart your workspace (if already running) + +### Step 3: Launch PyCharm + +1. Go to your workspace page in Coder +2. Click the **PyCharm** button that now appears +3. JetBrains Toolbox will automatically: + - Download PyCharm Professional (if not installed) + - Connect to your workspace + - Open your project folder + +That's it! PyCharm will open with your workspace files ready for development. + +## Alternative Methods + +### Method 2: JetBrains Gateway Plugin + +If you prefer using JetBrains Gateway directly: + +1. **Install Gateway**: Download from [JetBrains Gateway website](https://www.jetbrains.com/remote-development/gateway/) + +2. **Install Coder Plugin**: + - Open Gateway + - Go to **Install More Providers** + - Find and install the **Coder** plugin + +3. **Connect to Workspace**: + - Click **Connect to Coder** + - Enter your Coder deployment URL + - Authenticate with your Coder credentials + - Select your workspace + - Choose PyCharm as your IDE + +### Method 3: Manual SSH Connection + +For advanced users who want direct SSH access: + +1. **Install PyCharm Professional** locally +2. **Configure SSH Connection**: + - Get your workspace SSH details from Coder + - In PyCharm: **File** → **Remote Development** → **SSH** + - Enter your workspace connection details +3. **Connect and Develop** + +## Troubleshooting + +### PyCharm Button Not Appearing + +- Ensure your template includes the JetBrains module +- Verify Coder version is 2.24+ +- Check that the workspace has been restarted after template update + +### Connection Issues + +- Verify JetBrains Toolbox is running and up to date +- Check your workspace is running and accessible +- Ensure PyCharm Professional is installed (Community edition doesn't support remote development) + +### Performance Issues + +- Verify your workspace meets the minimum requirements (4 CPU cores, 8GB RAM) +- Consider increasing workspace resources if development is slow +- Check network connectivity between your local machine and Coder + +## Advanced Configuration + +### Custom Project Folder + +```tf +module "jetbrains_pycharm" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/workspace/my-python-project" # Custom folder + default = ["PY"] +} +``` + +### Specific PyCharm Version + +```tf +module "jetbrains_pycharm" { + count = data.coder_workspace.me.start_count + source = "registry.coder.com/coder/jetbrains/coder" + version = "1.0.1" + agent_id = coder_agent.main.id + folder = "/home/coder/project" + default = ["PY"] + major_version = "2025.1" # Specific version + channel = "release" # or "eap" for early access +} +``` + +## Next Steps + +- [Configure your Python environment in the workspace](../../templates/) +- [Set up version control integration](../../../admin/git/) +- [Learn about Coder workspace management](../../) + +--- + +**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). \ No newline at end of file From e375502094ca4e99a586e917440672da7b7b7bd6 Mon Sep 17 00:00:00 2001 From: "blink-so[bot]" <211532188+blink-so[bot]@users.noreply.github.com> Date: Tue, 29 Jul 2025 09:54:17 +0000 Subject: [PATCH 2/2] docs: fix lint issues - add missing newlines at end of files Co-authored-by: matifali <10648092+matifali@users.noreply.github.com> --- docs/user-guides/workspace-access/jetbrains/index.md | 2 +- docs/user-guides/workspace-access/jetbrains/intellij.md | 2 +- docs/user-guides/workspace-access/jetbrains/pycharm.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/user-guides/workspace-access/jetbrains/index.md b/docs/user-guides/workspace-access/jetbrains/index.md index 7d7406f8df5f1..fef511d92c945 100644 --- a/docs/user-guides/workspace-access/jetbrains/index.md +++ b/docs/user-guides/workspace-access/jetbrains/index.md @@ -249,4 +249,4 @@ When configuring the module, use these product codes: --- -**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). \ No newline at end of file +**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). diff --git a/docs/user-guides/workspace-access/jetbrains/intellij.md b/docs/user-guides/workspace-access/jetbrains/intellij.md index cc17e9344a863..3b78970881a42 100644 --- a/docs/user-guides/workspace-access/jetbrains/intellij.md +++ b/docs/user-guides/workspace-access/jetbrains/intellij.md @@ -153,4 +153,4 @@ module "jetbrains_multi" { --- -**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). \ No newline at end of file +**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). diff --git a/docs/user-guides/workspace-access/jetbrains/pycharm.md b/docs/user-guides/workspace-access/jetbrains/pycharm.md index 7be55dfeac428..9eecb610f948d 100644 --- a/docs/user-guides/workspace-access/jetbrains/pycharm.md +++ b/docs/user-guides/workspace-access/jetbrains/pycharm.md @@ -136,4 +136,4 @@ module "jetbrains_pycharm" { --- -**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder). \ No newline at end of file +**Need help?** [Create a GitHub issue](https://github.com/coder/coder/issues/new) or ask in our [Discord channel](https://discord.gg/coder).