MCPcopy Index your code
hub / github.com/coder/coder / buildVSCodeWorkspaceDevContainerLink

Function buildVSCodeWorkspaceDevContainerLink

cli/open.go:484–520  ·  view source on GitHub ↗
(
	token string,
	clientURL string,
	workspace codersdk.Workspace,
	workspaceAgent codersdk.WorkspaceAgent,
	containerName string,
	containerFolder string,
	localWorkspaceFolder string,
	localConfigFile string,
)

Source from the content-addressed store, hash-verified

482}
483
484func buildVSCodeWorkspaceDevContainerLink(
485 token string,
486 clientURL string,
487 workspace codersdk.Workspace,
488 workspaceAgent codersdk.WorkspaceAgent,
489 containerName string,
490 containerFolder string,
491 localWorkspaceFolder string,
492 localConfigFile string,
493) (*url.URL, url.Values) {
494 containerFolder = filepath.ToSlash(containerFolder)
495 localWorkspaceFolder = filepath.ToSlash(localWorkspaceFolder)
496 if localConfigFile != "" {
497 localConfigFile = filepath.ToSlash(localConfigFile)
498 }
499
500 qp := url.Values{}
501 qp.Add("url", clientURL)
502 qp.Add("owner", workspace.OwnerName)
503 qp.Add("workspace", workspace.Name)
504 qp.Add("agent", workspaceAgent.Name)
505 qp.Add("devContainerName", containerName)
506 qp.Add("devContainerFolder", containerFolder)
507 qp.Add("localWorkspaceFolder", localWorkspaceFolder)
508 qp.Add("localConfigFile", localConfigFile)
509
510 if token != "" {
511 qp.Add("token", token)
512 }
513
514 return &url.URL{
515 Scheme: "vscode",
516 Host: "coder.coder-remote",
517 Path: "/openDevContainer",
518 RawQuery: qp.Encode(),
519 }, qp
520}
521
522// waitForAgentCond uses the watch workspace API to update the agent information
523// until the condition is met.

Callers 1

openVSCodeMethod · 0.85

Calls 2

EncodeMethod · 0.80
AddMethod · 0.65

Tested by

no test coverage detected