Skip to content

Commit c395c7c

Browse files
authored
monitor cleaning of Java LS workspace (#1164)
Signed-off-by: Yan Zhang <[email protected]>
1 parent b2519b3 commit c395c7c

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

src/extension.ts

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

4+
import * as fs from "fs";
5+
import * as path from "path";
46
import * as vscode from "vscode";
5-
import { dispose as disposeTelemetryWrapper, initialize, instrumentOperation } from "vscode-extension-telemetry-wrapper";
7+
import { dispose as disposeTelemetryWrapper, initialize, instrumentOperation, sendInfo } from "vscode-extension-telemetry-wrapper";
8+
import { BeginnerTipsViewSerializer } from "./beginner-tips";
69
import { ClassPathConfigurationViewSerializer } from "./classpath/classpathConfigurationView";
710
import { initialize as initCommands } from "./commands";
11+
import { initDaemon } from "./daemon";
812
import { initialize as initExp } from "./exp";
913
import { JavaExtGuideViewSerializer } from "./ext-guide";
1014
import { initFormatterSettingsEditorProvider } from "./formatter-settings";
1115
import { initRemoteProfileProvider } from "./formatter-settings/RemoteProfileProvider";
12-
import { BeginnerTipsViewSerializer } from "./beginner-tips";
1316
import { InstallJdkViewSerializer } from "./install-jdk";
1417
import { JavaRuntimeViewSerializer, validateJavaRuntime } from "./java-runtime";
1518
import { HelpViewType, showReleaseNotesOnStart } from "./misc";
@@ -20,7 +23,8 @@ import { initialize as initUtils } from "./utils";
2023
import { KEY_SHOW_WHEN_USING_JAVA } from "./utils/globalState";
2124
import { scheduleAction } from "./utils/scheduler";
2225
import { showWelcomeWebview, WelcomeViewSerializer } from "./welcome";
23-
import { initDaemon } from "./daemon";
26+
27+
let cleanJavaWorkspaceIndicator: string;
2428

2529
export async function activate(context: vscode.ExtensionContext) {
2630
syncState(context);
@@ -38,6 +42,11 @@ async function initializeExtension(_operationId: string, context: vscode.Extensi
3842
initRecommendations(context);
3943
initDaemon(context);
4044

45+
if(context.storageUri) {
46+
const javaWorkspaceStoragePath = path.join(context.storageUri.fsPath, "..", "redhat.java");
47+
cleanJavaWorkspaceIndicator = path.join(javaWorkspaceStoragePath, "jdt_ws", ".cleanWorkspace");
48+
}
49+
4150
context.subscriptions.push(vscode.languages.registerCodeActionsProvider({ scheme: "file", language: "java", pattern: "**/*.java" }, new CodeActionProvider()));
4251

4352
// webview serializers to restore pages
@@ -89,5 +98,11 @@ function initializeTelemetry(_context: vscode.ExtensionContext) {
8998
}
9099

91100
export async function deactivate() {
101+
if (cleanJavaWorkspaceIndicator && fs.existsSync(cleanJavaWorkspaceIndicator)) {
102+
sendInfo("", {
103+
name: "cleanJavaLSWorkspace",
104+
timestamp: Date.now().toString()
105+
});
106+
}
92107
await disposeTelemetryWrapper();
93108
}

0 commit comments

Comments
 (0)