# Modules Part 02: Projects, Dependencies and Gopls

DevFeed: [Modules Part 02: Projects, Dependencies and Gopls](<https://devfeed.tech/articles/modules-part-02-projects-dependencies-and-gopls-22154.md>)

Original publisher: [Read original article](<https://www.ardanlabs.com/blog/2019/12/modules-02-projects-dependencies-gopls.html>)

Published: 2019-12-02T00:00:00Z

Content type: tutorial

Language: en

Sources: [William Kennedy](<https://devfeed.tech/sources/william-kennedy.md>)

Topics: [modules](<https://devfeed.tech/topics/modules.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [vs-code](<https://devfeed.tech/topics/vs-code.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>)

Tags: [ardan-labs](<https://devfeed.tech/tags/ardan-labs.md>), [blog](<https://devfeed.tech/tags/blog.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [go](<https://devfeed.tech/tags/go.md>), [go-programming](<https://devfeed.tech/tags/go-programming.md>), [golang](<https://devfeed.tech/tags/golang.md>), [modules](<https://devfeed.tech/tags/modules.md>), [other](<https://devfeed.tech/tags/other.md>), [programming](<https://devfeed.tech/tags/programming.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [vs-code](<https://devfeed.tech/tags/vs-code.md>)

## AI overview

This tutorial explains how Go modules support dependency management and editor integration through gopls, a language server implementing the Language Server Protocol. It introduces the workflow for adding and removing project dependencies and describes the local module cache.

## Source excerpt

Series Index Why and What Projects, Dependencies and Gopls Minimal Version Selection Mirrors, Checksums and Athens Gopls Improvements Vendoring Introduction Modules is the system integrated into Go to provide support for dependency management. This means modules touch just about anything related to working with source code, including editor support. To provide editors with support for modules (and for other reasons), the Go team built a service named gopls which implements the language server protocol (LSP). LSP was originally developed by Microsoft for VS Code and has become an open standard. The idea of the protocol is to provide editors with support for language features such as auto complete, go to definition, and find all references.