{"id":15432240,"url":"https://github.com/gundermanc/vs-go","last_synced_at":"2026-02-15T10:32:15.863Z","repository":{"id":73020302,"uuid":"192647162","full_name":"gundermanc/vs-go","owner":"gundermanc","description":"Hack and slash Go language service prototype for VS Win + VS Mac","archived":false,"fork":false,"pushed_at":"2020-05-07T08:58:26.000Z","size":304,"stargazers_count":8,"open_issues_count":20,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-02T17:23:41.369Z","etag":null,"topics":["go","golang","visual-studio","visual-studio-for-mac"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gundermanc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-06-19T02:52:30.000Z","updated_at":"2023-05-31T18:50:35.000Z","dependencies_parsed_at":null,"dependency_job_id":"d92f7e8b-c1b3-4110-a66b-642149104894","html_url":"https://github.com/gundermanc/vs-go","commit_stats":{"total_commits":99,"total_committers":8,"mean_commits":12.375,"dds":0.4747474747474747,"last_synced_commit":"41ece6f2d83646618721ed98a1749ffe8033d4ad"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gundermanc/vs-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundermanc%2Fvs-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundermanc%2Fvs-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundermanc%2Fvs-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundermanc%2Fvs-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gundermanc","download_url":"https://codeload.github.com/gundermanc/vs-go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gundermanc%2Fvs-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275228328,"owners_count":25427613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-15T02:00:09.272Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go","golang","visual-studio","visual-studio-for-mac"],"created_at":"2024-10-01T18:25:36.666Z","updated_at":"2026-02-15T10:32:10.814Z","avatar_url":"https://github.com/gundermanc.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Go lang Support for Visual Studio for Windows and Mac\n[![Build Status](https://gunderman.visualstudio.com/vs-go/_apis/build/status/gundermanc.vs-go?branchName=master)](https://gunderman.visualstudio.com/vs-go/_build/latest?definitionId=1\u0026branchName=master)\n\nHackathon project proof-of-concept for a x plat Go language service. Now abandoned.\n\n![image](https://user-images.githubusercontent.com/5387680/60867836-91a88f00-a1e0-11e9-9dfe-49d95c269a0c.png)\n\n![image](https://user-images.githubusercontent.com/5387680/60389194-5e446280-9a72-11e9-9269-dfcaaf349514.png)\n\n## Done\n\n### Planned Supported platforms:\n\n- Visual Studio 2019 16.1 for Windows\n- Visual Studio 2019 8.2.0 Preview for Mac\n\n### How it does/will work\n- Language service smarts are written in Go, using the token, parser, and types libraries\n  from the Go standard library to lex, parse, and type check the code.\n- Editor features talk to this language service through a thin inteop layer built using a\n  a combination of PInvoke and a cgo c-shared library with C language bindings for Go.\n\n### Historical Context\nScreenshots are from an earlier build which was a full, from-scratch language service for\nGo in C#. Since then, I have changed strategies to enable reuse of existing Go libraries.\n\nWe're starting at square one. The code seen here is a series of hacks meant to set the context.\n\n### Editor Features\n- Currently using TextMate for colorization and outlining and structure. Ideally we'll move\n  this to using the Go AST or tokens.\n- Error squiggles are directly output by the go/parser and go/types libraries as a result of\n  parsing and type checking the code.\n\n## Getting started\n- Install the Go development SDK.\n- Install gofmt and gogetdoc.\n- Build in Visual Studio 2019 16.1+.\n- Copy src/test-fodder to your GOPATH directory.\n- Open the file in the experimental VS instance.\n\n### Windows\n- Install Visual Studio 2019 16.1\n- Install Go SDK (expects C:\\Go)\n- Install MinGW32 GCC C/C++ compiler for Windows (expects C:\\MinGW)\n- Open Go.Windows.sln, rebuild and start 'Visual Studio Extension'\n\n### Mac\n- Install VS for Mac 8.2 Preview\n- Install Go SDK\n- Install XCode/Apple developer tools (needed for gcc).\n\n### Debugging\n- C# code is best debugged from Visual Studio.\n- It's recommended that you debug Go Code by:\n  - Open the root of the repo in VS Code as a folder view\n  - Install the Go Extension for VS Code\n  - Test changes using the debugger in VS Code against the 'testapp.go' file.\n- Native Go interop layer can only be debugged via GCC, so it's recommended\n  that you minimize additions to this layer.\n\n\n\nContributions and discussion are absolutely welcome :)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgundermanc%2Fvs-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgundermanc%2Fvs-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgundermanc%2Fvs-go/lists"}