MCPcopy
hub / github.com/cli/cli / VSCode

Method VSCode

pkg/cmd/codespace/code.go:36–62  ·  view source on GitHub ↗

VSCode opens a codespace in the local VS VSCode application.

(ctx context.Context, selector *CodespaceSelector, useInsiders bool, useWeb bool)

Source from the content-addressed store, hash-verified

34
35// VSCode opens a codespace in the local VS VSCode application.
36func (a *App) VSCode(ctx context.Context, selector *CodespaceSelector, useInsiders bool, useWeb bool) error {
37 codespace, err := selector.Select(ctx)
38 if err != nil {
39 return err
40 }
41
42 browseURL := vscodeProtocolURL(codespace.Name, useInsiders)
43 if useWeb {
44 browseURL = codespace.WebURL
45 if useInsiders {
46 u, err := url.Parse(browseURL)
47 if err != nil {
48 return err
49 }
50 q := u.Query()
51 q.Set("vscodeChannel", "insiders")
52 u.RawQuery = q.Encode()
53 browseURL = u.String()
54 }
55 }
56
57 if err := a.browser.Browse(browseURL); err != nil {
58 return fmt.Errorf("error opening Visual Studio Code: %w", err)
59 }
60
61 return nil
62}
63
64func vscodeProtocolURL(codespaceName string, useInsiders bool) string {
65 application := "vscode"

Callers 3

TestApp_VSCodeFunction · 0.95
newCodeCmdFunction · 0.80

Calls 7

vscodeProtocolURLFunction · 0.85
SelectMethod · 0.65
QueryMethod · 0.65
SetMethod · 0.65
BrowseMethod · 0.65
ErrorfMethod · 0.65
StringMethod · 0.45

Tested by 2

TestApp_VSCodeFunction · 0.76