blob: a2b1585bc935e40acfe984308db3880175e31a4c [file] [log] [blame] [view]
Ian Cottrell062dbae2019-05-09 10:35:27 -04001# Sublime Text
2
3Use the [LSP] package. After installing it using Package Control, do the following:
4
5* Open the **Command Palette**
6* Find and run the command **LSP: Enable Language Server Globally**
7* Select the **gopls** item. Be careful not to select the similarly named *golsp* by mistake.
8
9Finally, you should familiarise yourself with the LSP package's *Settings* and *Key Bindings*. Find them under the menu item **Preferences > Package Settings > LSP**.
10
David Chaseef977132021-06-04 13:08:32 -040011## Examples
12Minimal global LSP settings, that assume **gopls** and **go** appear on the PATH seen by Sublime Text:<br>
13```
14{
15 "clients": {
16 "gopls": {
17 "enabled": true,
18 }
19 }
20}
21```
22
23Global LSP settings that supply a specific PATH for finding **gopls** and **go**, as well as some settings for Sublime LSP itself:
24```
25{
26 "clients": {
27 "gopls": {
28 "enabled": true,
29 "env": {
30 "PATH": "/path/to/your/go/bin",
31 }
32 }
33 },
34 // Recommended by https://agniva.me/gopls/2021/01/02/setting-up-gopls-sublime.html
35 // except log_stderr mentioned there is no longer recognized.
36 "show_references_in_quick_panel": true,
37 "log_debug": true,
38 // These two are recommended by LSP-json as replacement for deprecated only_show_lsp_completions
39 "inhibit_snippet_completions": true,
40 "inhibit_word_completions": true,
41 }
42 ```
43
44LSP and gopls settings can also be adjusted on a per-project basis to override global settings.
45```
46{
47 "folders": [
48 {
49 "path": "/path/to/a/folder/one"
50 },
51 {
52 // If you happen to be working on Go itself, this can be helpful; go-dev/bin should be on PATH.
53 "path": "/path/to/your/go-dev/src/cmd"
54 }
55 ],
56 "settings": {
57 "LSP": {
58 "gopls": {
David Chased55d8922022-02-03 09:53:39 -050059 // To use a specific version of gopls with Sublime Text LSP (e.g., to try new features in development)
60 "command": [
61 "/path/to/your/go/bin/gopls"
62 ],
David Chaseef977132021-06-04 13:08:32 -040063 "env": {
64 "PATH": "/path/to/your/go-dev/bin:/path/to/your/go/bin",
65 "GOPATH": "",
66 },
67 "settings": {
68 "experimentalWorkspaceModule": true
69 }
70 }
71 },
72 // This will apply for all languages in this project that have
73 // LSP servers, not just Go, however cannot enable just for Go.
74 "lsp_format_on_save": true,
75 }
76}
77```
78
79Usually changes to these settings are recognized after saving the project file, but it may sometimes be necessary to either restart the server(s) (**Tools > LSP > Restart Servers**) or quit and restart Sublime Text itself.
80
Ian Cottrell062dbae2019-05-09 10:35:27 -040081[LSP]: https://packagecontrol.io/packages/LSP