profile
viewpoint

hyangah/mgodoc 10

Godoc on Mobile Device (android/ios)

hyangah/bugs 0

core dump for various bug debugging (nothing interesting)

hyangah/catapult 0

Catapult

hyangah/cobra 0

A Commander for modern Go CLI interactions

hyangah/delve 0

Delve is a debugger for the Go programming language.

hyangah/demangle 0

C++ symbol name demangler written in Go

hyangah/ESPClock 0

ESP8266-based touchscreen clock and light controller with WiFi

hyangah/expdev 0

dev branch experiment

issue commentgolang/go

x/mobile: build failing when using go modules

@hajimehoshi

axet

comment created time in 20 hours

issue commentgolang/go

x/mobile: build failing when using go modules

Would be nice if u can provide the output in module mode i asked in my previous comment.

axet

comment created time in 20 hours

issue commentgolang/go

x/mobile: build failing when using go modules

@axet I am guessing some cgo related setup is not correct. it's strange that gomobile didn't complain or report the error and it's definitely a bug. Can you please try to run it with -x -v -work flags to see what's going on? If -work flag is supplied, the gomobile bind will not delete the temporary work directories for inspection. Check what's in the directory reported in the error message. There should be go.mod file and the error message indicates that it's not.

axet

comment created time in a day

issue commentmicrosoft/vscode-go

Can't debug a single file in debug mode

Looks like a duplicate of #1229

erifan

comment created time in 2 days

issue commentmicrosoft/vscode-go

Language Server nag

@cornfeedhobo Extension outputs are in "View: Toggle Output" -> select 'gopls' from the drop down menu on the right side. If you are using gopls, you can add the following in the setting to make gopls more verbose and some of its endpoints accessible through the port for inspection.

go.languageServerFlags": [
   "-rpc.trace", // for more detailed debug logging
   "serve",
   "--debug=localhost:6060", // to investigate memory usage, see profiles
],
cornfeedhobo

comment created time in 2 days

issue commentmicrosoft/vscode-go

a lot of (mostly empty) /tmp/go-build* folders

Yes, according to the recent #gopls slack conversation, this is related to https://github.com/golang/go/issues/21135. @stamblerre can you transfer this bug to upstream?

OneOfOne

comment created time in 2 days

issue commentmicrosoft/vscode-go

Go Extension is very slow

@Aditya267 do you think this is due to the excessive CPU usage? (the process explorer or general cpu monitoring tools). Otherwise, I think gopls log may be more helpful in debugging the latency and response time issue.

"go.languageServerFlags": [
    "-rpc.trace", // for more detailed debug logging
    "serve",
    "--debug=localhost:6060", // to investigate memory usage, see profiles
],

The gopls log can be found in "View: Toggle Output" and select "gopls" from the drop-down menu. Thank you!

Aditya267

comment created time in 2 days

issue commentgolang/go

x/tools/cmd/gorename: creates a `pkg/mod` inside `$GOPATH`

As discussed in the vscode-go issue linked above, it seems like gorename is broken with newer versions of go. If my GOPATH has packages with go.mod and attempt to rename exported names, I encounter the same issue. Maybe we need to suggest gopls rename as an offical alternative even for GOPATH mode or GO111MODULE=auto.

joeblubaugh

comment created time in 2 days

issue commentgolang/go

net/http/pprof: Index func does not set Content-Type header to text/html

@eudore I am afraid I don't understand what you want. My CL simply made the handler consistent with other existing handllers (Symbol, Profile, Trace, Cmdline, and error cases). If that's not what you want, send a PR with a clear explanation on why that's not desirable. Thanks.

eudore

comment created time in 2 days

issue commentmicrosoft/vscode-go

Go Extension is very slow

@Aditya267 have you tried the language server (gopls)? I noticed from the profile it is spawning multiple tools underneath. Use of gopls may help avoiding the problem and support go modules mode better in general. See https://github.com/golang/tools/blob/master/gopls/doc/vscode.md for configuration.

Aditya267

comment created time in 2 days

issue commentgolang/go

can't install golang.org/x/tools/gopls@latest

@rifaimartin check your PATH and see if one of the listed directories in the PATH contains gopls binary.

shivatejesh

comment created time in 2 days

create barnchhyangah/legendary-disco

branch : master

created branch time in 2 days

created repositoryhyangah/legendary-disco

created time in 2 days

PR opened go-delve/delve

service/dap: minor cosmetic changes
  • Move package doc comments so they are recognized as package doc.
  • Use t.Helper when appropriate.
+16 -15

0 comment

3 changed files

pr created time in 2 days

push eventhyangah/delve

Hana (Hyang-Ah) Kim

commit sha e5c94679f80f0da50f6008769de5331de357b67b

service/dap: minor cosmetic changes - Move package doc comments so they are recognized as package doc. - Use t.Helper when appropriate.

view details

push time in 2 days

fork hyangah/delve

Delve is a debugger for the Go programming language.

fork in 2 days

issue commentgolang/go

proxy.golang.org: timeouts when dialing connections from builders

Thanks for the report. We have some probers but didn't see noticeable problems.

As seen in #34548, issue like this happens well before establishing a connection to our mirror and is hard to debug or fix ourselves. It looks like it's a one-off case again. I will close this bug.

bcmills

comment created time in 3 days

issue commentgolang/go

cmd/trace: requires HTML imports, which doesn't work on any major browser anymore

I just submitted cl/219997. We think this is too risky to include to 1.14. We plan to add it to the first patch release. Meanwhile, you can compile or download the latest developer version of Go (e.g. https://godoc.org/golang.org/dl/gotip) and use the execution tracer included in it.

@gopherbot please backport to 1.13 and 1.14

mvdan

comment created time in 3 days

issue commentmicrosoft/vscode-go

Language Server nag

New versions of gopls require at least go1.12.

gopls depends on golang.org/x/tools/internal/lsp/source/completion.go' which usesgo/token.Faile.LineStart`. That method wasn't available until go1.12 (https://golang.org/doc/go1.12#go/token).

cornfeedhobo

comment created time in 3 days

issue commentmicrosoft/vscode-go

Permission error when renaming symbol

And gopls should work in GOPATH mode too. So, try the gopls language server when you feel ready.

dylankb

comment created time in 3 days

issue commentmicrosoft/vscode-go

Permission error when renaming symbol

https://github.com/golang/go/issues/34222

I am guessing gorename is somewhat broken even in (implicit) GOPATH mode since go 1.13. Go1.13 started to enable the module-aware mode when GO111MODULE=auto (https://golang.org/doc/go1.13#modules) and it affects the loading of the packages under GOPATH that have go.mod. Can you try with explicitly setting GO111MODULE=off?

dylankb

comment created time in 3 days

issue commentmicrosoft/vscode

Running Save Participants Takes forever to load. Cannot see any error messsages

The challenge here is the lack of information necessary for debugging. Is it possible to log what extension and condition triggered the saving when popping up the error message window?

Many Go extension users reported this issue, and for historical reasons, Go extension uses various tools in addition to the language server (we couldn't find any suspicious pending request from the language server side yet..) - tracking down what is responsible for it, or even whether Go extension is the culprit is currently hard.

arhoy

comment created time in 4 days

push eventhyangah/issue34374

Hana (Hyang-Ah) Kim

commit sha 919026c5545a6dc7a8ad57eb1488cde8eb41ac34

final fix

view details

push time in 4 days

push eventhyangah/issue34374

Hana (Hyang-Ah) Kim

commit sha fa00f97edfb3fd00e5dd26b2793a0c3845db5deb

apply change like https://chromium-review.googlesource.com/c/catapult/+/2062938

view details

push time in 5 days

issue commentmicrosoft/vscode-go

CI: noisy "Unable to read file" error messages

@stamblerre This no longer happens - I believe this was fixed in the recent vscode release. Can you close this?

hyangah

comment created time in 10 days

issue openedgolang/go

x/tools/gopls: enable debug server and some tracing by default

currently we ask users to supply flags such as -port and -rpc.trace and restart gopls when debugging is needed. Please consider turning on the debug port by default and make some traces available.

  • Port number needs to be picked up randomly - so we will need a way for the client to ask gopls about the debug port location.
  • May need too allow opt-out.

created time in 10 days

issue commentmicrosoft/vscode-go

Does vscode-go support debug go code using go plugin?

@morningspace does the program run without an error if you build/run the program outside vscode, and debug directly using delve? I see many open bugs and similar bug reports about plugin in upstream go project. So, maybe testing by eliminating the vscode or vscode-go is the first step to narrow down the scope of the problem.

https://github.com/golang/go/issues/27751 (which uses module) and many others linked from there.

morningspace

comment created time in 10 days

pull request commentmicrosoft/vscode-go

travis-ci: prepare for 1.14 release

do not review yet - 1.14 is still in rc, and it is not available in travis.

hyangah

comment created time in 10 days

PR opened microsoft/vscode-go

travis-ci: prepare for 1.14 release

remove 1.11

+2 -1

0 comment

1 changed file

pr created time in 10 days

issue commentgolang/go

cmd/trace: requires HTML imports, a deprecated feature that only works on Chrome

I am waiting for the progress on the trace viewer side - we are still not sure if that will fix our and other trace viewer users issue that depend on embedding the vulcanized trace viewer. Depending on the progress and the scope of the fix, we will create a cherrypick request for the next point releases.

For now, please fetch/build with https://golang.org/cl/219117 and use the ports 8000-8003 of 127.0.0.1. Or launch a chrome with the suggested flag: --enable-blink-features=ShadowDOMV0,CustomElementsV0,HTMLImport

Sorry for the inconvenience.

mvdan

comment created time in 10 days

issue commentgolang/go

cmd/trace: trace shows blank page on chrome

https://github.com/golang/go/issues/34374

tarekbadrshalaan

comment created time in 10 days

create barnchhyangah/vscode-go

branch : travis

created branch time in 10 days

push eventhyangah/vscode-go

Hana (Hyang-Ah) Kim

commit sha 61b7f9bf7c33cdf66cb76c03bdf4f0987818c630

correct the file name mac and vsccode ignored casing, but linux and git were unhappy.

view details

push time in 10 days

pull request commentmicrosoft/vscode-go

goImports: avoid collapsing new imports into pseudo import line

the test failures on platforms other than mac are real - I messed up with file name (case sensitivity). Will fix it when I can access my linux tomorrow.

hyangah

comment created time in 10 days

PR opened microsoft/vscode-go

installAllTools: skip tools specified in go.alternateTools

Skip them from the Install/Update Tools command.

Tools listed in go.alternateTools are supposed to be maintained by the users.

Fixes #3024

+7 -1

0 comment

1 changed file

pr created time in 10 days

push eventhyangah/vscode-go

Hana (Hyang-Ah) Kim

commit sha 83441223d8da58592432505226e8d6b6e255f1ec

installAllTools: skip tools specified in go.alternateTools Skip them from the Install/Update Tools command. Tools listed in go.alternateTools are supposed to be maintained by the users. Fixes #3024

view details

push time in 10 days

create barnchhyangah/vscode-go

branch : alternatetools

created branch time in 10 days

PR opened microsoft/vscode-go

goImports: avoid collapsing new imports into pseudo import line

getTextEditForAddImport tries to insert a newly added package into an existing import group. If no import group exists, it tries to merge single line import statements and create a group.

In this process, import statements like

import "C"

are pseudo imports and shouldn't be grouped with other imports. This CL changes parseFilePrelude to detect such pseudo imports and excludes such imports from the grouping logic.

Fixes #1701

+42 -7

0 comment

4 changed files

pr created time in 10 days

push eventhyangah/vscode-go

Hana (Hyang-Ah) Kim

commit sha 804a8068bd62c0775aa39f2bd5dfb2b45e002273

goImports: avoid collapsing new imports into pseudo import line getTextEditForAddImport tries to insert a newly added package into an existing import group. If no import group exists, it tries to merge single line import statements and create a group. In this process, import statements like import "C" are pseudo imports and shouldn't be grouped with other imports. This CL changes parseFilePrelude to detect such pseudo imports and excludes such imports from the grouping logic. Fixes #1701

view details

push time in 10 days

create barnchhyangah/vscode-go

branch : import

created branch time in 10 days

issue commentmicrosoft/vscode-go

Do not run gopls if no open .go files

"Go: Restart Language Server" from the command palette can be used to trigger language server restart. I think manual restart is better than periodically and automatically restarting it while interfering with users' go file editing.

Another option is to disable the language server for the workspace `"go.useLanguageServer": true" but that is not desirable if you are working in modules mode.

Since the gopls will be the default near future, it may be helpful to fix the memory leaks or problems sooner than later. Your help and bug reports are greatly appreciated.

What version of gopls are you using? Can you tell more about the problem you are seeing and how to reproduce the issue? @stamblerre

slayer

comment created time in 11 days

pull request commentmicrosoft/vscode-go

Include the link to release note/package overview in the update prompt, and update gopls default version

Can you add a screenshot of how this will look?

image

And once you click the Release Note, it will open a browser with the provided link. I wish I knew a way to let the prompt stay after clicking the link, so users can come back and click the Update button.

hyangah

comment created time in 12 days

create barnchhyangah/vscode-go

branch : prompt

created branch time in 12 days

Pull request review commentmicrosoft/vscode-go

update README.md mostly where gopls is mentioned

 Read the [Changelog](https://github.com/Microsoft/vscode-go/blob/master/CHANGELO  ### IntelliSense -- Auto Completion of symbols as you type (using `gocode`)-- Signature Help for functions as you type (using `gogetdoc` or `godef`+`go doc`)-- Quick Info on the symbol as you hover over it (using `gogetdoc` or `godef`+`go doc`)+- Auto Completion of symbols as you type (using `gopls` or `gocode`)

Done.

hyangah

comment created time in 12 days

push eventhyangah/vscode-go

Hana (Hyang-Ah) Kim

commit sha 748cb76fde0f975e548078ac17461a42483cfee8

use "language server" instead of "gopls" to emphasize the transition to the language service protocol from use of individual tools. "gopls" is the default language server.

view details

push time in 12 days

issue commentgolang/go

cmd/trace: requires HTML imports, a deprecated feature that only works on Chrome

@stapelberg Looking at the cmd/internal/browser... I want to avoid all the browser launch business. It's tricky to start a chrome from mac with a complete new set of flag (without killing the existing instance). the cl/219117 follows your proposal. I am not sure whether the fix trace viewer team is talking about will address our issue.

mvdan

comment created time in 12 days

startedtailscale/tailscale

started time in 12 days

create barnchhyangah/issue34374

branch : master

created branch time in 12 days

created repositoryhyangah/issue34374

golang.org/issue/34374

created time in 12 days

issue commentgolang/go

cmd/trace: requires HTML imports, a deprecated feature that only works on Chrome

Thanks. that works for me. Another alternative is to start a chrome --enable-blink-features=ShadowDOMV),CustomElementsV0,HTMLImports flag.

I was told that the traceviewer dev is working on a fix which may be available within one or two weeks. Not sure if we can make it before 1.14 release though.

We also need a long term transition plan. Chrome/android are moving away from trace viewer and transitioning to perfetto.dev.

mvdan

comment created time in 13 days

issue commentgolang/go

cmd/trace: requires HTML imports, a deprecated feature that only works on Chrome

@josharian Reading the bug @stapelberg linked, the problem seems to be that the traceviewer itself heavily depends on the deprecated features and requires migration. traceviewer doesn't sound trivial reading https://crbug.com/1021137.

I also tried to manually load the jsontrace output from chrome://tracing but that also failed. Maybe we fall into one of those niche use cases the mentioned crbug is talking about.

@stapelberg does the workaround https://github.com/golang/go/issues/34374#issuecomment-583840806 work for you? I still couldn't make it working :-(

I found https://chromium-review.googlesource.com/c/catapult/+/1906771/10/tracing/tracing_examples/trace_viewer.html where the token for localhost:8003 is being used already. how this origin trial works and whether we can reuse it.

mvdan

comment created time in 13 days

issue commentgolang/go

cmd/trace: requires HTML imports, a deprecated feature that only works on Chrome

Sigh. We can do that, but I often had to run multiple instances of execution trace viewer and allowing a single port limits its usability. Is it an option to fork the repo and apply changes like https://chromium-review.googlesource.com/c/1093433?

mvdan

comment created time in 13 days

PR closed golang/mobile

Delete LICENSE cla: yes
+0 -27

2 comments

1 changed file

jeepdude1980

pr closed time in 15 days

issue commentgolang/go

cmd/go/internal/modfetch: treat malformed versions as “not found” on the proxy path

@utrack try the -x flag to see how the go command works with the proxy. That will show the behavior @bcmills described above. go get github.com/foo/bar/pkg/baz@v1.0.0 or go get github.com/foo/bar/pkg/baz will work as expected.

go get github.com/foo/bar/pkg/baz@pkg/baz/v1.0.0 won't due to this issue but not sure how often ppl want to fetch a module/package in that way.

zx2c4

comment created time in 16 days

issue commentmicrosoft/vscode-go

Auto complete not working for Golang

@debojyoti-majumder the flag order is important. -rpc.trace -v need to be before check.

gopls -rpc.trace -v check .\main.go
debojyoti-majumder

comment created time in 16 days

issue commentmicrosoft/vscode-go

Debug: "Pretty Print" a Struct

This is somewhat related to #2655 (that may be used to invoke a String method if exists) but more targeted to the pretty printing of complex objects.

@quoctruong - is the DAP protocol (work-in-progress) capable to provide means to implement this type of features?

esinek

comment created time in 16 days

issue commentmicrosoft/vscode-go

Go to definition and signature help don't work

@ttsokov assuming there is no workspace-specific settings that affects executable search path - is the directory that gopls exists in your %PATH%? You can also check from the integrated terminal window (click "TERMINAL" in the bottom right panel) whether you can invoke gopls from there. If not, I think the %PATH% needs to be adjusted.

ttsokov

comment created time in 16 days

pull request commentmicrosoft/vscode-go

update thirdpartynotices.txt

@ramya-rao-a If there is any standard tool vscode team is using to generate thirdpartynotices file, feel free to ignore this and use that instead. I was trying to mimic the format of vscode's ThirdPartyNotices.txt.

hyangah

comment created time in 17 days

PR opened microsoft/vscode-go

update thirdpartynotices.txt

It was generated based on what license-checker(https://www.npmjs.com/package/license-checker) detected.

  • rm -rf node_modules
  • npm ci
  • license-checker -json --direct --production --excludePrivatePackages

The generation program is https://gist.github.com/hyangah/26938becbdef9d7ced0d046c7677f1d0

Note: there are modules that do not have valid license files or notices in the released versions we are depending on. Those dependencies are:

better-curry@1.6.0(https://github.com/pocesar/js-bettercurry): MIT emitter-listener@1.1.2(https://github.com/othiym23/emitter-listener): BSD-2-Clause uri-js@4.2.2(https://github.com/garycourt/uri-js): BSD-2-Clause json-schema@0.2.3(https://github.com/kriszyp/json-schema): AFLv2.1 or BSD

+2374 -25

0 comment

1 changed file

pr created time in 17 days

create barnchhyangah/vscode-go

branch : thirdpartynotices

created branch time in 17 days

issue commentgolang/go

cmd/go: allow proxy '@v/list' endpoint to indicate incompleteness?

Hmm, should /@v/list return a 200 with an empty list then? It looks like /@latest for this module returns 200 with a pseudo-version.

Are you suggesting /@v/list return this empty list only in the case where the database lookup yields cached pseudo-versions exclusively? This is something we could do if necessary.

This is to force the go command to fallback to /@latest for this empty list result, rather than fall back to the next proxy, correct? Is that actually the ideal behavior in every case?

One caveat is that if the user will never learn about a fresh version if they use the default GOPROXY setting without GOPRIVATE setting. On the other hand, that's already true if a repo had some released versions before turning private.

cuonglm

comment created time in 17 days

issue commentgolang/go

cmd/go: allow proxy '@v/list' endpoint to indicate incompleteness?

Proxy.golang.org returns known non pseudo versions if there are cached ones available for use. In this specific case, I think there are no non-pseudo versions.

cuonglm

comment created time in 17 days

issue commentgolang/go

x/mobile: build failing when using go modules

gomobile generates go.mod file based on the go list output influenced by the original go.mod. (https://github.com/golang/mobile/blob/0df4eb2385467a487d418c6358313e9e838256ae/cmd/gomobile/bind.go#L230)

It looks like the original file has

replace github.com/anacrolix/torrent v1.13.0 => gitlab.com/axet/torrent v0.0.0-20200205141541-92b4b9e7387e

and gomobile bind converted it to

replace github.com/anacrolix/torrent v1.13.0 => /usr/local/google/home/hakim/go/pkg/mod/gitlab.com/axet/torrent@v0.0.0-20200205141541-92b4b9e7387e v0.0.0-20200205141541-92b4b9e7387e

cc @hajimehoshi

axet

comment created time in 18 days

issue commentmicrosoft/vscode-go

Auto complete not working for Golang

Thanks for the bug report. For investigation, can you please share the following information?

  • Run go version
  • Run go env
  • Run Preferences: Open Settings (JSON) command to open your settings.json file. Share all the settings with the go., ["go"], or '"gopls"' prefixes.
debojyoti-majumder

comment created time in 18 days

issue commentmicrosoft/vscode-go

All breakpoints are unverified. Error on CreateBreakpoint: could not find statement at <path/to/line>

@austintackaberry what is the version of /Users/<username>/gocode/bin/dlv? There was a similar upstream bug report and that's fixed. Since you could set the same breakpoint directly with the same dlv (right?), it may be not the same case, but want to check it's not an upstream bug.

austintackaberry

comment created time in 18 days

Pull request review commentmicrosoft/vscode-go

refactor handling for go-langserver installation

 export function parseLanguageServerConfig(): LanguageServerConfig { }  /**- * Get the absolute path to the language server to be used.- * If the required tool is not available, then user is prompted to install it.- * This supports the language servers from both Google and Sourcegraph with the- * former getting a precedence over the latter+ * If the user has enabled the language server, return the absolute path to the+ * correct binary. If the required tool is not available, prompt the user to+ * install it. Only gopls (Google) and go-langserver (Sourcegraph) are supported.

nit: time to remove mention of go-langserver in this comment.

stamblerre

comment created time in 18 days

issue commentmicrosoft/vscode-go

settings: create one setting to specify an alternate language server

@ramya-rao-a

I wonder if go.useLanguageServer should be enum instead of a bool. That was based on the assumption that there is still interest or good use of go-langserver instead of gopls. In the current code, the choice of the language server is implicit so I thought the enum like the lint option would be more explicit. However, it seems the assumption is no longer true.

stamblerre

comment created time in 18 days

Pull request review commentmicrosoft/vscode-go

refactor handling for go-langserver installation

 export function getLanguageServerToolPath(): string { 		return; 	} -	// Get the path to gopls or any alternative that the user might have set for gopls.-	const goplsBinaryPath = getBinPath('gopls');-	if (path.isAbsolute(goplsBinaryPath)) {-		return goplsBinaryPath;-	}--	// Get the path to go-langserver or any alternative that the user might have set for go-langserver.-	const golangserverBinaryPath = getBinPath('go-langserver');-	if (path.isAbsolute(golangserverBinaryPath)) {-		return golangserverBinaryPath;-	}--	// If no language server path has been found, notify the user.+	// Determine which language server the user has selected.+	// gopls is the default choice. 	let languageServerOfChoice = 'gopls'; 	if (goConfig['alternateTools']) { 		const goplsAlternate = goConfig['alternateTools']['gopls'];++		// Check if the user has set the deprecated "go-langserver" setting. 		const golangserverAlternate = goConfig['alternateTools']['go-langserver'];-		if (typeof goplsAlternate === 'string') {+		if (golangserverAlternate) {+			vscode.window.showErrorMessage(`The "go.alternateTools" setting for "go-langserver" has been deprecated. Please use "gopls" instead.`);

Do you mean "language-server", or are you suggesting "go-langserver" is not supported at all and switch to use "gopls"?

And, the user needs to reload the window, right? Mention that in the error message.

stamblerre

comment created time in 19 days

issue commentmicrosoft/vscode-go

settings: create one setting to specify an alternate language server

+1 for refactoring.

I wonder if go.useLanguageServer should be enum instead of a bool.

go.alternateTools can be used to specify a wrapper script or an absolute path to the corresponding binary (for example, you can utilize this to test or ensure the use of a different version of gopls without uninstalling or installing the gopls binary from the PATH) so depending on go.alternateTools['...'] to be gopls and go-langserver should be done carefully.

stamblerre

comment created time in 19 days

Pull request review commentmicrosoft/vscode-go

checking setting 'go.buildTags' to contain build tags from file fixing #1497

 export function notifyIfGeneratedFile(this: void, e: vscode.TextDocumentChangeEv 	} } +function notifyOnBuildTagMismatch(ctx: any, e: vscode.TextDocumentChangeEvent) {+	if (ctx.globalState.get('ignoreBuildTagMismatchWarning') === true) {+		return;+	}++	const fileBuildTags = [];+	for (let i = 0; i < e.document.lineCount; i++) {+		const line = e.document.lineAt(i);+		if (line.isEmptyOrWhitespace) {+			break;+		}+		const bldTagLine = line.text.match(/^\/\/\s*\+build\s+(.+)$/);+		if (bldTagLine) {+			if (i === e.contentChanges[0].range.start.line) {+				return;  // editing +build tag line+			}+			fileBuildTags.push(bldTagLine[1]);+		}+	}++	if (fileBuildTags.length === 0) {+		return;  // no build tags in file+	}++	let areInSetting = false;+	const goConfig = vscode.workspace.getConfiguration('go', e.document.uri);+	let settBldTags = goConfig['buildTags'];++	if (settBldTags) {+		const splChr = settBldTags.includes(',') ? ',' : ' ';+		settBldTags = settBldTags.split(splChr);+		areInSetting = fileBuildTags.every((tag: string) => {+			// build tags OR array containing AND array

I thought go.buildTags are for -tags flag. Usually architecture and os related build constraints are supposed to be specified using environment variables (GOOS/GOARCH) instead of -tags flag.

marcel-basel

comment created time in 19 days

issue openedgolang/go

x/tools/gopls: create link for release note for each version

VSCode Go extension detects availability of newer versions of gopls automatically (by querying proxy.golang.org) and suggest upgrade. I want to see the update suggestion message window include the link to the release note.

Currently #33030 serves as a place for release note announcement which makes sense since gopls evolves quickly. I can use the link to the issue but that's rather distracting as more versions are published. Alternatively we can create a short link (encoded with the version tag) for each tagged version and make it point to the corresponding comments. Post v1.0, we can still use the link format to point to the official, formal release note.

created time in 19 days

issue commentmicrosoft/vscode-go

Vscode Go Extension Occasionally Corrupting File On Save

@gittlm thank you for the update. Since this issue is closed, why don't we create a new issue and discuss your case more thoroughly? https://github.com/microsoft/vscode-go/issues/new?assignees=&labels=&template=bug_report.md&title=

Thanks!

johneboldt

comment created time in 19 days

issue commentmicrosoft/vscode-go

Go to definition and signature help don't work

@ttsokov It seems it is currently using sourcegraph/go-langserver (langserver-go), not gopls. I can't figure out how that happens with vscode-go extension 0.12.0. 🤔 @ramya-rao-a or @stamblerre may know better about why this happens. Based on https://github.com/microsoft/vscode-go#go-language-server, maybe deleting the go-langserver binary in the path may be necessary.

Here is the recommended setting when using gopls or debugging issues involving gopls. https://github.com/golang/tools/blob/master/gopls/doc/vscode.md

ttsokov

comment created time in 19 days

issue commentgolang/go

x/tools/gopls: respect GOPRIVATE setting for links to documentation on hover

Just want mention a different use case: organizations that run their internal doc servers would want the linkTarget to point to their doc servers. OTOH, I expect they can easily set up private proxies to avoid depending on GOPRIVATE.

stamblerre

comment created time in 20 days

issue commentmicrosoft/vscode-go

Vscode Go Extension Occasionally Corrupting File On Save

Echoing what @johneboldt said - @gittim v0.3.0 is the official release. The vscode-go extension should pick up the new version. Plz report an issue otherwise. v0.3.0 official release includes a fix for Windows found in the prerelease versions such as v0.3.0-pre1.

johneboldt

comment created time in 20 days

issue commentmicrosoft/vscode-go

Method names don't show in breadcrumbs, only function names

@stamblerre When using gopls, the breadcrumbs behave as @sampart described. We should take a look.

sampart

comment created time in 23 days

PR opened microsoft/vscode-go

Revert "Update to latest vscode-languageclient"

Reverts microsoft/vscode-go#2988

gopls does not depend on the latest language client features. So, let's revert it.

+24 -17

0 comment

2 changed files

pr created time in 23 days

create barnchhyangah/vscode-go

branch : revert-2988-update

created branch time in 23 days

issue commentmicrosoft/vscode-go

"Error Prompt" doesn't work

Indeed. I could reproduce the case with v0.3.0-pre3 when the workspace directory doesn't contain any package.

$ tree
.
└── test
    └── main.go
$ code .

Here is the gopls log with more debug info. goplslog.txt

After I added a file in the top directory, the problem went away.

I don't understand the above load failure error (github.com/kardianos/govendor/internal/pathos) which may be other bugs (stale data cached somewhere?)

normal-cock

comment created time in 23 days

issue commentmicrosoft/vscode-go

package.json: vscode-language-client dependency requires VS Code 1.41

I think this is the place: https://github.com/microsoft/vscode-languageserver-node/blob/4c0963d6fdfd657044092c5d4db61a87b54471ef/client/src/main.ts#L43

We got an error like the following and failed to start the language server. <pre> rejected promise not handled within 1 second: Error: The language client requires VS Code version ^1.41.0 but received version 1.39.2 extensionHostProcess.js:787 stack trace: Error: The language client requires VS Code version ^1.41.0 but received version 1.39.2 at LanguageClient.checkVersion (/usr/local/google/home/hakim/project/vscode-go/node_modules/vscode-languageclient/lib/main.js:122:19) at new LanguageClient (/usr/local/google/home/hakim/project/vscode-go/node_modules/vscode-languageclient/lib/main.js:103:18) at Object.<anonymous> (/usr/local/google/home/hakim/project/vscode-go/out/src/goLanguageServer.js:64:19) at Generator.next (<anonymous>) at fulfilled (/usr/local/google/home/hakim/project/vscode-go/out/src/goLanguageServer.js:9:58) at process._tickCallback (internal/process/next_tick.js:68:7) extensionHostProcess.js:787 </pre>

stamblerre

comment created time in 24 days

issue commentmicrosoft/vscode-go

Go configuration title

I think the fix for it is included in v0.12.1 (I confirmed it's fixed in v0.12.1-beta2)

gertcuykens

comment created time in 24 days

issue commentmicrosoft/vscode-go

Go to definition and signature help don't work

@ttsokov Thanks for the update - good to hear that gopls improved the situation a bit. Since now you are using the language server (gopls), would be nice if the details of the bug reports are updated such as the go related settings, and the repro cases described in your last comment.

ttsokov

comment created time in 24 days

issue commentgolang/go

proposal: runtime/pprof cpuprofiles lack precision and accuracy; need PMU-based profiles

Will it be available to non-linux OSes? If so, that's great. Previously, we've suggested Linux perf (that can use PMU events, right?) as an alternative to runtime/pprof to work around the known limitation of runtime/pprof. The pprof tool can interpret Linux perf output. If this proposal makes it possible to help non-Linux users and to allow extra information such as labels, etc while not introducing too much complexity to the runtime, that will be super.

@aclements @rsc @dvyukov @rhysh

chabbimilind

comment created time in 24 days

PR opened microsoft/vscode-go

update README.md mostly where gopls is mentioned

@stamblerre @ramya-rao-a

+9 -8

0 comment

1 changed file

pr created time in 24 days

create barnchhyangah/vscode-go

branch : readme

created branch time in 24 days

startedrust-analyzer/rust-analyzer

started time in 24 days

PR opened microsoft/vscode-go

stop registerLanguageFeatures cleanly when the binary is not installed

The caller and getLanguageServerToolPath already detected the missing binary and offered to install the missing tool. So, simply returning immediately is ok, and prevents the warning messages such as not handling promise on time, or accessing non-existing property of tool.name in shouldUpdateLanguageServer.

+9 -1

0 comment

1 changed file

pr created time in 24 days

push eventhyangah/vscode-go

Ramya Achutha Rao

commit sha acb945d3c2e04a91bfefab7a64b3a148a4a0088b

Avoid configuration word in config title #2964

view details

Henry Kwan

commit sha f185987d1a2463f8cdae2740c65b15cb539346c3

^ outline to include constant & interface (#2973)

view details

Ramya Achutha Rao

commit sha 0eeec1b7779e6fca8c95f7b0fa5d8cc68db2d83f

Re-generate package-lock.json file

view details

Rebecca Stambler

commit sha 8a8ed506040d7ee0531ab285674f3b8ffb9a80f3

Refactor telemetry handling (#2978)

view details

Ramya Achutha Rao

commit sha 5bad6137b1bef6f4db9d64e37113d6519dc65063

Improve docs for gopls in Readme

view details

Ramya Achutha Rao

commit sha 8ffb9b6f71146e30a9b527f0b3816095eccaaf9e

[tslint] apply radix and ordered-imports rules

view details

Ramya Achutha Rao

commit sha b28e6adea89d5b075c74a28d9bfa29612e5fc689

[tslint] apply only-arrow-functions rule

view details

Ramya Achutha Rao

commit sha 8593ce956697559d82fe2101e8adcc3dd7b9b8d6

[tslint] apply object-literal-key-quotes, one-line rules

view details

Ramya Achutha Rao

commit sha c7dc31cc2cf107f048a3235020045a3e7ad9359e

[tslint] apply allow-parens rule

view details

Ramya Achutha Rao

commit sha 9564e1f3f852800e7ced81a33b4899178f7820fb

[tslint] apply jsdoc-format rule

view details

Ramya Achutha Rao

commit sha 4c0e03609dd638429d2ef6a2cf1c43aeb5529307

[tslint] apply member-access rule

view details

Ramya Achutha Rao

commit sha 74fe03cd3775291d6919a0fa8cff8b48d8fb27f8

[tslint] apply member-ordering rule

view details

Ramya Achutha Rao

commit sha bfd437f4a8fe8e8a8de3307f31ae566e993257f9

Add npm script for formatting using prettier

view details

Ramya Achutha Rao

commit sha 5a8208c6827892e530578a60c5e38406ab32b816

[tslint] apply no-shadowed-variable rule

view details

Ramya Achutha Rao

commit sha 2b44da3660a498ee912c486751d078e03f2b8e20

Update package lock file for prettier

view details

Ramya Achutha Rao

commit sha 2847c40f20530e9c39f229128cbc77c5b643dc8a

[tslint] Remove rules that is not worth the effort to apply at the moment

view details

Rebecca Stambler

commit sha 3b02de0f7e01f9d89b4896bac465bd2e6ffe5c1f

Update to latest vscode-languageclient (#2988)

view details

Hyang-Ah Hana Kim

commit sha e819610a6e75ceab79ab78926dc1ddf2be16728d

specify license info in package.json (#2994)

view details

Hyang-Ah Hana Kim

commit sha 97a7fc63ebbdfb1a22a34b4c7e7c56cb28f285b6

remove obsolete enableBreakpointsFor (#2998)

view details

marcel-basel

commit sha 41591e39eb1f6e935162380ddb7a663ccad7f544

Considering receiverType on function test creation issue-2282 (#2987)

view details

push time in 24 days

pull request commentmicrosoft/vscode-go

Logic for gopls updater to accept a pre-release version

@stamblerre @ramya-rao-a

hyangah

comment created time in 25 days

PR opened microsoft/vscode-go

Logic for gopls updater to accept a pre-release version

acceptGoplsPrerelease is a const set to false. We are currently discussing what's the best way to expose this knob to users. Meanwhile, developers can flip the var to test whether Gopls picks up the newest version including prerelease.

+59 -20

0 comment

3 changed files

pr created time in 25 days

create barnchhyangah/vscode-go

branch : upstreammaster

created branch time in 25 days

issue commentgolang/go

runtime/pprof: change in behavior between Go 1.13 and 1.14

Failure of the test is expected since in 1.14, we fixed the inlinining PCs encoding in pprof protobuf generation. (https://go-review.googlesource.com/c/go/+/204636 etc) runtime.FuncForPC does not expand inline, so tests that take only pc from the profile, depend on runtime.FuncForPC, and check existence of function names may fail if the functions are inlined. @randall77

Go runtime symbolizes mutex profile and others since 1.10, so the extra symbolization step in the test can be skipped now.

tbpg

comment created time in 25 days

Pull request review commentmicrosoft/vscode-go

added snippets for friendly failing test output

 			"prefix": "sort", 			"body": "type ${1:SortBy} []${2:Type}\n\nfunc (a $1) Len() int           { return len(a) }\nfunc (a $1) Swap(i, j int)      { a[i], a[j] = a[j], a[i] }\nfunc (a $1) Less(i, j int) bool { ${3:return a[i] < a[j]} }", 			"description": "Snippet for a custom sort.Sort interface implementation, for a given slice type."+		},+		"test got want error": {+			"prefix": "gwe",+			"body": "t.Errorf(\"${1:funcName}(${2:args}) = ${3:got}, want ${4:want}\",${5:vars})",

https://github.com/golang/go/wiki/CodeReviewComments#useful-test-failures

My question is whether it is general enough for all go extension users would find useful and worth being included in this extension rather than individual user's snippet. I used and suggested this test error format many times during go readability review, but i also observed many cases where other formats are preferred.

tkivisik

comment created time in 25 days

issue closedgolang/go

sum.golang.org: doesn't response correctly

<!-- Please answer these questions before submitting your issue. Thanks! For questions please use one of our forums: https://github.com/golang/go/wiki/Questions -->

What did you do?

<!-- If possible, provide a recipe for reproducing the error. A complete runnable program is good. A link on play.golang.org is best. -->

curl https://sum.golang.org/lookup/github.com/ysmood/kit@v0.19.2

What did you expect to see?

no error

What did you see instead?

not found: github.com/ysmood/kit@v0.19.2: invalid version: unknown revision v0.19.2

The version tag does exist, you can visit https://github.com/ysmood/kit/tree/v0.19.2 to check it.

If you do curl https://sum.golang.org/lookup/github.com/ysmood/kit@v0.19.1 it will work as expected.

Not sure if it's a bug of sum.golang.org or github.

closed time in a month

ysmood

issue commentgolang/go

sum.golang.org: doesn't response correctly

Actually, 7:42:01 EST was the logging timestamp, and the version fetch attempts were made before then. This is clearly because the request to {proxy,sum}.golang.org was sent too early. We will try to find a way to improve the user experience. For now, please make sure if the tagged version is available in the source - one option I can think of is to utilize GOPRIVATE to bypass {proxy,sum}.golang.org first and verify if the version can be fetched from the source.

ysmood

comment created time in a month

issue commentgolang/go

sum.golang.org doesn't response correctly

@ysmood I guess this is fixed now - the sum.golang.org learned about v0.19.2 on 2020-01-28 8:12 EST (8min after this bug was reported)

Based on the log, {proxy,sum}.golang.org tried to fetch that version 7:42:01 EST, and couldn't find the version from the repo (so, "unknown revision v0.19.2"). This result was cached for some time. I guess the tagging happened around ~7:42 EST based on the github release page, so there must be a race between release(tagging) and that new tag gets accessible by {proxy,sum}.golang.org.

@heschik @katiehockman

ysmood

comment created time in a month

issue commentgolang/go

x/mobile/cmd/gomobile: gomobile build fails for iOS targets with Go 1.14

there is a mention of changes in symbol name in the release note, but not sure if that's relevant. I couldn't reproduce the problem and nmpkgs includes the app package in my case. maybe I am calling a wrong go command? What's in the nmpkgs map in your run? (print out or debug)

The use of nm predates the powerful go list and the intention was to check the package is imported, so in theory it's ok to replace it with go list or go/packages. But, I fear if this missing symbol is a symptom of another issue. If you build the basic app (by bypassing this failed nm check), can you still see the app working?

hajimehoshi

comment created time in a month

issue commentgolang/go

x/mobile/cmd/gomobile: gomobile build fails for iOS targets with Go 1.14

Sorry that I couldn't follow up - my mac was completely busted at this moment. The error message does not make sense at all - is it possible to add more logging in the gomobile build invocation (-x -v first and whatever env vars necessary) to see what's going on? Also, not sure which version of go is being picked up by the gomobile build when it's invoked by go1.14beta1 test.

hajimehoshi

comment created time in a month

more