in src/extension.ts [32:69]
async function initializeExtension(_operationId: string, context: vscode.ExtensionContext) {
initFormatterSettingsEditorProvider(context);
initRemoteProfileProvider(context);
initUtils(context);
initCommands(context);
initRecommendations(context);
context.subscriptions.push(vscode.languages.registerCodeActionsProvider({ scheme: "file", language: "java", pattern: "**/*.java" }, new CodeActionProvider()));
// webview serializers to restore pages
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.extGuide", new JavaExtGuideViewSerializer()));
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.overview", new OverviewViewSerializer()));
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.runtime", new JavaRuntimeViewSerializer()));
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.gettingStarted", new BeginnerTipsViewSerializer(context)));
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.welcome", new WelcomeViewSerializer()));
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.classpathConfiguration", new ClassPathConfigurationViewSerializer()));
context.subscriptions.push(vscode.window.registerWebviewPanelSerializer("java.installJdk", new InstallJdkViewSerializer(context)));
const config = vscode.workspace.getConfiguration("java.help");
if (config.get("firstView") !== HelpViewType.None && context.globalState.get(KEY_SHOW_WHEN_USING_JAVA)) {
scheduleAction("showFirstView", true).then(() => {
presentFirstView(context);
});
}
if (config.get("showReleaseNotes")) {
scheduleAction("showReleaseNotes").then(() => {
showReleaseNotesOnStart(context);
});
}
if (!await validateJavaRuntime()) {
scheduleAction("showJdkState", true, true).then(() => {
vscode.commands.executeCommand("java.runtime");
});
}
}