# fx setup-go

Set up the checkout for Go development.

```none
usage: fx setup-go [-d]

Creates symlinks from //third_party/golibs into the root of the tree
and the //vendor directory so that standard Go tooling and IDE features
will work. All of the symlink paths should already be ignored by git, so
this symlinking will not require any .gitignore modifications.

This is not necessary for development, only to improve the experience when
using Go IDE features and standard tooling.

Prints the names of any symlinks it creates or removes, unless the
operation is a no-op, in which case it prints nothing.

optional arguments:
  -d     Tear down the symlinks created by `fx setup-go`. Also idempotent (i.e.
         safe to run multiple times in a row).
```

[setup-go source code](https://cs.opensource.google/fuchsia/fuchsia/+/main:tools/devshell/contrib/setup-go)
