Go extension for VS Code

Related tags

Editor vscode-go
Overview

Go for Visual Studio Code

Slack

The VS Code Go extension provides rich language support for the Go programming language.

Quick Start

Welcome! 👋🏻
Whether you are new to Go or an experienced Go developer, we hope this extension fits your needs and enhances your development experience.

  • Step 1. If you haven't done so already, install Go and the VS Code Go extension.
  • Step 2. To activate the extension, open any directory or workspace containing Go code. Once activated, the Go status bar will appear in the bottom left corner of the window and show the recognized Go version.
  • Step 3. The extension depends on a set of extra command-line tools. If they are missing, the extension will show the " ⚠️ Analysis Tools Missing" warning. Click the notification to complete the installation.


(Install Missing Tools)

You are ready to Go :-)    🎉 🎉 🎉

Please be sure to learn more about the many features of this extension, as well as how to customize them. Take a look at Troubleshooting and Help for further guidance.

If you are new to Go, this article provides the overview on Go code organization and basic go commands. Watch "Getting started with VS Code Go" for an explanation of how to build your first Go application using VS Code Go.

Features

This extension provides many features, including IntelliSense, code navigation, and code editing support. It also shows diagnostics as you work and provides enhanced support for testing and debugging your programs. See the full feature breakdown for more details and to learn how to tune its behavior.


(Code completion and Signature Help)

In addition to integrated editing features, the extension provides several commands for working with Go files. You can access any of these by opening the Command Palette (Ctrl+Shift+P on Linux/Windows and Cmd+Shift+P on Mac), and then typing in the command name. See the full list of commands provided by this extension.


(Toggle Test File)

⚠️ Note: the default syntax highlighting for Go files is provided by a TextMate rule embedded in VS Code, not by this extension.

Tools

The extension uses a few command-line tools developed by the Go community. In particular, go, gopls, and dlv must be installed for this extension to work correctly. See the tools documentation for a complete list of tools the extension depends on.

In order to locate these command-line tools, the extension searches GOPATH/bin and directories specified in the PATH environment variable (or Path on Windows) with which the VS Code process has started. If the tools are not found, the extension will prompt you to install the missing tools and show the " ⚠️ Analysis Tools Missing" warning in the bottom right corner. Please install them by responding to the warning notification, or by manually running the Go: Install/Update Tools command.

Setting up your workspace

Go modules are how Go manages dependencies in recent versions of Go. Modules replace the GOPATH-based approach to specifying which source files are used in a given build, and they are the default build mode in go1.16+. While this extension continues to support both Go modules and GOPATH modes, we highly recommend Go development in module mode. If you are working on existing projects, please consider migrating to modules.

Unlike the traditional GOPATH mode, module mode does not require the workspace to be located under GOPATH nor to use a specific structure. A module is defined by a directory tree of Go source files with a go.mod file in the tree's root directory.

Your project may involve one or more modules. If you are working with multiple modules or uncommon project layouts, you will need to configure your workspace by using Workspace Folders. Please see this documentation about supported workspace layouts.

Customization

The extension needs no configuration and should work out of the box. However, you may wish to adjust settings to customize its behavior. Please see the settings documentation for a comprehensive list of settings. See advanced topics for further customizations and unique use cases.

Troubleshooting

If the extension isn't working as you expect, you can take a look at our troubleshooting guides. There is one for general troubleshooting, and another specifically for troubleshooting the debugging feature.

Ask for help

If the troubleshooting guides did not resolve the issue, please reach out to us by filing an issue, starting a GitHub discussion, or by asking a question in the Gophers Slack. We hang out in the #vscode channel!

Also, you can take a look at learn.go.dev and golang.org/help for more general guidance on using Go.

Preview version

If you'd like to get early access to new features and bug fixes, you can use the nightly build of this extension. Learn how to install it in by reading the Go Nightly documentation.

Contributing

We welcome your contributions and thank you for working to improve the Go development experience in VS Code. If you would like to help work on the VS Code Go extension, please see our contribution guide. It explains how to build and run the extension locally, and describes the process of sending a contribution.

Code of Conduct

This project follows the Go Community Code of Conduct. If you encounter a conduct-related issue, please mail [email protected].

License

MIT

Comments
  • debugAdapter: add tests for remote attach scenarios

    debugAdapter: add tests for remote attach scenarios

    Fixes golang/vscode-go#779 by:

    • A test program that spins up a server at http://localhost:8080 to return helloworld.
    • Adding 4 remote attach tests:
    1. Attaching to a headless instance of Delve running the program. This tests that the initialization sequence up to configuration done request is good.
    2. Attaching with a breakpoint already set. This tests that the breakpoint is hit when we hit the program's URL.
    3. Attaching without any breakpoint and set the breakpoint afterwards. This tests that the breakpoint is hit when we hit the program's URL.
    4. Test that the program still runs after we disconnect from it.
    cla: yes 
    opened by quoctruong 59
  • debugAdapter: Fix bugs that cause remote debug to hang

    debugAdapter: Fix bugs that cause remote debug to hang

    The issues being fixed in this PR:

    1. There are instances where we are issuing a blocking call to Delve while it is running. That blocks subsequent requests to Delve and can cause the debugger to appear as hanged. Hence, we will need to check Delve's debug state before issuing blocking request in stacktraceRequest and threadsRequest (fixes golang/vscode-go#740).

    2. When disconnecting, multiple requests disconnectRequest can be received. Subsequent disconnectRequest should not invoke Delve through the JSON RPC connection again as this may already be closed so we need to guard against that (fixes golang/vscode-go#766).

    3. Also, even if Delve is blocked in disconnectRequest, disconnectResponse should always be sent back to VSCode after a period of time. Otherwise, in the case of Theia in particular, users will not be able to reset (fixes golang/vscode-go#761).

    4. In close function of Delve class, we are not resolving a promise in the case of remote debugging and this causes the close function to hang and not send the disconnectResponse back (fixes golang/vscode-go#764).

    5. Add more logging to help us easily debug similar scenarios in the future (fixes golang/vscode-go#763).

    Repro

    1. Clones a Go program (for example: https://github.com/GoogleCloudPlatform/cloud-code-samples/tree/master/golang/go-hello-world).
    2. Runs the program in Delve through a terminal: dlv debug --continue --accept-multiclient --api-version=2 --headless --listen=:3456 --log
    3. Connect to it by creating a configuration:
            {
                "name": "Connect to server",
                "type": "go",
                "request": "attach",
                "mode": "remote",
                "remotePath": "${workspaceFolder}",
                "port": 3456,
                "host": "127.0.0.1",
                "cwd": "${workspaceFolder}"
            }
    
    1. Sets a breakpoint and sees that it's not working.
    2. Disconnecting also does not work.
    cla: yes release-blocker 
    opened by quoctruong 57
  • Frequent pop-up on save:

    Frequent pop-up on save: "Getting code actions: Go, Go, ..."

    Copied from https://github.com/microsoft/vscode-go/issues/3179:

    If you encounter this issue, please try the following steps to troubleshoot:

    1. Check your other installed extensions and see if disabling them but the Go extension helps. Go Group Imports, Spell Right, and Go Test Explorer have both been identified as causing slow saves.
    2. Your workspace may have errors which are causing gopls to be slow. Capture your gopls logs (instructions) and post them in a new issue (if you're able to share them). Detailed gopls logs are best, so please add -rpc.trace to go.languageServerFlags.

    For reference, this bug is referring to an error that appears like this:

    79361744-b837eb00-7f13-11ea-8bae-9683b4b61afc

    This issue consolidates https://github.com/microsoft/vscode-go/issues/3179, https://github.com/microsoft/vscode-go/issues/3063, https://github.com/microsoft/vscode-go/issues/3105, https://github.com/microsoft/vscode-go/issues/3141, https://github.com/microsoft/vscode-go/issues/3170, etc.

    upstream-tools FrozenDueToAge 
    opened by stamblerre 53
  • package.json: add support for replay and core debug modes

    package.json: add support for replay and core debug modes

    New launch modes: replay and core

    The following modes are added:

    • replay: Replays an rr trace, allowing backwards flows (reverse continue and stepback). Requires a traceDirPath property on launch.json pointing to a valid rr trace directory. Equivalent to dlv replay <tracedir> command.
    • core: Replays a core dump file, showing its callstack and the file matching the callsite. Requires a coreFilePath property on launch.json pointing to a valid coredump file. Equivalent to dlv core <exe> <corefile> command.

    With the new dap service, most of the heavy work will go to delve, so this PR mainly involves getting around passing the corresponding launchArgs to delve. It´s service counterpart lies on https://github.com/go-delve/delve/pull/2367

    Fixes #168 Fixes #1243 Updates #110

    cla: yes 
    opened by lggomez 44
  • src/goTestExplorer: implement a test provider for the new test api

    src/goTestExplorer: implement a test provider for the new test api

    What this does:

    • Implements a test provider using the new API
    • Populates the test explorer with a list of modules and/or workspaces
    • Populates each module/workspace/package/file as it is expanded
    • Creates test entries for the current file, and package/module parents
    • Runs tests!

    What this does not:

    • Debug tests
    • Handle stretchr suites

    Issues:

    • Handling of benchmarks isn't great. But I'm not sure it can get much better without changes to go test.
    • If a test has subtests, I add those subtests. This can get annoying if you have a bunch of subtests. Should this be configurable? Disabling testing.followRunningTest can improve this UX.

    Fixes golang/vscode-go#1579

    cla: yes 
    opened by firelizzard18 42
  • debug: abiltiy to debug with root privileges

    debug: abiltiy to debug with root privileges

    Add ability to debug with Delve with sudo flag. Similar as it it done for Python: https://code.visualstudio.com/docs/python/debugging#_sudo

    It is needed to debug modules that require root access, i.e. gopacket/pcap to capture traffic.

    Debug 
    opened by dzvancuks 35
  • debug: use Delve's DAP implementation

    debug: use Delve's DAP implementation

    Delve supports debug adapter protocol natively (dlv dap). https://github.com/go-delve/delve/tree/master/service/dap

    Implement the debug feature using it and deprecate the dlv wrapper (src/debug/goDebug.ts).

    @polinasok @quoctruong @ramya-rao-a

    Debug FrozenDueToAge 
    opened by hyangah 33
  • debugAdapter: add go module name check

    debugAdapter: add go module name check

    This change modifies the extension to check for the go module name matching before setting a breakpoint. The bug this is trying to address (summed up by @hyangah):

    In the go-guestbook sample, there are two go programs (frontend/main.go and backend/main.go). They will start in separate containers - each of which builds main.go by copying the code into a work directory and running go build there. The frontend and the backend happen to be in different modules in this sample.

    VS Code supports debugging two binaries together - a user can set breakpoints in both frontend/main.go and backend/main.go. VS Code by design sends breakpoint requests for all the files to all the debug adapters.

    Since we cannot make any assumption on where the source code is copied in the remote container (i.e. in the sample, frontend/main.go is copied to /app/frontend/main.go, but it's also possible that the user just copy the source code to /app and build the binary from /app), the debug adapter tries to find the best match by doing some sort of longest suffix matching.

    So, this longest suffix matching will end up associating /app/frontend/main.go on the remote frontend container with both frontend/main.go and backend/main.go in this specific example. As a result, the breakpoints set in backend/main.go will apply to the frontend/main.go.

    cla: yes 
    opened by quoctruong 32
  • debug: implement new prototype thin DA for delve

    debug: implement new prototype thin DA for delve

    Updates golang/vscode-go#23

    This DA serves as a DAP proxy between the editor and a DAP-capable Delve. Right now all it does is launch Delve (in DAP mode) when LaunchRequest is received from the editor, and then relays all messages between the editor and Delve back and forth.

    package.json section is copied from the current DA as-is. Some of its options will be removed and cleaned up in the subsequent PRs to make the diffs more obvious (see golang/vscode-go#271).

    cla: yes 
    opened by eliben 32
  • Failed to find the

    Failed to find the "go" binary from PATH

    What version of Go, VS Code & VS Code Go extension are you using?

    • Run go version to get version of Go
      • go version go1.15.2 darwin/amd64
    • Run code -v or code-insiders -v to get version of VS Code or VS Code Insiders
      • 1.51.1 e5a624b788d92b8d34d1392e4c4d9789406efe8f x64
    • Check your installed extensions to get the version of the VS Code Go extension
      • v0.18.1
    • Run go env to get the go development environment details
      • GO111MODULE="" GOARCH="amd64" GOBIN="" GOCACHE="/Users/ss/Library/Caches/go-build" GOENV="/Users/ss/Library/Application Support/go/env" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOINSECURE="" GOMODCACHE="/Users/ss/go/pkg/mod" GONOPROXY="" GONOSUMDB="" GOOS="darwin" GOPATH="/Users/ss/go" GOPRIVATE="" GOPROXY="https://proxy.golang.org,direct" GOROOT="/usr/local/Cellar/go/1.15.2/libexec" GOSUMDB="sum.golang.org" GOTMPDIR="" GOTOOLDIR="/usr/local/Cellar/go/1.15.2/libexec/pkg/tool/darwin_amd64" GCCGO="gccgo" ...

    Share the Go related settings you have added/edited

    None.

    Describe the bug

    Every time I restart vscode, it shows: Failed to find the "go" binary in either。GOROOT() or PATH(/usr/bin:/bin:/usr/sbin:/sbin). Check PATH, or Install Go and reload the window.

    It seems the PATH(/usr/bin:/bin:/usr/sbin:/sbin) from the message is not my actual path:

    $ cat /etc/paths
    /usr/local/bin
    /usr/bin
    /bin
    /usr/sbin
    /sbin
    $ echo $PATH
    /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
    $ which go
    /usr/local/bin/go
    

    And if I manually did Developer: reload window once after terminal started, it would work without errors.

    Steps to reproduce the behavior:

    1. Clear all settings about go in vscode, make it all defaults
    2. Make sure your executable go not in /usr/bin:/bin:/usr/sbin:/sbin
    3. Add sleep 15 to ~/.bash_profile to make terminal very slow to up
    4. Restart vocode

    Screenshots or recordings

    Screen Shot 2020-11-27 at 16 24 26

    Refs may help:

    • https://github.com/microsoft/vscode/issues/108804
    • https://github.com/microsoft/vscode/issues/108003
    opened by up9cloud 31
  • debug: support

    debug: support "console" property in launch.json (RunInTerminal)

    From https://github.com/microsoft/vscode-go/issues/843

    Please support "console" Property in launch.json, which have "none", "integratedTerminal", "externalTerminal" three Value like python's, and I can debug my go project at outside console and also support standard input.

    This feature request has a lot of upvotes https://github.com/microsoft/vscode-go/issues/843, please follow the discussion there for more context and user scenarios where this feature would be relevant

    FeatureRequest Debug 
    opened by ramya-rao-a 29
  • gopls: automated issue report (crash)

    gopls: automated issue report (crash)

    gopls version: v0.11.0 (go1.19.2) gopls flags: update flags: proxy extension version: 0.37.0 go version: 1.19.2 environment: Visual Studio Code linux initialization error: undefined issue timestamp: Tue, 03 Jan 2023 13:50:57 GMT restart history: Tue, 03 Jan 2023 12:08:08 GMT: activation (enabled: true) Tue, 03 Jan 2023 12:19:48 GMT: installation (enabled: true)

    ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

    Describe what you observed.

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x30 pc=0xb8307d]
    
    goroutine 167 [running]:
    golang.org/x/tools/gopls/internal/lsp/mod.hoverOnModuleStatement({0x10e0860%3F, 0xc0004cbef0%3F}, 0xc0004cbef0%3F, 0x10e0ac8%3F, {0x10ecbd8%3F, 0xc00040e840%3F}, {0x10e0ac8%3F, 0xc0003fd490%3F})
    	  hover.go:128  0x5d
    golang.org/x/tools/gopls/internal/lsp/mod.Hover({0x10e07b8, 0xc000388140}, {0x10ecbd8, 0xc00040e840}, {0x10e0ac8, 0xc0003fd490}, {0x4cbe30%3F, 0xc0%3F})
    	  hover.go:50  0x35f
    golang.org/x/tools/gopls/internal/lsp.(*Server).hover(0xcfcce0%3F, {0x10e07b8, 0xc000388140}, 0xc0004cbe30)
    	  hover.go:25  0x152
    golang.org/x/tools/gopls/internal/lsp.(*Server).Hover(0xc000266070%3F, {0x10e07b8%3F, 0xc000388140%3F}, 0xcfcce0%3F)
    	  server_gen.go:140  0x25
    golang.org/x/tools/gopls/internal/lsp/protocol.serverDispatch({0x10e07b8, 0xc000388140}, {0x10f05a0, 0xc000166500}, 0xc0004cbe00, {0x10e0ba8, 0xc0003880c0})
    	  tsserver.go:397  0xca6
    golang.org/x/tools/gopls/internal/lsp/protocol.ServerHandler.func1({0x10e07b8, 0xc000388140}, 0xc0004cbe00, {0x10e0ba8, 0xc0003880c0})
    	  protocol.go:157  0x90
    golang.org/x/tools/gopls/internal/lsp/lsprpc.handshaker.func1({0x10e07b8, 0xc000388140}, 0xc0004cbe00, {0x10e0ba8%3F, 0xc0003880c0%3F})
    	  lsprpc.go:519  0xa39
    golang.org/x/tools/internal/jsonrpc2.MustReplyHandler.func1({0x10e07b8, 0xc000388140}, 0xc0004cd4d0, {0x10e0ba8%3F, 0xc0003880c0%3F})
    	  handler.go:35  0xf6
    golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1.2()
    	  handler.go:103  0xa3
    created by golang.org/x/tools/internal/jsonrpc2.AsyncHandler.func1
    	  handler.go:100  0x20a
    [Error - 5:20:53 PM] 

    OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.

    NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE. DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.

    <OPTIONAL: ATTACH LOGS HERE>

    opened by aliyadollahi 0
  • gopls: automated issue report (crash)

    gopls: automated issue report (crash)

    gopls version: v0.10.1 (go1.19.3) gopls flags: update flags: local extension version: 0.37.0 go version: 1.19.3 environment: Visual Studio Code linux initialization error: undefined issue timestamp: Fri, 30 Dec 2022 11:31:39 GMT restart history: Fri, 30 Dec 2022 11:21:16 GMT: activation (enabled: true)

    ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

    Describe what you observed.

    Please attach the stack trace from the crash. A window with the error message should have popped up in the lower half of your screen. Please copy the stack trace and error messages from that window and paste it in this issue.

    Failed to auto-collect gopls trace: no gopls log.

    OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.

    NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE. DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.

    <OPTIONAL: ATTACH LOGS HERE>

    WaitingForInfo automatedReport 
    opened by kohjt 1
  • gopls: automated issue report (youtube)

    gopls: automated issue report (youtube)

    gopls version: v0.10.1 (go1.19.3) gopls flags: update flags: local extension version: 0.37.0 go version: 1.19.3 environment: Visual Studio Code - Insiders linux initialization error: undefined issue timestamp: Thu, 29 Dec 2022 12:04:16 GMT restart history: Thu, 29 Dec 2022 11:40:49 GMT: activation (enabled: true)

    ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

    Describe what you observed.

    Please attach the stack trace from the crash. A window with the error message should have popped up in the lower half of your screen. Please copy the stack trace and error messages from that window and paste it in this issue.

    Failed to auto-collect gopls trace: unrecognized crash pattern.

    OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.

    NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE. DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.

    <OPTIONAL: ATTACH LOGS HERE>

    WaitingForInfo 
    opened by Ayaankhan47114 1
  • gopls: automated issue report (crash)

    gopls: automated issue report (crash)

    gopls version: v0.11.0 (go1.16.15) gopls flags: update flags: proxy extension version: 0.37.0 go version: 1.16.15 environment: Visual Studio Code linux initialization error: undefined issue timestamp: Thu, 29 Dec 2022 08:18:27 GMT restart history: Thu, 29 Dec 2022 07:39:24 GMT: activation (enabled: true)

    ATTENTION: PLEASE PROVIDE THE DETAILS REQUESTED BELOW.

    Describe what you observed.

    Please attach the stack trace from the crash. A window with the error message should have popped up in the lower half of your screen. Please copy the stack trace and error messages from that window and paste it in this issue.

    Failed to auto-collect gopls trace: unrecognized crash pattern.

    OPTIONAL: If you would like to share more information, you can attach your complete gopls logs.

    NOTE: THESE MAY CONTAIN SENSITIVE INFORMATION ABOUT YOUR CODEBASE. DO NOT SHARE LOGS IF YOU ARE WORKING IN A PRIVATE REPOSITORY.

    <OPTIONAL: ATTACH LOGS HERE>

    WaitingForInfo 
    opened by tracyliangTX 1
  • 增加依赖库显示

    增加依赖库显示

    Type: Feature Request

    增加依赖库显示

    依赖库 有时会有问题,需要导到本地修改,这边导到本地得自己找所以需要依赖库显示,方便拿出来

    Extension version: 0.37.0 VS Code version: Code 1.74.2 (e8a3071ea4344d9d48ef8a4df2c097372b0c5161, 2022-12-20T10:29:14.590Z) OS version: Windows_NT x64 10.0.19042 Modes: Sandboxed: Yes

    opened by yupor5 1
  • staticcheck: v0.3.3 or older will not work with go1.20

    staticcheck: v0.3.3 or older will not work with go1.20

    As reported in https://github.com/dominikh/go-tools/issues/1342 https://github.com/dominikh/go-tools/issues/1343.

    The version compatible with go1.20 is not yet released.

    opened by hyangah 2
Releases(v0.37.0)
  • v0.37.0(Dec 19, 2022)

    v0.37.0 - 19 Dec, 2022

    This release includes new static analysis features that report known vulnerabilities in your dependencies. These vulncheck analysis tools are backed by Go's vulnerability database and the Go language server's integration of govulncheck. Read Go's support for vulnerability management to learn about the Go team's approach to helping Go developers secure their open-source dependencies.

    https://user-images.githubusercontent.com/4999471/206977512-a821107d-9ffb-4456-9b27-6a6a4f900ba6.mp4

    Changes

    • The new "Go: Toggle Vulncheck" command enables/disables imports-based vulnerability analysis. This requires gopls v0.11.0 or newer.
    • Test and debug test code lenses are added to some subtests if the test names can be determined. (Issue 2536)
    • Gopls settings was updated to match [email protected].
    • "go.formatTool" setting accepts a special value "custom", which causes the extension to use the custom formatter configured with the setting "go.alternateTools": { "customFormatter": <your custom tool name> }. (Issue 2503)
    • The experimental "Go: Run Vulncheck (exp)" command was removed.
    • The extension no longer bypasses Delve's Go version check by default. Users must install the delve version compatible with their Go version, or explicitly configure their launch configuration to pass the --check-go-version=false flag using the dlvFlags attribute. (Go Delve Issue 3058)

    Fixes

    • The editor survey prompt logic was adjusted for uniform sampling. (Issue 2545)
    • Fixed the crash bug when handling coverage profiles involving go //line-directive. (Issue 2453)
    • Updated dependencies to address CVE-2022-37603 and CVE-2022-24999.

    Thanks

    Thank you for your contribution, @devuo, @pjweinbgo, @aarzilli, @tklauser, @hyangah, @suzmue, @jamalc!

    Source code(tar.gz)
    Source code(zip)
    go-0.37.0.vsix(805.67 KB)
  • v0.37.0-rc.1(Dec 14, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.37.0

    • Commits: https://github.com/golang/vscode-go/compare/v0.36.0...v0.37.0-rc.1

    • Change Log: https://github.com/golang/vscode-go/blob/master/CHANGELOG.md#v0370---19-dec-2022

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.37.0-rc.1.vsix(805.68 KB)
  • v0.36.0(Nov 7, 2022)

    v0.36.0 - 7 Nov, 2022

    A list of all issues and changes can be found in the v0.36.0 milestone and commit history.

    Changes

    • From this release, the extension will download specific versions of 3rd party tools installed with the "Go: Install/Update Tools" command. This is to enhance stability and security. The "Go: Install/Upate Tools" command will present the versions the extension will install. To install a different version of a tool, use go install command from the terminal instead. (Issue 1850)
    • The default gopls version was updated to v0.10.1 and the settings were updated accordingly. See the release note of gopls v0.10.0 to learn about notable changes and new features.
    • Typing vars will now offer a completion snippet that expands it to a var (...) block containing multiple variables. (PR 2481)
    • The setting to enable the "references" codelens, go.enableCodeLens.references, is now hidden. The feature remained broken for a while, so we plan to remove it in a future release. Please see Issue 2509 for details.
    • When debugging tests, the extension will open the "Debug Console". (Issue 2409)

    Fixes

    • Fixed Issue 2525 that prevented triggering of parameter hints after method autocompletion. Users can enable/disable this parameter hints popup with the "editor.parameterHints.enabled" setting.
    • Fixed test profie feature (CL 440530).
    • Removed dev dependency affected by CVE-2022-3517.

    Thanks

    Thank you for your contribution, @suzmue, @fatoboist, @cuishuang, @jamalc, @karthikraobr, @pjweinbgo, @firelizzard18, @hyangah!

    Source code(tar.gz)
    Source code(zip)
    go-0.36.0.vsix(808.00 KB)
  • v0.36.0-rc.1(Nov 3, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.36.0

    • Commits: https://github.com/golang/vscode-go/compare/v0.35.2...v0.36.0-rc.1

    • Change Log: https://github.com/golang/vscode-go/blob/master/CHANGELOG.md#v0360---4-nov-2022

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.36.0-rc.1.vsix(808.01 KB)
  • v0.35.2(Aug 16, 2022)

  • v0.35.2-rc.1(Aug 15, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.35.2

    • Commits: https://github.com/golang/vscode-go/compare/<previous_version>...v0.35.2-rc.1

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.35.2-rc.1.vsix(756.20 KB)
  • v0.35.1(Jul 19, 2022)

  • v0.35.0(Jul 18, 2022)

    v0.35.0 - 18 July, 2022

    A list of all issues and changes can be found in the v0.35.0 milestone and commit history.

    Features

    • This release adds support for inlay hints (Issue 1631).

    inlayhings-new

    • Add logic to support ${workspaceFolderBasename} substitution in extension settings (Issue 2310).
    • Add support for multi-file test suite (Issue 1130).
    • Add support for custom formatters.

    Bug Fix

    • Fixed (Issue 2339) that prevented updating delve on arm64 Macs.

    Thanks

    Thank you for your contribution, @hyangah, @nirhaas, @bentekkie, @jamalc, and @suzmue.

    Source code(tar.gz)
    Source code(zip)
    go-0.35.0.vsix(755.58 KB)
  • v0.35.0-rc.3(Jul 14, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.35.0

    • Commits: https://github.com/golang/vscode-go/compare/v0.34.1...v0.35.0-rc.1

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.35.0-rc.3.vsix(755.59 KB)
  • v0.34.1(Jun 30, 2022)

  • v0.34.1-rc.2(Jun 29, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.34.1

    • Commits: https://github.com/golang/vscode-go/compare/v0.34.0...v0.34.1-rc.1

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.34.1-rc.2.vsix(753.69 KB)
  • v0.34.0(Jun 21, 2022)

    v0.34.0 - 22 June, 2022

    This release adds support for LSP 3.17 and requires Visual Studio Code 1.67+.

    Features

    This release includes improvements to the Go: Run Vulncheck (Experimental) command (Issue 2185, 2186, 2214). Use it to find security issues in your dependencies.

    Documentation

    Documentation for vscode-go can now be found on the wiki (Issue 2094).

    Thanks @thediveo for updating the debugging documentation!

    Bug Fixes

    TestMain(m *testing.M) is no longer treated as a test (Issue 482, 2039)

    Code Health

    • Enabled strict type checking (Issue 57)
    • Updated release notes generation script to improve release process automation
    • Fixed bugs in testing

    Thanks

    Thank you for your contribution, @hyangah, @jamalc, @polinasok, @suzmue, @thediveo, and @dle8!

    Source code(tar.gz)
    Source code(zip)
    go-0.34.0.vsix(753.54 KB)
  • v0.34.0-rc.2(Jun 17, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.34.0

    • Commits: https://github.com/golang/vscode-go/compare/v0.33.1...v0.34.0-rc.2

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.34.0-rc.2.vsix(753.55 KB)
  • v0.34.0-rc.1(Jun 10, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.34.0

    • Commits: https://github.com/golang/vscode-go/compare/v0.33.1...v0.34.0-rc.1

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.34.0-rc.1.vsix(753.37 KB)
  • v0.33.1(May 24, 2022)

  • v0.33.1-rc.1(May 24, 2022)

    • Milestone: https://github.com/golang/vscode-go/issues?q=milestone%3Av0.33.1

    • Commits: https://github.com/golang/vscode-go/compare/v0.33.0...v0.33.1-rc.1

    • How to test prerelease

      • Download the .vsix file from this Releases page.
      • Navigate to the Extensions view in VS Code (Ctrl+Shift+X). Click on the "..." in the top-right corner, select "Install from VSIX", and select the .vsix file you downloaded. Alternatively, you can run code --install-extension Go-latest.vsix or open the Command Palette and run the "Extensions: Install from VSIX..." command.
      • If prompted, reload VS Code.
    Source code(tar.gz)
    Source code(zip)
    go-0.33.1-rc.1.vsix(728.63 KB)
  • v0.33.0(May 2, 2022)

    v0.33.0 - 1 May 2022

    📣 Remote attach debugging is now available via Delve's native DAP implementation with Delve v1.7.3 or newer. It is now the default with the Go Nightly and will become the default for the stable releases in mid 2022.

    Changes

    • staticcheck: if go 1.16.x or older is used in installing tools, the extension chooses [email protected]. In order to use the latest version of staticcheck while working on projects that require older versions of go, you can utilize the "go.toolsManagement.go" setting to specify a newer version of go for tool installation. (Issue 2162)

    • go-outline: go-outline is no longer required when gopls (v0.8.2+) is used.

    • Activation: the extension defers commands and feature provider registrations until it runs go version and go env, and starts gopls. This change prevent the extension prematually export its features, but may result in a slight increase in extension activation time if those commands run slow.

    • Survey: we show the Gopls opt-out survey prompt only when users change the setting to disable gopls.

    • Test Explorer: fixed a bug in go.mod file parsing (Issue 2171)

    • Debugging: we removed the informational popup at the start of remote attach session with dlv-dap. (Issue 2018)

    Experimental features

    This version includes two highly experimental features. They are still in early stage and we are looking forward to hearing more user feedback.

    https://user-images.githubusercontent.com/4999471/166291768-b7a78776-6fe5-4e4c-afa5-4db44cfced96.mov

    (Demo: Using the Go Explorer view UI to quickly change GOOS setup)

    • Go: Run Vulncheck (Experimental) command: it runs the govulncheck command embedded in gopls, which identifies known vulnerabilities by call graph traversal and module dependency analysis. (Issue 2096)

    Thanks

    @jamalc, @polinasok, @dlipovetsky, @vladdoster, @suzmue, @hyangah

    Source code(tar.gz)
    Source code(zip)
    go-0.33.0.vsix(728.25 KB)
  • v0.32.0(Mar 8, 2022)

    v0.32.0 - 8 Mar, 2022

    This version includes features to enhance Go 1.18 support. It works best when paired with the latest Go Language Server (gopls v0.8.0+) and Delve (dlv v1.8.0+).

    Go 1.18 introduces substantial changes to the language spec, so many tools need rebuilding with Go 1.18 or newer. The extension now suggests updates of tools if it finds they were built with old versions of go which are inadequate for the version used for the project. If you opted in for auto-update, tools will be auto-updated.

    In order to use Go 1.18, please follow the instruction to configure your Visual Studio Code to locate the right go binary, and run the Go tools using the "Go: Install/Update Tools" command.

    A list of all issues and changes can be found in the v0.32.0 milestone and commit history.

    Changes

    • Starting with Go 1.18, the go command provides native support for multi-module workspaces, via go.work files. The new "Open 'go.work'" option in the Go status bar's quickpick menu allows users to access the corresponding go.work file. go work short

    • The extension no longer depends on gopkgs. Its use for "Go: Browse Packages" and "Go: Add Import" commands had been replaced with go list or commands in gopls. (Issue 258)

    • The extension uses gopls instead of go-outline if gopls v0.8.0 or newer is used. We plan to complete the replacement work in the next release. (Issue 1020)

    • The new "go.toolsManagement.go" setting allows users to specify the Go command for tools installation/updates separate from the Go command used for the project.

    • The latest gopls requires go 1.13+ for installation, so the extension no longer asks for gopls updates when an older versions of go is used. (Issue 2030) Note gopls compiled with go 1.13 or newer can still process projects that use go 1.12. In case, you want to update gopls while working with an older version of Go, utilize the new "go.toolsManagement.go" setting.

    • Reduced the verbosity of "Go: Locate Configured Go Tools" output.

    Code Health

    • Updated to [email protected] (CVE-2021-23566).
    • Deflaked debug tests.
    • Changed to check go.dev/dl instead of golang.org/dl for Go release.
    • Improved documentation for the default formatting behavior and template support.

    Thanks

    @jamalc @suzmue @pavlelee @dekimsey @hyangah

    Source code(tar.gz)
    Source code(zip)
    go-0.32.0.vsix(761.49 KB)
  • v0.31.1(Feb 9, 2022)

  • v0.31.0(Jan 26, 2022)

    v0.31.0 - 26 Jan, 2022

    A list of all issues and changes can be found in the v0.31.0 milestone and commit history.

    Fixes

    • src/goStatus: assign id/name to each status bar item (Issue 1571)
    • Change go template file language id to gotmpl (Issue 1957)

    Debugging

    Test Explorer

    • src/goTest: don't resolve tests in virtual files
    • src/goTest: fix output for subtests (Issue 1837)

    Development Process Updates

    • Recommend that contributers use npm ci instead of npm install when developing vscode-go (Issue 2010)
    • test: use @vscode/test-electron instead of vscode-test
    • go.mod: update imports to latest versions
    • package.json: pin direct dependencies (Issue 2010)
    • Enable tests with go1.18beta1 (Issue 1950)

    Thanks

    Thank you for your contribution, @firelizzard18, @hyangah, @jamalc, @polinasok, @TheNagaPraneeth, @suzmue!

    Source code(tar.gz)
    Source code(zip)
    go-0.31.0.vsix(759.87 KB)
  • v0.30.0(Dec 16, 2021)

    v0.30.0 - 16 Dec, 2021

    📣 Remote attach debugging is now available via Delve's native DAP implementation with Delve v1.7.3 or newer. We plan to enable this as the default in early 2022 to enhance remote debugging with the same debugging features that are already in use for local debugging. We recommend switching your remote attach configurations in launch.json to use "debugAdapter":"dlv-dap" now to verify that this works for you. Please file a new issue if you encounter any problems.

    Full list of all issues and changes can be found in the v0.30.0 milestone and commit history.

    Changes

    • Debugging

      • dlv-dap is pinned at @2f136727.
      • Remote debugging support using dlv-dap is available.
        Please follow the instruction to enable remote debugging using dlv-dap. (Issue 1861)
      • Launch configuration:
      • Runtime frames are no longer deemphasized. (Issue 1916)
      • Logpoints support is available. (Issue 123)
      • DEBUG CONSOLE accepts the new dlv command that allows users to dynamically inspect/adjust debug configuration. Please run dlv help from DEBUG CONSOLE to see the list of supported options.
      • Bug fixes:
        • Correctly infer mode for attach requests. (Issue 1929)
        • Stop debugging when delve remote connection ends in legacy remote debugging. (CL 366936)
        • Allow users to debug with older versions of dlv-dap. (Issue 1814)
    • Enabled Go template file processing. (Issue 609) By default, files with .tmpl and .gotmpl extension are treated as Go template files.

    • Include Fuzz* functions in Testing UI and adds test codelens. (Issue 1794)

    • gofumports is pinned at v0.1.1. We plan to remove it from the recognized formatter tool list since gofumports is officially deprecated early next year.

    • Disabled separate linting if gopls's 'staticcheck' is enabled. (Issue 1867)

    • Updated the in-editor user survey URL. (CL 360775)

    • Limited Go file search scope for extension activation (Issue 1894)

    • Code Health

      • Enabled esModuleInterop. (CL 349170)
      • Bumped TS target to ES2017. (Issue 1712)
      • Updated json-schema to 0.4.0

    Thanks

    Thank you for your contribution, @polinasok, @suzmue, @firelizzard18, @hashedhyphen, @fengwei2002, @devuo, @fflewddur, @hyangah

    Source code(tar.gz)
    Source code(zip)
    go-0.30.0.vsix(742.53 KB)
  • v0.29.0(Oct 27, 2021)

    v0.29.0 - 26 Oct, 2021

    A list of all issues and changes can be found in the v0.29.0 milestone and commit history.

    Changes

    • Prompt users for the 2021 Go Developer survey. go.survey.prompt is a new setting to control survey prompts.
    • Use go install for tools installation when using go1.16+. From go1.18, go get will no longer build/install tools. See the deprecation notice. (Issue 1825) The extension runs go install from the workspace root directory, and the old workaround for Issue 757 is unnecessary.
    • Language Server:
      • Print all GOPATHs when there are multiple GOPATHs. (Issue 1848)
      • Synced settings @ gopls/v0.7.3
    • "Go: Generate Interface Stubs" allows '-' as an acceptable char for interface names. (Issue 1670)
    • Test UX: pprof
    • Debug:
      • Added showLog/logOutput/dlvFlags to go.delveConfig setting that change the default values for them. (Issue 1723)
      • Handle directory with '.' in its name correctly and warn users for invalid program (Issue 1826, 1769)

    Thanks

    Thank you for your contribution, @firelizzard18, @Zamiell, @mislav, @polinasok, @hyangah, @stamblerre, @suzmue, and @yinheli!

    Source code(tar.gz)
    Source code(zip)
    go-0.29.0.vsix(739.22 KB)
  • v0.28.1(Sep 24, 2021)

  • v0.28.0(Sep 20, 2021)

    v0.28.0 - 16 Sep, 2021

    This version requires VS Code 1.59 or newer.

    🎉🧪 The extension implements the Testing API of VS Code. You can navigate and run/profile tests using the test explorer UI! Windows support and further work for better profiling and debugging support through the test explorer is underway. Please give it a try and provide feedback.

    A list of all issues and changes can be found in the v0.28.0 milestone and commit history.

    Changes

    • Require VS Code engine 1.59+.
    • Implement the Testing API (Issue 1579). The test provider discovers all Go tests and benchmarks including stretchr test suits (Issue 1641) and sub-tests (Issue 1641). You can adjust behavior with the go.testExplorer.* settings.
    • Offer basic profiling support through the testing API. (Issue 1685)
    • Debugging
      • Allow to connect to a Delve DAP server running on a different host using host and port launch properties. (Issue 1729)
      • Disabled check for active debug session (Issue 1710). This will allow to run multiple debug sessions simultaneously.
      • Disabled the go version check by supplying the --check-go-version=false delve flag (Issue 1716). This is to allow users of older versions of Go to debug using Delve DAP which requires Delve 1.6.1 or newer. If you need to use Delve 1.6.0 or older, please use the legacy debug adapter.
      • Fixed a legacy debug adapter's bug that broke remote debugging when breakpoints were set in irrelevant files. (Issue 1762)
      • Added the new FAQs section.
    • Removed tools version check hack that triggerred unnecessary warnings about go and tools version mismatch issues (Issue 1698).
    • Export an API with which other extensions can query the location of go tools. (Issue 233)
    • Fixed regexps for test function names (CL 344130).
    • Track the language server's restart history and include it in the automated gopls crash report (CL 344130).
    • Code Health

    Thanks

    Thank you for your contribution, @nlepage, @180909, @polinasok, @stamblerre , and @suzmue! Special thanks to @firelizzard18 for the Test Explorer work!

    Source code(tar.gz)
    Source code(zip)
    go-0.28.0.vsix(735.43 KB)
  • v0.27.2(Sep 1, 2021)

    v0.27.2 - 1st Sep, 2021

    A list of all issues and changes can be found in the v0.27.2 milestone and commit history.

    Enhancement

    • Supports replay and core debug launch modes. (PR 1268)
    • gopls now watches changes in go.work files to support Go Proposal 45713.

    Fixes

    • Fixed issues around building binaries for debugging when symlinks or case-insensitive file systems are involved. (Issues 1680, 1677, 1713)
    • Clarified the dlvLoadConfig setting is no longer necessary with the new debug adapter (dlv-dap). (CL 344370)
    • Increased the timeout limit from 5sec to 30sec. If dlv-dap still fails to start, please check firewall/security settings do not prevent installation or execution of the dlv-dap (or dlv-dap.exe) binary. (Issue 1693)
    • Go: Install/Update Tools command picks the dlv-dap from the main branch.

    Thanks

    Thanks for your contributions, Suzy Mueller, Luis Gabriel Gomez, Polina Sokolova, Julie Qiu, and Hana Kim!

    Source code(tar.gz)
    Source code(zip)
    go-0.27.2.vsix(1.05 MB)
  • v0.27.2-rc.1(Aug 31, 2021)

  • v0.27.1(Aug 12, 2021)

    v0.27.1 - 12 Aug, 2021

    ✨ See the new features and update in v0.27.0 (Release Note)

    A list of all issues and changes in v0.27.1 can be found in the v0.27.1 milestone and commit history.

    Enhancement

    • Supports replay and core debug launch modes. (PR 1268)

    Fixes

    • Fixed process pickers used in attach mode debugging. (Issue 1679)
    • Fixed the failure of debugging when CGO_CFLAGS is set. (Issue 1678)
    • Fixed the dlv-dap installation issue. (Issue 1682)

    Thanks

    Thanks for your contributions, Luis Gabriel Gomez, Suzy Mueller, and Hana Kim!

    Source code(tar.gz)
    Source code(zip)
    go-0.27.1.vsix(1.05 MB)
  • v0.27.1-rc.1(Aug 12, 2021)

  • v0.27.0(Aug 9, 2021)

    v0.27.0 - 9 Aug, 2021

    📣 Delve's native DAP implementation (dlv-dap) is enabled by default for local debugging. We updated the Documentation for Debugging to show the new features available with dlv-dap. This change does not apply to remote debugging yet. For remote debugging, keep following the instruction in the legacy debug adapter documentation.

    A list of all issues and changes can be found in the v0.27.0 milestone and [commit history](A list of all issues and changes can be found in the v0.26.0 milestone and commit history.

    Enhancements

    Fixes

    • Debugging
      • Setting the logOutput property without showLog: true does not break debugging any more.
      • Fixed a bug in the legacy debug adapter that caused jumping at each step after upgrading to VS Code 1.58+. (Issue 1617, 1647)
      • Fixed a bug that broke Attach mode debugging using the legacy debug adapter if cwd is not set. (Issue 1608)
      • Made the dlv-dap mode ignore the port property. It was initially suggested as a temporary alternative to the remote debugging, but we decided to revisit the functionality for better remote debugging support. Use the debugServer property if you want to connect to a manually launched dlv dap server.

    Code Health

    • The version of dlv-dap is pinned to v1.7.1-0.20210804080032-f95340ae1bf9 and dlv-dap is marked as a required tool.
    • Updated the hard-coded default gopls version string to v0.7.1.
    • Added tools/relnotes, a script to help generate CHANGELOG.md.
    • Added go1.17 RC to CI. (Issue 1640)
    • Enabled tests that were skipped in dlv-dap mode since dlv-dap reached feature parity.
    • Use StackOverflow as the channel for Q&A.

    Thanks

    Thank you for your contribution, Ahmed W, Hana, Michael Currin, Polina Sokolova, Rebecca Stambler, Suzy Mueller, and Sven Efftinge!

    Source code(tar.gz)
    Source code(zip)
    go-0.27.0.vsix(1.05 MB)
Owner
Go
The Go Programming Language
Go
VS Code code snippet generator

VS Code code snippets generator.

Randy 63 Sep 2, 2022
Source code editor written in Go using go-gtk bindings. It aims to handle navigation effectively among large number of files.

tabby Source code editor written in Go using go-gtk bindings. It aims to handle navigation effectively among large number of files. screenshot: depend

Mikhail Trushnikov 50 Nov 16, 2022
A Golang plugin collection for SublimeText 3, providing code completion and other IDE-like features.

GoSublime Intro GoSublime is an IDE-like plugin for Sublime Text 3 mainly, but not limited to, providing integration for most of your Go/Golang develo

null 3.4k Jan 4, 2023
Test your code without writing mocks with ephemeral Docker containers 📦 Setup popular services with just a couple lines of code ⏱️ No bash, no yaml, only code 💻

Gnomock – tests without mocks ??️ Spin up entire dependency stack ?? Setup initial dependency state – easily! ?? Test against actual, close to product

Yury Fedorov 1k Dec 29, 2022
:triangular_ruler:gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt.

gofmtmd gofmtmd formats go source code block in Markdown. detects fenced code & formats code using gofmt. Installation $ go get github.com/po3rin/gofm

po3rin 91 Oct 31, 2022
octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).

octocov is a tool for collecting code metrics (code coverage, code to test ratio and test execution time).

Ken’ichiro Oyama 159 Jan 9, 2023
sail is an operation framework based on Ansible/Helm. sail follows the principles of Infrastructure as Code (IaC), Operation as Code (OaC), and Everything as Code. So it is a tool for DevOps.

sail 中文文档 sail is an operation framework based on Ansible/Helm. sail follows the principles of Infrastructure as Code (IaC), Operation as Code (OaC),a

Bougou Nisou 10 Dec 16, 2021
Carbon for Golang, an extension for Time

Carbon A simple extension for Time based on PHP's Carbon library. Features: Time is embedded into Carbon (provides access to all of Time's functionali

Uniplaces LTD 742 Dec 20, 2022
Theia Go Extension

Theia Go Extension An extension for the Theia-IDE to support the Go language, using the Go language server. Getting started Install nvm. curl -o- http

theia-ide 16 Nov 4, 2022
kubequery is a Osquery extension that provides SQL based analytics for Kubernetes clusters

kubequery powered by Osquery kubequery is a Osquery extension that provides SQL based analytics for Kubernetes clusters kubequery will be packaged as

Uptycs Inc 88 Dec 27, 2022
Clojure-esque extension language for Go.

let-go Greetings loafers! (λ-gophers haha, get it?) This is supposed to be a compiler and bytecode VM for a language resembling Clojure as close as po

Marcin Gasperowicz 55 Jan 1, 2023
Client extension for interacting with Kubernetes clusters from your k6 tests.

⚠️ This is a proof of concept As this is a proof of concept, it won't be supported by the k6 team. It may also break in the future as xk6 evolves. USE

k6 25 Jan 2, 2023
⚙️ A k6 extension for Tarantool

xk6-tarantool This is a k6 extension using the xk6 system. ❗ This is a proof of concept, isn't supported by the k6 team, and may break in the future.

Sergey Kononenko 8 Nov 29, 2022
Worker failover support for PostgreSQL Citus extension using pg_auto_failover.

citus-failover Worker failover support for citus community version using pg_auto_failover. What is this? This is a simple service to monitor changes i

Navid Zarepak 23 Dec 7, 2022
Lambda Extension for iamlive

iamlive Lambda Extension The iamlive Lambda Extension helps generate a least-privilege IAM policy by monitoring the AWS calls made within the Lambda e

Ian Mckay 36 Dec 17, 2022
Kubernetes OS Server - Kubernetes Extension API server exposing OS configuration like sysctl via Kubernetes API

KOSS is a Extension API Server which exposes OS properties and functionality using Kubernetes API, so it can be accessed using e.g. kubectl. At the moment this is highly experimental and only managing sysctl is supported. To make things actually usable, you must run KOSS binary as root on the machine you will be managing.

Mateusz Gozdek 3 May 19, 2021
k6 prometheus output extension

xk6-prometheus A k6 extension implements Prometheus HTTP exporter as k6 output extension. Using xk6-prometheus output extension you can collect metric

Iván Szkiba 38 Nov 22, 2022
General Pod Autoscaler(GPA) is a extension for K8s HPA, which can be used not only for serving, also for game.

Introduction General Pod Autoscaler(GPA) is a extension for K8s HPA, which can be used not only for serving, also for game. Features Compatible with a

Open Cloud-native Game-application Initiative 15 Aug 19, 2022
Standalone client for proxies of Windscribe browser extension

windscribe-proxy Standalone Windscribe proxy client. Younger brother of opera-proxy. Just run it and it'll start a plain HTTP proxy server forwarding

null 73 Dec 29, 2022
An extension for the GitHub Cli application that displays your current contribution graph

gh-graph An extension for the GitHub Cli application that displays your current contribution graph in the terminal (logged out contribution graph) Ins

Benjamin Chadwick 14 Sep 29, 2021