diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
index dc1825c..bb56a9a 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ b/.github/ISSUE_TEMPLATE/bug_report.md
@@ -12,10 +12,11 @@
 
 Please review the [documentation](https://github.com/golang/vscode-go/tree/master/docs) before filing an issue.
 Helpful pages include:
-- [GOPATH](https://github.com/golang/vscode-go/tree/master/docs/GOPATH-in-the-VS-Code-Go-extension.md)
-- [Module Support](https://github.com/golang/vscode-go/tree/master/docs/Go-modules-support-in-Visual-Studio-Code.md)
-- [Debugging](https://github.com/golang/vscode-go/tree/master/docs/Debugging-Go-code-using-VS-Code.md)
-	- Set "trace": "log" and share the resulting logs in the debug console when logging an issue.
+
+- [GOPATH](https://github.com/golang/vscode-go/tree/master/docs/gopath.md)
+- [Module Support](https://github.com/golang/vscode-go/tree/master/docs/modules.md)
+- [Debugging](https://github.com/golang/vscode-go/tree/master/docs/debugging.md)
+  - Set "trace": "log" and share the resulting logs in the debug console when logging an issue.
 
 Please answer these questions before submitting your issue. Thanks!
 
diff --git a/README.md b/README.md
index 9678efd..2441386 100644
--- a/README.md
+++ b/README.md
@@ -89,11 +89,11 @@
 
 Install and open [Visual Studio Code](https://code.visualstudio.com). Press `Ctrl+Shift+X` or `Cmd+Shift+X` to open the Extensions pane. Find and install the Go extension. You can also install the extension from the [Marketplace](https://marketplace.visualstudio.com/items?itemName=ms-vscode.Go). Open any `.go` file in VS Code. The extension is now activated.
 
-This extension uses a set of Go tools to provide the various rich features. These tools are installed in your GOPATH by default. If you wish to have these tools in a separate location, provide the desired location in the setting `go.toolsGopath`. Read more about this and the tools at [Go tools that the Go extension depends on](https://github.com/microsoft/vscode-go/blob/master/docs/Go-tools-that-the-Go-extension-depends-on.md).
+This extension uses a set of Go tools to provide the various rich features. These tools are installed in your GOPATH by default. If you wish to have these tools in a separate location, provide the desired location in the setting `go.toolsGopath`. Read more about this and the tools at [Go tools that the Go extension depends on](docs/tools.md).
 
 You will see `Analysis Tools Missing` in the bottom right, clicking this will offer to install all of the dependent Go tools. You can also run the [command](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) `Go: Install/Update tools` to install/update the same. You need to have git installed for these tool installations to work.
 
-**Note 1**: Read [GOPATH in the VS Code Go extension](https://github.com/Microsoft/vscode-go/blob/master/docs/GOPATH-in-the-VS-Code-Go-extension.md) to learn about the different ways you can get the extension to set GOPATH.
+**Note 1**: Read [GOPATH in the VS Code Go extension](docs/gopath.md) to learn about the different ways you can get the extension to set GOPATH.
 
 **Note 2**: The `Format on save` feature has a timeout of 750ms after which the formatting is aborted. You can change this timeout using the setting `editor.formatOnSaveTimeout`. This feature gets disabled when you have enabled the `Auto Save` feature in Visual Studio Code.
 
@@ -101,12 +101,11 @@
 
 ### Customizing the Go extension features
 
-The Go extension is ready to use on the get go. If you want to customize the features, you can edit the settings in your User or Workspace settings. Read [All Settings & Commands in Visual Studio Code Go extension](https://github.com/Microsoft/vscode-go/blob/master/docs/All-Settings-&-Commands-in-Visual-Studio-Code-Go-extension.md) for the full list of options and their descriptions.
-
+The Go extension is ready to use on the get go. If you want to customize the features, you can edit the settings in your User or Workspace settings. Read [All Settings & Commands in Visual Studio Code Go extension](docs/commands.md) for the full list of options and their descriptions.
 
 ### Go Language Server
 
-The Go extension uses a host of [Go tools](https://github.com/Microsoft/vscode-go/blob/master/docs/Go-tools-that-the-Go-extension-depends-on.md) to provide the various language features. An alternative is to use a single language server that provides the same features using the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/). 
+The Go extension uses a host of [Go tools](docs/tools.md) to provide the various language features. An alternative is to use a single language server that provides the same features using the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/). 
 
 [`gopls`](https://golang.org/s/gopls/README.md) from Google is the official language server for
 the Go language and is currently in active development. You can choose to use this by setting
@@ -210,7 +209,7 @@
 
 ### _Optional_: Debugging
 
-To use the debugger, you must currently manually [install delve](https://github.com/derekparker/delve/tree/master/Documentation/installation). For more read [Debugging Go Code Using VS Code](https://github.com/microsoft/vscode-go/blob/master/docs/Debugging-Go-code-using-VS-Code.md).
+To use the debugger, you must currently manually [install delve](https://github.com/derekparker/delve/tree/master/Documentation/installation). For more read [Debugging Go Code Using VS Code](docs/debugging.md).
 
 #### Debugging in WSL
 
@@ -218,24 +217,24 @@
 
 #### Remote Debugging
 
-To remote debug using VS Code, read [Remote Debugging](https://github.com/microsoft/vscode-go/blob/master/docs/Debugging-Go-code-using-VS-Code.md#remote-debugging).
+To remote debug using VS Code, read [Remote Debugging](docs/debugging.md#remote-debugging).
 
 ## Install or update all dependencies
 
-To quickly get all dependencies installed (or updated) see the [Go Tools wiki page](https://github.com/microsoft/vscode-go/blob/master/docs/Go-tools-that-the-Go-extension-depends-on.md).
+To quickly get all dependencies installed (or updated) see the [Go Tools wiki page](docs/tools.md).
 
 ## Building and Debugging the Extension
 
 You can set up a development environment for debugging the extension during extension development.
-Read more at [Building, Debugging and Sideloading the extension in Visual Studio Code](https://github.com/microsoft/vscode-go/blob/master/docs/Building,-Debugging-and-Sideloading-the-extension-in-Visual-Studio-Code.md).
+Read more at [Building, Debugging and Sideloading the extension in Visual Studio Code](docs/contributing.md).
 
 ## Tools this extension depends on
 
-This extension uses a host of Go tools to provide the various rich features. These tools are installed in your GOPATH by default. If you wish to have the extension use a separate GOPATH for its tools, provide the desired location in the setting `go.toolsGopath`. Read more about this and the tools at [Go tools that the Go extension depends on](https://github.com/microsoft/vscode-go/blob/master/docs/Go-tools-that-the-Go-extension-depends-on.md).
+This extension uses a host of Go tools to provide the various rich features. These tools are installed in your GOPATH by default. If you wish to have the extension use a separate GOPATH for its tools, provide the desired location in the setting `go.toolsGopath`. Read more about this and the tools at [Go tools that the Go extension depends on](docs/tools.md).
 
 ## Frequently Asked Questions (FAQ)
 
-Please see our wiki on [Frequently Asked Questions](https://github.com/microsoft/vscode-go/blob/master/docs/Go-with-VS-Code-FAQ-and-Troubleshooting.md) to get answers to your questions or get started with troubleshooting.
+Please see our wiki on [Frequently Asked Questions](docs/troubleshooting.md) to get answers to your questions or get started with troubleshooting.
 
 ## Contributing
 
@@ -249,4 +248,5 @@
 contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
 
 ## License
+
 [MIT](LICENSE)
diff --git a/docs/README.md b/docs/README.md
index 9ec8d70..112dd45 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -1,10 +1,9 @@
-- How to contribute? [Build, Debug and/or SideLoad the Go extension](Building,-Debugging-and-Sideloading-the-extension-in-Visual-Studio-Code.md)
-
-- [Go tools that the Go extension depends on](Go-tools-that-the-Go-extension-depends-on.md)
-- [GOPATH in the VS Code Go extension](GOPATH-in-the-VS-Code-Go-extension.md)
-- [Settings & Commands in Visual Studio Code Go extension](Settings-for-Visual-Studio-Code-Go-extension.md) 
-- [Debugging Go Code Using VS Code](Debugging-Go-code-using-VS-Code.md)
-- [Release Notes](https://github.com/Microsoft/vscode-go/blob/master/CHANGELOG.md)
+- How to contribute? [Build, Debug and/or SideLoad the Go extension](contributing.md)
+- [Go tools that the Go extension depends on](tools.md)
+- [GOPATH in the VS Code Go extension](gopath.md)
+- [Settings & Commands in Visual Studio Code Go extension](commands.md) 
+- [Debugging Go Code Using VS Code](debugging.md)
+- [Release Notes](../CHANGELOG.md)
 
 
-See the [FAQ](Go-with-VS-Code-FAQ-and-Troubleshooting.md).
\ No newline at end of file
+See the [FAQ](troubleshooting.md).
\ No newline at end of file
diff --git a/docs/Use-the-beta-version-of-the-latest-Go-extension.md b/docs/beta.md
similarity index 100%
rename from docs/Use-the-beta-version-of-the-latest-Go-extension.md
rename to docs/beta.md
diff --git a/docs/All-Settings-&-Commands-in-Visual-Studio-Code-Go-extension.md b/docs/commands.md
similarity index 100%
rename from docs/All-Settings-&-Commands-in-Visual-Studio-Code-Go-extension.md
rename to docs/commands.md
diff --git a/docs/Building,-Debugging-and-Sideloading-the-extension-in-Visual-Studio-Code.md b/docs/contributing.md
similarity index 96%
rename from docs/Building,-Debugging-and-Sideloading-the-extension-in-Visual-Studio-Code.md
rename to docs/contributing.md
index d0067d1..9ff2903 100644
--- a/docs/Building,-Debugging-and-Sideloading-the-extension-in-Visual-Studio-Code.md
+++ b/docs/contributing.md
@@ -39,4 +39,4 @@
 
 ## Use the beta version of this extension
 
-If you want to help with testing the next update to this extension or you want to use the latest features that arent released yet, its easy to do so. Please see [Use the beta version of the Go extension](Use-the-beta-version-of-the-latest-Go-extension.md)
\ No newline at end of file
+If you want to help with testing the next update to this extension or you want to use the latest features that arent released yet, its easy to do so. Please see [Use the beta version of the Go extension](beta.md).
\ No newline at end of file
diff --git a/docs/Debugging-Go-code-using-VS-Code.md b/docs/debugging.md
similarity index 97%
rename from docs/Debugging-Go-code-using-VS-Code.md
rename to docs/debugging.md
index e36c61f..5170e01 100644
--- a/docs/Debugging-Go-code-using-VS-Code.md
+++ b/docs/debugging.md
@@ -7,8 +7,8 @@
 ## Set up configurations in your settings
 
 The below settings are used by the debugger. You may not need to add/change any of them to have debugging working in simple cases, but do give them a read sometime
-- `go.gopath`. See [GOPATH in VS Code](GOPATH-in-the-VS-Code-Go-extension.md)
-- `go.inferGopath`. See [GOPATH in VS Code](GOPATH-in-the-VS-Code-Go-extension.md)
+- `go.gopath`. See [GOPATH in VS Code](gopath.md)
+- `go.inferGopath`. See [GOPATH in VS Code](gopath.md)
 - `go.delveConfig`
      - `apiVersion`: Controls the version of delve apis to be used when launching the delve headless server. Default is 2.
      - `dlvLoadConfig`: Not applicable when `apiVersion` is 1. The configuration passed to delve. Controls [various features of delve](https://github.com/Microsoft/vscode-go/blob/0.6.85/package.json#L431-L468) that affects the variables shown in the debug pane.
@@ -205,7 +205,7 @@
 
 ### Debug the debugger using source code
 
-If you want to dig deeper and debug the debugger using source code of this extension, see [building-and-debugging-the-extension](Building,-Debugging-and-Sideloading-the-extension-in-Visual-Studio-Code#building-and-debugging-the-extension.md)
+If you want to dig deeper and debug the debugger using source code of this extension, see [building-and-debugging-the-extension](contributing.md#building-and-debugging-the-extension)
 
 ### Common issues
 
diff --git a/docs/Features-for-Go-in-VS-Code.md b/docs/features.md
similarity index 100%
rename from docs/Features-for-Go-in-VS-Code.md
rename to docs/features.md
diff --git a/docs/GOPATH-in-the-VS-Code-Go-extension.md b/docs/gopath.md
similarity index 100%
rename from docs/GOPATH-in-the-VS-Code-Go-extension.md
rename to docs/gopath.md
diff --git a/docs/Go-modules-support-in-Visual-Studio-Code.md b/docs/modules.md
similarity index 82%
rename from docs/Go-modules-support-in-Visual-Studio-Code.md
rename to docs/modules.md
index 3ce4da8..4eeb686 100644
--- a/docs/Go-modules-support-in-Visual-Studio-Code.md
+++ b/docs/modules.md
@@ -14,10 +14,10 @@
 
 * [Troubleshooting and reporting issues](https://golang.org/s/gopls/doc/troubleshooting.md)
 
-In addition to the Go language server, VS Code extension may use additional [Go tools](Go-tools-that-the-Go-extension-depends-on.md) to provide features like code navigation, code completion, build, lint etc. Some tools may not have a good support for Go modules yet. Please report [an issue](https://github.com/microsoft/vscode-go/issues/new) if you encounter problems.
+In addition to the Go language server, VS Code extension may use additional [Go tools](tools.md) to provide features like code navigation, code completion, build, lint etc. Some tools may not have a good support for Go modules yet. Please report [an issue](https://github.com/microsoft/vscode-go/issues/new) if you encounter problems.
 
 
-If you don't want to use the language server for any reason, then please know that not all the [Go tools](Go-tools-that-the-Go-extension-depends-on.md) that this extension depends on supports Go modules. https://golang.org/issues/24661 is the issue used by the Go tools team to track the update of Go modules support in various Go tools.
+If you don't want to use the language server for any reason, then please know that not all the [Go tools](tools.md) that this extension depends on supports Go modules. https://golang.org/issues/24661 is the issue used by the Go tools team to track the update of Go modules support in various Go tools.
 
 ## FAQ
 
diff --git a/docs/On-Save-features.md b/docs/on-save.md
similarity index 100%
rename from docs/On-Save-features.md
rename to docs/on-save.md
diff --git a/docs/Tasks-with-Go.md b/docs/tasks.md
similarity index 100%
rename from docs/Tasks-with-Go.md
rename to docs/tasks.md
diff --git a/docs/Go-tools-that-the-Go-extension-depends-on.md b/docs/tools.md
similarity index 100%
rename from docs/Go-tools-that-the-Go-extension-depends-on.md
rename to docs/tools.md
diff --git a/docs/Go-with-VS-Code-FAQ-and-Troubleshooting.md b/docs/troubleshooting.md
similarity index 93%
rename from docs/Go-with-VS-Code-FAQ-and-Troubleshooting.md
rename to docs/troubleshooting.md
index ad43f2c..b642e0b 100644
--- a/docs/Go-with-VS-Code-FAQ-and-Troubleshooting.md
+++ b/docs/troubleshooting.md
@@ -2,7 +2,7 @@
 
 **Q: I installed the plugin, but none of the features are working. Why?**
 
-**A:** Make sure to install all the dependent Go tools. Run `Go: Install/Update Tools`. If you want to install only selected tools, then go through the [Go tools that this plugin depends on](Go-tools-that-the-Go-extension-depends-on) and install the ones you need manually
+**A:** Make sure to install all the dependent Go tools. Run `Go: Install/Update Tools`. If you want to install only selected tools, then go through the [Go tools that this plugin depends on](tools.md) and install the ones you need manually
 
 If you see an error of the form `command <command-name-here> not found`, it means that the extension has failed to activate and register its commands. Please try to uninstall and re-install the extension.
 
@@ -43,15 +43,15 @@
 
 **Q: How does the plugin determine the GOPATH to use?**
 
-**A:** See [GOPATH in the VS Code Go extension](GOPATH-in-the-VS-Code-Go-extension.md)
+**A:** See [GOPATH in the VS Code Go extension](gopath.md)
 
 **Q: Does VS Code support Go modules?**
 
-**A:** See [Go modules support in VS Code](Go-modules-support-in-Visual-Studio-Code.md)
+**A:** See [Go modules support in VS Code](modules.md)
 
 **Q: Why is code navigation and code completion slow when using Go modules?**
 
-Please see [Go modules support in VS Code](Go-modules-support-in-Visual-Studio-Code.md)
+Please see [Go modules support in VS Code](modules.md)
 
 **Q: Can I use language server when using Go modules?**
 
@@ -118,4 +118,4 @@
 
 **Q: How do I get the features/bug fixes that are implemented but not released yet? How do I get the beta version of the Go extension?**
 
-**A:** See [Install the beta version](Use-the-beta-version-of-the-latest-Go-extension.md)
\ No newline at end of file
+**A:** See [Install the beta version](beta.md).
\ No newline at end of file
