From e1f4e25573e4955b9c4bc4bc20a853a3768b58ed Mon Sep 17 00:00:00 2001 From: Muhammad Atif Ali Date: Mon, 2 Oct 2023 22:02:33 +0300 Subject: [PATCH] add folder to vscode desktop (#62) --- vscode-desktop/README.md | 12 +++++++++++- vscode-desktop/main.tf | 16 +++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/vscode-desktop/README.md b/vscode-desktop/README.md index ff34f0d..0a1f0fd 100644 --- a/vscode-desktop/README.md +++ b/vscode-desktop/README.md @@ -20,4 +20,14 @@ module "vscode" { } ``` -![VSCode Desktop Button](../.images/vscode-desktop.png) +## 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=",