Skip to content

Commit 70c61ce

Browse files
Trace the click on Java terminal link (#1171)
1 parent a0019d1 commit 70c61ce

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/terminalLinkProvider.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
import { CancellationToken, commands, Position, ProviderResult, Range, TerminalLink, TerminalLinkContext,
55
TerminalLinkProvider, Uri, window } from "vscode";
6+
import { sendInfo } from "vscode-extension-telemetry-wrapper";
67
import { resolveSourceUri } from "./languageServerPlugin";
78

89
export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTerminalLink> {
@@ -15,6 +16,7 @@ export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTermin
1516
* @return A list of terminal links for the given line.
1617
*/
1718
public provideTerminalLinks(context: TerminalLinkContext, _token: CancellationToken): ProviderResult<IJavaTerminalLink[]> {
19+
const isDebuggerTerminal: boolean = context.terminal.name.startsWith("Run:") || context.terminal.name.startsWith("Debug:");
1820
const regex = new RegExp("(\\sat\\s+)([\\w$\\.]+\\/)?(([\\w$]+\\.)+[<\\w$>]+)\\(([\\w-$]+\\.java:\\d+)\\)");
1921
const result: RegExpExecArray | null = regex.exec(context.line);
2022
if (result && result.length) {
@@ -26,6 +28,7 @@ export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTermin
2628
methodName: result[3],
2729
stackTrace,
2830
lineNumber: sourceLineNumber,
31+
isDebuggerTerminal,
2932
}];
3033
}
3134

@@ -36,6 +39,10 @@ export class JavaTerminalLinkProvder implements TerminalLinkProvider<IJavaTermin
3639
* Handle an activated terminal link.
3740
*/
3841
public async handleTerminalLink(link: IJavaTerminalLink): Promise<void> {
42+
sendInfo("", {
43+
operationName: "handleJavaTerminalLink",
44+
isDebuggerTerminal: String(link.isDebuggerTerminal),
45+
});
3946
const uri = await resolveSourceUri(link.stackTrace);
4047
if (uri) {
4148
const lineNumber = Math.max(link.lineNumber - 1, 0);
@@ -56,4 +63,5 @@ interface IJavaTerminalLink extends TerminalLink {
5663
methodName: string;
5764
stackTrace: string;
5865
lineNumber: number;
66+
isDebuggerTerminal: boolean;
5967
}

0 commit comments

Comments
 (0)