diff --git a/content/gopls-vscode-go.article b/content/gopls-vscode-go.article
new file mode 100644
index 0000000..d705e20
--- /dev/null
+++ b/content/gopls-vscode-go.article
@@ -0,0 +1,113 @@
+# Gopls on by default in VS Code Go extension
+01 Feb 2021
+Tags: tools, gopls
+Summary: Gopls, which provides IDE features for Go to many editors, is now used by default in VS Code Go.
+
+Go tools team
+
+##
+
+We're happy to announce that the VS Code Go extension now enables the [gopls
+language server](https://github.com/golang/tools/blob/master/gopls/README.md)
+by default, to deliver more robust IDE features and better support for Go
+modules.
+
+.image gopls/features.gif _ 635
+_(`gopls` provides IDE features, such as as intelligent autocompletion, signature help, refactoring, and workspace symbol search.)_
+
+When [Go modules](using-go-modules) were
+released two years ago, they completely changed the landscape of Go developer
+tooling. Tools like goimports and godef previously depended on the fact that
+code was stored in your `$GOPATH`. When the Go team began rewriting these tools
+to work with modules, we immediately realized that we needed a more systematic
+approach to bridge the gap.
+
+As a result, we began working on a single Go
+[language server](https://microsoft.github.io/language-server-protocol/),
+`gopls`, which provides IDE features, such as autocompletion, formatting, and
+diagnostics to any compatible editor frontend. This persistent and unified
+server is a [fundamental
+shift](https://www.youtube.com/watch?v=EFJfdWzBHwE&t=1s) from the earlier
+collections of command-line tools.
+
+In addition to working on `gopls`, we sought other ways of creating a stable
+ecosystem of editor tooling. Last year, the Go team took responsibility for the
+[Go extension for VS Code](https://blog.golang.org/vscode-go). As part of this
+work, we smoothed the extension’s integration with the language server—automating
+`gopls` updates, rearranging and clarifying `gopls` settings, improving the
+troubleshooting workflow, and soliciting feedback through a survey. We’ve also
+continued to foster a community of active users and contributors who have
+helped us improve the stability, performance, and user experience of the Go
+extension.
+
+## Announcement
+
+January 28 marked a major milestone in both the `gopls` and VS Code Go
+journeys, as `gopls` is now enabled by default in the Go extension for VS Code.
+
+In advance of this switch we spent a long time iterating on the design, feature
+set, and user experience of `gopls`, focusing on improving performance and
+stability. For more than a year, `gopls` has been the default in most plugins for
+Vim, Emacs, and other editors. We’ve had 24 `gopls` releases, and we’re
+incredibly grateful to our users for consistently providing feedback and
+reporting issues on each and every one.
+
+We’ve also dedicated time to smoothing the new user experience. We hope that VS
+Code Go with `gopls` will be intuitive with clear error messages, but if you have
+a question or need to adjust some configuration, you’ll be able to find answers
+in our [updated documentation](https://github.com/golang/vscode-go/blob/master/README.md).
+We have also recorded [a screencast](https://www.youtube.com/watch?v=1MXIGYrMk80)
+to help you get started, as well as
+[animations](https://github.com/golang/vscode-go/blob/master/docs/features.md)
+to show off some hard-to-find features.
+
+Gopls is the best way of working with Go code, especially with Go modules.
+With Go 1.16 arriving soon, in which modules are enabled by default, VS Code
+Go users will have the best possible experience out-of-the-box.
+
+Still, this switch does not mean that `gopls` is complete. We will continue
+working on bug fixes, new features, and general stability. Our next area of
+focus will be improving the user experience when [working with multiple
+modules](https://github.com/golang/tools/blob/master/gopls/doc/workspace.md).
+Feedback from our larger user base will help inform our next steps.
+
+## So, what should you do?
+
+If you use VS Code, you don’t need to do anything.
+When you get the next VS Code Go update, `gopls` will be enabled automatically.
+
+If you use another editor, you are likely using `gopls` already. If not, see
+[the `gopls` user guide](https://github.com/golang/tools/blob/master/gopls/README.md)
+to learn how to enable `gopls` in your preferred editor. The Language Server
+Protocol ensures that `gopls` will continue to offer the same features to every
+editor.
+
+If `gopls` is not working for you, please see our [detailed troubleshooting
+guide](https://github.com/golang/vscode-go/blob/master/docs/troubleshooting.md)
+and file an issue. If you need to, you can always [disable `gopls` in VS
+Code](https://github.com/golang/vscode-go/blob/master/docs/settings.md#gouselanguageserver).
+
+## Thank you
+
+To our existing users, thank you for bearing with us as we rewrote our caching
+layer for the third time. To our new users, we look forward to hearing your
+experience reports and feedback.
+
+Finally, no discussion of Go tooling is complete without mentioning the
+valuable contributions of the Go tools community. Thank you for the lengthy
+discussions, detailed bug reports, integration tests, and most importantly,
+thank you for the fantastic contributions. The most exciting `gopls` features
+come from our passionate open-source contributors, and we are appreciative of
+your hard work and dedication.
+
+## Learn more
+
+Watch [the screencast](https://www.youtube.com/watch?v=1MXIGYrMk80) for a full
+explanation of how to get started with `gopls` and VS Code Go.
+
+See the [VS Code Go README](https://github.com/golang/vscode-go/blob/master/README.md)
+for additional information on getting started with the Go extension for VS
+Code.
+
+If you’d like to read about `gopls` in more detail, see the
+[`gopls` README](https://github.com/golang/tools/blob/master/gopls/README.md).
diff --git a/content/gopls/features.gif b/content/gopls/features.gif
new file mode 100644
index 0000000..9a7c034
--- /dev/null
+++ b/content/gopls/features.gif
Binary files differ
