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..fef511d92c945 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). 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..3b78970881a42 --- /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). 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..9eecb610f948d --- /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).