src/goMain: try both gc_details and gopls_gc_details

gopls 0.5.2 will change the command name. During transition, try both
commands. Once 0.5.2 is released, we will change the order of tries.
And, eventually we will stop using gc_details.

Change-Id: I0cbce849108ad19e45dd4e6b21504788643d70eb
Reviewed-on: https://go-review.googlesource.com/c/vscode-go/+/262497
Trust: Hyang-Ah Hana Kim <hyangah@gmail.com>
Trust: Peter Weinberger <pjw@google.com>
Run-TryBot: Hyang-Ah Hana Kim <hyangah@gmail.com>
TryBot-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Peter Weinberger <pjw@google.com>
diff --git a/src/goMain.ts b/src/goMain.ts
index 44649ee..b8b520f 100644
--- a/src/goMain.ts
+++ b/src/goMain.ts
@@ -7,6 +7,7 @@
 'use strict';
 
 import * as path from 'path';
+import { commands } from 'vscode';
 import vscode = require('vscode');
 import { extensionId } from './const';
 import { browsePackages } from './goBrowsePackage';
@@ -459,7 +460,13 @@
 			vscode.window.showErrorMessage('"Go: Toggle gc details" command cannot run when no Go file is open.');
 			return;
 		}
-		vscode.commands.executeCommand('gc_details', doc);
+		vscode.commands.executeCommand('gc_details', doc)
+			.then(undefined, (reason0) => {
+				vscode.commands.executeCommand('gopls_gc_details', doc)
+					.then(undefined, (reason1) => {
+						vscode.window.showErrorMessage(`"Go: Toggle gc details" command failed: gc_details:${reason0} gopls_gc_details:${reason1}`);
+					});
+			});
 	}));
 
 	ctx.subscriptions.push(