From 001714691f448f61d033bae8ea8ab8098498fe09 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Thu, 20 Aug 2026 17:24:26 -0400 Subject: [PATCH 1/2] Upgrade to TypeScript 6 - Adjust module and target settings to allow more flexibility for adapting ES Modules in the future - Adjust source code to new behaviour from the above change - Disable a few compiler errors for now Fixes #4486 Signed-off-by: David Thompson --- package-lock.json | 49 ++++++++++++---------- package.json | 15 +++---- src/javaServerStarter.ts | 2 +- src/log.ts | 2 +- src/requirements.ts | 2 +- src/webview/globals.d.ts | 2 + test/lightweight-mode-suite/index.ts | 2 +- test/standard-mode-suite/extension.test.ts | 2 +- test/standard-mode-suite/index.ts | 2 +- tsconfig.base.json | 15 +++++-- tsconfig.webview.json | 1 + 11 files changed, 53 insertions(+), 41 deletions(-) create mode 100644 src/webview/globals.d.ts diff --git a/package-lock.json b/package-lock.json index 644c99f03..63109840a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -55,7 +55,7 @@ "sinon": "^14.0.0", "tar": "^7.5.11", "ts-loader": "^9.4.2", - "typescript": "^4.6.4", + "typescript": "^6.0.3", "typescript-eslint": "^8.65.0", "webpack": "^5.105.0", "webpack-cli": "^7.2.1" @@ -4990,9 +4990,9 @@ } }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -5000,7 +5000,7 @@ "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/typescript-eslint": { @@ -5302,14 +5302,6 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "node_modules/vscode-jsonrpc": { - "version": "8.2.1-next.1", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.1-next.1.tgz", - "integrity": "sha512-L+DYtdUtqUXGpyMgHqer6IBKvFFhl/1ToiMmCmG85LYHuuX0jllHMz77MYt0RicakoYY+Lq1yLK6Qj3YBqgzDQ==", - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/vscode-languageclient": { "version": "8.2.0-next.3", "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.2.0-next.3.tgz", @@ -5344,19 +5336,30 @@ "node": ">=10" } }, - "node_modules/vscode-languageserver-protocol": { - "version": "3.17.6-next.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.1.tgz", - "integrity": "sha512-2npXUc8oe/fb9Bjcwm2HTWYZXyCbW4NTo7jkOrEciGO+/LfWbSMgqZ6PwKWgqUkgCbkPxQHNjoMqr9ol/Ehjgg==", + "node_modules/vscode-languageclient/node_modules/vscode-jsonrpc": { + "version": "8.2.0-next.2", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz", + "integrity": "sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/vscode-languageclient/node_modules/vscode-languageserver-protocol": { + "version": "3.17.4-next.3", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz", + "integrity": "sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==", + "license": "MIT", "dependencies": { - "vscode-jsonrpc": "8.2.1-next.1", - "vscode-languageserver-types": "3.17.6-next.1" + "vscode-jsonrpc": "8.2.0-next.2", + "vscode-languageserver-types": "3.17.4-next.2" } }, - "node_modules/vscode-languageserver-types": { - "version": "3.17.6-next.1", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.1.tgz", - "integrity": "sha512-7xVc/xLtNhKuCKX0mINT6mFUrUuRz0EinhwPGT8Gtsv2hlo+xJb5NKbiGailcWa1/T5e4dr5Pb2MfGchHreHAA==" + "node_modules/vscode-languageclient/node_modules/vscode-languageserver-types": { + "version": "3.17.4-next.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz", + "integrity": "sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==", + "license": "MIT" }, "node_modules/vscode-variables": { "version": "1.0.1", diff --git a/package.json b/package.json index fff1f8de0..7aa2faff5 100644 --- a/package.json +++ b/package.json @@ -1333,11 +1333,11 @@ "default": false, "scope": "window" }, - "java.codeGeneration.generateCommentsInMarkdown": { - "type": "boolean", - "description": "Generate Javadoc comments in Markdown style (requires source compliance >= 23).", - "default": false - }, + "java.codeGeneration.generateCommentsInMarkdown": { + "type": "boolean", + "description": "Generate Javadoc comments in Markdown style (requires source compliance >= 23).", + "default": false + }, "java.codeGeneration.toString.template": { "type": "string", "description": "The template for generating the toString method.", @@ -2175,7 +2175,7 @@ "sinon": "^14.0.0", "tar": "^7.5.11", "ts-loader": "^9.4.2", - "typescript": "^4.6.4", + "typescript": "^6.0.3", "typescript-eslint": "^8.65.0", "webpack": "^5.105.0", "webpack-cli": "^7.2.1" @@ -2200,9 +2200,6 @@ "winston": "^3.2.1", "winston-daily-rotate-file": "^4.7.1" }, - "overrides": { - "vscode-languageserver-protocol": "3.17.6-next.1" - }, "segmentWriteKey": "Y7Y5Xk8dKEhVZHTmAkFZkqgdN4d7c4lt", "segmentWriteKeyDebug": "BflPll7uuKOCm3y0g7JpfXLVBVFBivDE" } diff --git a/src/javaServerStarter.ts b/src/javaServerStarter.ts index 9b566f372..00da6400b 100644 --- a/src/javaServerStarter.ts +++ b/src/javaServerStarter.ts @@ -128,7 +128,7 @@ export function getUnicodeLocaleEnv(): { [key: string]: string } { return env; } -export function awaitServerConnection(port): Thenable { +export function awaitServerConnection(port): Promise { const addr = parseInt(port); return new Promise((res, rej) => { const server = net.createServer(stream => { diff --git a/src/log.ts b/src/log.ts index ce340c3d9..30ffea336 100644 --- a/src/log.ts +++ b/src/log.ts @@ -1,5 +1,5 @@ import { createLogger, format, transports } from 'winston'; -import * as DailyRotateFile from 'winston-daily-rotate-file'; +import DailyRotateFile from 'winston-daily-rotate-file'; export function initializeLogFile(filename: string) { logger.add(new DailyRotateFile({ diff --git a/src/requirements.ts b/src/requirements.ts index cedb881ba..11c6015f7 100644 --- a/src/requirements.ts +++ b/src/requirements.ts @@ -1,6 +1,6 @@ 'use strict'; -import * as expandHomeDir from 'expand-home-dir'; +import expandHomeDir from 'expand-home-dir'; import * as fse from 'fs-extra'; import { getRuntime, getSources, JAVAC_FILENAME, JAVA_FILENAME } from 'jdk-utils'; import * as path from 'path'; diff --git a/src/webview/globals.d.ts b/src/webview/globals.d.ts new file mode 100644 index 000000000..8f5aed92b --- /dev/null +++ b/src/webview/globals.d.ts @@ -0,0 +1,2 @@ +/* silence warnings from typescript about not being able to analyse sideeffects of css imports */ +declare module "*.css" {} diff --git a/test/lightweight-mode-suite/index.ts b/test/lightweight-mode-suite/index.ts index a32edaa0c..d2c47a239 100644 --- a/test/lightweight-mode-suite/index.ts +++ b/test/lightweight-mode-suite/index.ts @@ -11,7 +11,7 @@ // a possible error to the callback or null if none. import * as path from 'path'; -import * as Mocha from 'mocha'; +import Mocha from 'mocha'; import { glob } from 'glob'; export async function run(testsRoot: string): Promise { diff --git a/test/standard-mode-suite/extension.test.ts b/test/standard-mode-suite/extension.test.ts index aee1a1d02..9b5371122 100644 --- a/test/standard-mode-suite/extension.test.ts +++ b/test/standard-mode-suite/extension.test.ts @@ -1,4 +1,4 @@ -import * as assert from 'assert'; +import assert from 'assert'; import * as fs from 'fs'; import * as path from 'path'; import { env } from 'process'; diff --git a/test/standard-mode-suite/index.ts b/test/standard-mode-suite/index.ts index 479c5eedf..dd0c0cc2c 100644 --- a/test/standard-mode-suite/index.ts +++ b/test/standard-mode-suite/index.ts @@ -11,7 +11,7 @@ // a possible error to the callback or null if none. import * as path from 'path'; -import * as Mocha from 'mocha'; +import Mocha from 'mocha'; import { glob } from 'glob'; export async function run(testsRoot: string): Promise { diff --git a/tsconfig.base.json b/tsconfig.base.json index 17c7bc77a..5efffd8b4 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,14 +1,23 @@ { "compilerOptions": { - "target": "es6", - "moduleResolution": "node", + + "target": "es2020", + "module": "nodenext", + "moduleResolution": "bundler", + "outDir": "out", "sourceMap": true, "skipLibCheck": true, + "strictFunctionTypes": false, + "strictNullChecks": false, + "noImplicitAny": false, + "noImplicitThis": false, + "useUnknownInCatchVariables": false, "plugins": [ { "name": "eslint" } ], - } + "types": ["node", "vscode", "mocha"] + }, } diff --git a/tsconfig.webview.json b/tsconfig.webview.json index 0c78cb638..b8a2bd5ea 100644 --- a/tsconfig.webview.json +++ b/tsconfig.webview.json @@ -9,6 +9,7 @@ "jsx": "react-jsx", "esModuleInterop": true, "allowSyntheticDefaultImports": true, + "rootDir": "./src" }, "include": [ "src/webview", From ab5001078574cf9e725117756c81d06466d2f288 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 29 Jul 2026 13:39:42 -0400 Subject: [PATCH 2/2] [WIP] Update language client to 10.1.0 - Update to TypeScript 6 (TODO: split off into a different PR) - Update to `vscode-langaugeclient@^10.1.0` - Adjust to changes to language server logging API - VS Code now provides client-side log filtering based on a configured log level. This interacts in a slightly annoying way with our own server side log filtering, but ultimately both are helpful to have, since disabling logging on the client still means the server is sending trace level messages, which may be annoying Required to get `workspace/textDocumentContent` working, see https://github.com/eclipse-jdtls/eclipse.jdt.ls/pull/3855 Signed-off-by: David Thompson --- package-lock.json | 99 ++++++++++++++------------------------ package.json | 2 +- src/extension.ts | 6 +-- src/outputInfoCollector.ts | 25 ++++++++-- src/providerDispatcher.ts | 5 +- 5 files changed, 63 insertions(+), 74 deletions(-) diff --git a/package-lock.json b/package-lock.json index 63109840a..5850e54fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "semver": "^7.5.2", - "vscode-languageclient": "8.2.0-next.3", + "vscode-languageclient": "^10.1.0", "vscode-variables": "^1.0.1", "winreg-utf8": "^0.1.1", "winston": "^3.2.1", @@ -1237,7 +1237,8 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true }, "node_modules/base64-js": { "version": "1.3.1", @@ -2268,19 +2269,6 @@ "node": ">=6 <7 || >=8" } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -4383,9 +4371,9 @@ "license": "MIT" }, "node_modules/semver": { - "version": "7.7.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", - "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -5302,63 +5290,50 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, - "node_modules/vscode-languageclient": { - "version": "8.2.0-next.3", - "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-8.2.0-next.3.tgz", - "integrity": "sha512-Ojo6L2cb7GSiyD864k8vGb9fHxBdZeciHQQOF595C3IDHWg0w4KQ7iN7qGWVdl4wDNwlGTX3wWZawGfPTxnrPQ==", - "dependencies": { - "minimatch": "^5.1.0", - "semver": "^7.3.7", - "vscode-languageserver-protocol": "3.17.4-next.3" - }, + "node_modules/vscode-jsonrpc": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.1.tgz", + "integrity": "sha512-rfuA6T75H6m5EkbhtEPzre9pT0HPcDI2MMy4+nPFIBks5J8JBAUHD4tRYSgaBOijIEC7SRkC1kKyXTLqbmh9jw==", + "license": "MIT", "engines": { - "vscode": "^1.79.0" + "node": ">=14.0.0" } }, - "node_modules/vscode-languageclient/node_modules/brace-expansion": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.1.4.tgz", - "integrity": "sha512-hGfVzPxthbf3+2yjg/RBs60cB0FhqBS/zvdV/4wn4/BmN0bNMMHPc4V/BbFieqf1TKAGGAHnY4eSjajCl0f2Xg==", + "node_modules/vscode-languageclient": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-10.1.0.tgz", + "integrity": "sha512-XXRx6lqVitQy/oOLr9MfNYRG+MbQkhXkDaxbQMiKxEm8zZNfheRFUKNb8UYNh2stn9btl2wQM5wZFJjJvoc+jA==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/vscode-languageclient/node_modules/minimatch": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.9.tgz", - "integrity": "sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" + "minimatch": "^10.2.5", + "semver": "^7.8.1", + "vscode-languageserver-protocol": "3.18.2", + "vscode-languageserver-textdocument": "1.0.13" }, "engines": { - "node": ">=10" - } - }, - "node_modules/vscode-languageclient/node_modules/vscode-jsonrpc": { - "version": "8.2.0-next.2", - "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0-next.2.tgz", - "integrity": "sha512-1FQrqLselaLLe5ApFSU/8qGUbJ8tByWbqczMkT2PEDpDYthCQTe5wONPuVphe7BB+FvZwvBFI2kFkY7FtyHc1A==", - "license": "MIT", - "engines": { - "node": ">=14.0.0" + "vscode": "^1.91.0" } }, - "node_modules/vscode-languageclient/node_modules/vscode-languageserver-protocol": { - "version": "3.17.4-next.3", - "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.4-next.3.tgz", - "integrity": "sha512-GnW3ldfzlsDK9B1/L1edBW1ddSakC59r+DRipTYCcXIT/zCCbLID998Dxn+exgrL33e3/XLQ+7hQQiSz6TnhKQ==", + "node_modules/vscode-languageserver-protocol": { + "version": "3.18.2", + "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.18.2.tgz", + "integrity": "sha512-XRyDbT0Pp3sSNti3JmxVEUMySWCSi1hhM+/KUlCy1hV1zmrqpM1OwO12EAki8blhmLuIMpaJrYbo0OzGVfK2Qg==", "license": "MIT", "dependencies": { - "vscode-jsonrpc": "8.2.0-next.2", - "vscode-languageserver-types": "3.17.4-next.2" + "vscode-jsonrpc": "9.0.1", + "vscode-languageserver-types": "3.18.0" } }, - "node_modules/vscode-languageclient/node_modules/vscode-languageserver-types": { - "version": "3.17.4-next.2", - "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.4-next.2.tgz", - "integrity": "sha512-r6tXyCXyXQH7b6VHkvRT0Nd9v+DWQiosgTR6HQajCb4iJ1myr3KgueWEGBF1Ph5/YAiDy8kXUhf8dHl7wE1H2A==", + "node_modules/vscode-languageserver-textdocument": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.13.tgz", + "integrity": "sha512-nx0ZHwMGIsVkzFG3/VLeJYBLTaFBRuNdGDvevvjuoayU5EOS2fEYazOhtCM3PI9ClMMg5igc0uwXtAq4tJj+Dw==", + "license": "MIT" + }, + "node_modules/vscode-languageserver-types": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.18.0.tgz", + "integrity": "sha512-8TsGPNMIMiiBdkORgRSvLjuiEIiAFtO+KssmYWxQ+uSVvlf7RjK8YKCOjPzZ+YA04jXEV7+7LvkSmHkhpNS99g==", "license": "MIT" }, "node_modules/vscode-variables": { diff --git a/package.json b/package.json index 7aa2faff5..de46d1c7c 100644 --- a/package.json +++ b/package.json @@ -2194,7 +2194,7 @@ "react": "^17.0.2", "react-dom": "^17.0.2", "semver": "^7.5.2", - "vscode-languageclient": "8.2.0-next.3", + "vscode-languageclient": "^10.1.0", "vscode-variables": "^1.0.1", "winreg-utf8": "^0.1.1", "winston": "^3.2.1", diff --git a/src/extension.ts b/src/extension.ts index b7bec291a..942d65470 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -286,9 +286,9 @@ export async function activate(context: ExtensionContext): Promise }, resolveCompletionItem: async (item, token, next): Promise => { const completionItem = await next(item, token); - if (completionItem?.documentation instanceof MarkdownString) { - completionItem.documentation = fixJdtLinksInDocumentation(completionItem.documentation); - } + // if (completionItem?.documentation instanceof MarkdownString) { + // completionItem.documentation = fixJdtLinksInDocumentation(completionItem.documentation); + // } return completionItem; }, // https://github.com/redhat-developer/vscode-java/issues/2130 diff --git a/src/outputInfoCollector.ts b/src/outputInfoCollector.ts index c166e450c..fd93bb00b 100644 --- a/src/outputInfoCollector.ts +++ b/src/outputInfoCollector.ts @@ -1,11 +1,28 @@ -import { OutputChannel, window, ViewColumn } from "vscode"; +import { Event, LogLevel, LogOutputChannel, ViewColumn, window } from "vscode"; import { logger } from "./log"; -export class OutputInfoCollector implements OutputChannel { - private channel: OutputChannel = null; +export class OutputInfoCollector implements LogOutputChannel { + private channel: LogOutputChannel = null; constructor(public name: string) { - this.channel = window.createOutputChannel(this.name); + this.channel = window.createOutputChannel(this.name, { log:true }); + } + get logLevel(): LogLevel { return this.channel.logLevel; } + get onDidChangeLogLevel(): Event { return this.channel.onDidChangeLogLevel; }; + trace(message: string, ...args: any[]): void { + this.channel.trace(message, args); + } + debug(message: string, ...args: any[]): void { + this.channel.debug(message, args); + } + info(message: string, ...args: any[]): void { + this.channel.info(message, args); + } + warn(message: string, ...args: any[]): void { + this.channel.warn(message, args); + } + error(error: string | Error, ...args: any[]): void { + this.channel.error(error, args); } append(value: string): void { diff --git a/src/providerDispatcher.ts b/src/providerDispatcher.ts index abacbe141..869a107b0 100644 --- a/src/providerDispatcher.ts +++ b/src/providerDispatcher.ts @@ -25,16 +25,13 @@ export function registerClientProviders(context: ExtensionContext, options: Prov const symbolProvider = createDocumentSymbolProvider(); context.subscriptions.push(languages.registerDocumentSymbolProvider('java', symbolProvider)); - const jdtProvider = createJDTContentProvider(options); - context.subscriptions.push(workspace.registerTextDocumentContentProvider('jdt', jdtProvider)); - const classProvider = createClassContentProvider(options); context.subscriptions.push(workspace.registerTextDocumentContentProvider('class', classProvider)); overwriteWorkspaceSymbolProvider(context); return { - handles: [hoverProvider, symbolProvider, jdtProvider, classProvider] + handles: [hoverProvider, symbolProvider, classProvider] }; }