From 28121d153b4dac516f2b3bf341b9b304e71222ee Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Thu, 28 Sep 2023 17:00:43 +0300 Subject: [PATCH] add folder to vscode desktop --- vscode-desktop/README.md | 12 ++++++++++++ vscode-desktop/main.tf | 16 +++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/vscode-desktop/README.md b/vscode-desktop/README.md index 2651aed..0a1f0fd 100644 --- a/vscode-desktop/README.md +++ b/vscode-desktop/README.md @@ -19,3 +19,15 @@ module "vscode" { agent_id = coder_agent.example.id } ``` + +## Examples + +### Open in a specific directory + +```hcl +module "vscode" { + source = "https://registry.coder.com/modules/vscode-desktop" + agent_id = coder_agent.example.id + folder = "/home/coder/project" +} +``` diff --git a/vscode-desktop/main.tf b/vscode-desktop/main.tf index 3ef6396..9edae25 100644 --- a/vscode-desktop/main.tf +++ b/vscode-desktop/main.tf @@ -14,6 +14,12 @@ variable "agent_id" { description = "The ID of a Coder agent." } +variable "folder" { + type = string + description = "The folder to opne in VS Code." + default = "" +} + data "coder_workspace" "me" {} resource "coder_app" "vscode" { @@ -22,7 +28,15 @@ resource "coder_app" "vscode" { icon = "/icon/code.svg" slug = "vscode" display_name = "VS Code Desktop" - url = join("", [ + url = var.folder != "" ? join("", [ + "vscode://coder.coder-remote/open?owner=", + data.coder_workspace.me.owner, + "&workspace=", + data.coder_workspace.me.name, + "&folder=", + var.folder, + "&token=$SESSION_TOKEN", + ]) : join("", [ "vscode://coder.coder-remote/open?owner=", data.coder_workspace.me.owner, "&workspace=",