Skip to content

Java Language Support: 25-minute startup time until operational. #4034

Closed

Description

@jackcomtw

Java Language Support (LJS): 25-min startup & ignores disabled Gradle setting

This is a humble request. I really like VSCode, but I'm getting very frustrated with the Language Server for Java (LJS). This issue is severely impacting my work.
In addition to the 25-minute startup time I mentioned previously, I've encountered another problem:
Even though I have disabled Gradle functionality (e.g., set java.import.gradle.enabled to false), LJS seems to disregard this setting. It still attempts to load Gradle information and throws a "load gradle version error".
Could you please provide some assistance with these issues? Thank you very much.

Version Information:

Identifier: redhat.java
Version: 1.41.1
Last Updated: 2025-04-28, 17:53:19
Size: 164.50MB
Cache: 22.13MB

VSCode Settings.json

{
    "java.autobuild.enabled": false,
    "java.jdt.ls.androidSupport.enabled": "off",
    "java.trace.server": "verbose",

    "terminal.integrated.env.windows": {
        "JAVA_HOME": "D:\\tools\\java\\jdk-21.0.4.7-hotspot",
        "MAVEN_HOME": "D:\\tools\\maven\\apache-maven-3.8.4",
        "MAVEN_OPTS": "-Dmaven.resolver.transport=wagon -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true"
    },
    "java.configuration.maven.userSettings": "C:\\Users\\Z1103\\.m2\\settings.xml",
    "java.configuration.maven.globalSettings": "C:\\Users\\Z1103\\.m2\\settings.xml",
    "maven.settingsFile": "C:\\Users\\Z1103\\.m2\\settings.xml",
    "maven.executable.path": "D:\\tools\\maven\\apache-maven-3.8.4\\bin\\mvn",
    "maven.terminal.useJavaHome": true,
    "editor.formatOnSave": false,
    "java.format.enabled": false,
    "java.configuration.runtimes": [
        {
            "default": true,
            "name": "JavaSE-21",
            "path": "D:\\tools\\java\\jdk-21.0.4.7-hotspot"
        },
        {
            "name" :"JavaSE-24",
            "path": "D:\\tools\\java\\openjdk-24.0.1_windows-x64_bin\\jdk-24.0.1"
        },
        {
            "name": "JavaSE-1.8",
            "path": "D:\\tools\\java\\jdk1.8.0_181"
        }
    ],
    "[java]": {
        "editor.suggest.snippetsPreventQuickSuggestions": false
    },
    "jdk.jdkhome": "D:\\tools\\java\\jdk-21.0.4.7-hotspot",
    "jdk.project.jdkhome": "D:\\tools\\java\\jdk-21.0.4.7-hotspot",
    "java.jdt.ls.java.home": "D:\\tools\\java\\jdk-21.0.4.7-hotspot",
    "java.jdt.ls.vmargs": "-Djavax.net.ssl.trustStore=D:\\tools\\java\\jdk-21.0.4.7-hotspot\\lib\\security\\cacerts -Djavax.net.ssl.trustStorePassword=changeit -DXmx2G ",
    "spring-boot.ls.java.home": "D:\\tools\\java\\jdk-21.0.4.7-hotspot",
    "spring-boot.ls.java.vmargs": [
        "-Djavax.net.ssl.trustStore=D:\\tools\\java\\jdk-21.0.4.7-hotspot\\lib\\security\\cacerts",
        "-Djavax.net.ssl.trustStorePassword=changeit"
    ],

    "redhat.telemetry.enabled": true,
    "spring.initializr.defaultLanguage": "Java",
    "java.server.launchMode": "Standard",
    "java.jdt.ls.lombokSupport.enabled": true,
    "java.format.comments.enabled" : true,
    "java.completion.enabled": true,
    "java.completion.guessMethodArguments" :"auto",
    "java.import.maven.enabled": true, // 啟用 Maven 支援

    "java.import.generatesMetadataFilesAtProjectRoot" :false, 
    "java.configuration.updateBuildConfiguration": "disabled",
    "java.import.gradle.enabled": false,
    "java.import.gradle.wrapper.enabled" : false,

    "window.newWindowProfile": null,
    "debug.disassemblyView.showSourceCode": false,
    "editor.inlineSuggest.edits.showCollapsed": true,
    "git.openRepositoryInParentFolders": "always",
    "xml.server.preferBinary": true
}

Log :

!SESSION 2025-04-30 13:24:53.864 -----------------------------------------------
eclipse.buildId=unknown
java.version=21.0.4
java.vendor=OpenLogic
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=zh_TW
Framework arguments:  --pipe=\\.\pipe\lsp-9eda882fc0d91a0113e63aa0f4ed6057-sock
Command-line arguments:  -data c:\Users\Z1103\AppData\Roaming\Code\User\workspaceStorage\3adf2c20fb8c80f40f40da720bf0cda2\redhat.java\jdt_ws --pipe=\\.\pipe\lsp-9eda882fc0d91a0113e63aa0f4ed6057-sock

!ENTRY org.eclipse.core.resources 2 10035 2025-04-30 13:24:56.962
!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:24:58.984
!MESSAGE class org.eclipse.jdt.ls.core.internal.JavaLanguageServerPlugin is started

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:24:59.707
!MESSAGE Started org.eclipse.buildship.core 265ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:24:59.709
!MESSAGE Started org.eclipse.m2e.core 0ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:24:59.714
!MESSAGE ProjectRegistryRefreshJob finished 3ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:00.573
!MESSAGE Main thread is waiting

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:00.734
!MESSAGE >> initialize

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:00.739
!MESSAGE Initializing Java Language Server 1.46.1.202504011548

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.696
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.698
!MESSAGE Non-Static Commands: [java.project.import, java.project.changeImportedProjects, java.navigate.openTypeHierarchy, java.project.resolveStackTraceLocation, java.edit.handlePasteEvent, java.edit.stringFormatting, java.project.getSettings, java.project.resolveWorkspaceSymbol, java.project.upgradeGradle, java.project.createModuleInfo, java.vm.getAllInstalls, java.edit.organizeImports, java.project.refreshDiagnostics, java.project.removeFromSourcePath, java.project.listSourcePaths, java.project.updateSettings, java.project.getAll, java.reloadBundles, java.project.isTestFile, java.project.resolveText, java.project.getClasspaths, java.navigate.resolveTypeHierarchy, java.edit.smartSemicolonDetection, java.project.updateSourceAttachment, java.project.updateClassPaths, java.decompile, java.protobuf.generateSources, java.project.resolveSourceAttachment, java.project.updateJdk, java.project.addToSourcePath, java.completion.onDidSelect]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.700
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.702
!MESSAGE Non-Static Commands: [java.intellicode.enable]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.704
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.706
!MESSAGE Non-Static Commands: [java.project.refreshLib, java.project.checkImportStatus, java.project.list, java.project.generateJar, java.project.getMainClasses, java.getPackageData, java.resolvePath]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.708
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.709
!MESSAGE Non-Static Commands: [java.codeAction.lombok.getAnnotations, java.codeAction.lombok]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.711
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.713
!MESSAGE Non-Static Commands: [java.maven.initializeSearcher, java.maven.searchArtifact, java.maven.addDependency, java.maven.controlContext]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.715
!MESSAGE Static Commands: [sts.java.addClasspathListener, sts.java.removeClasspathListener]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.717
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.721
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.723
!MESSAGE Non-Static Commands: [sts.java.javadoc]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.725
!MESSAGE Static Commands: [sts.java.type]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.727
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.729
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.731
!MESSAGE Non-Static Commands: [sts.java.javadocHoverLink]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.733
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.735
!MESSAGE Non-Static Commands: [sts.java.location]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.737
!MESSAGE Static Commands: [sts.java.search.packages, sts.java.search.types]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.739
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.741
!MESSAGE Static Commands: [sts.java.hierarchy.supertypes, sts.java.hierarchy.subtypes]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.743
!MESSAGE Non-Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.745
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.747
!MESSAGE Non-Static Commands: [sts.java.code.completions]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.749
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.751
!MESSAGE Non-Static Commands: [sts.project.gav]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.753
!MESSAGE Static Commands: []

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.755
!MESSAGE Non-Static Commands: [vscode.java.checkProjectSettings, vscode.java.isOnClasspath, vscode.java.fetchUsageData, vscode.java.validateLaunchConfig, vscode.java.resolveInlineVariables, vscode.java.resolveClassFilters, vscode.java.resolveMainMethod, vscode.java.resolveClasspath, vscode.java.resolveBuildFiles, vscode.java.resolveMainClass, vscode.java.updateDebugSettings, vscode.java.resolveSourceUri, vscode.java.fetchPlatformSettings, vscode.java.buildWorkspace, vscode.java.startDebugSession, vscode.java.inferLaunchCommandLength, vscode.java.resolveElementAtSelection, vscode.java.resolveJavaExecutable]

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.808
!MESSAGE >> initialized

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.827
!MESSAGE RepositoryRegistryUpdateJob finished 1ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:01.870
!MESSAGE Importing Maven project(s)

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:02.157
!MESSAGE Workspace initialized in 330ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:02.188
!MESSAGE >> initialization job finished

!ENTRY org.springframework.tooling.jdt.ls.extension 1 0 2025-04-30 13:25:05.919
!MESSAGE ClasspathListenerHandler executeCommand sts.java.addClasspathListener, [4017fec4-d496-4bb2-93ec-38ae1f994311]

!ENTRY org.springframework.tooling.jdt.ls.extension 1 0 2025-04-30 13:25:05.927
!MESSAGE ClasspathListenerHandler addClasspathListener 4017fec4-d496-4bb2-93ec-38ae1f994311

!ENTRY org.springframework.tooling.jdt.ls.extension 1 0 2025-04-30 13:25:05.931
!MESSAGE ClasspathListenerHandler addClasspathListener 4017fec4-d496-4bb2-93ec-38ae1f994311 => OK

!ENTRY java-debug 1 0 2025-04-30 13:25:06.010
!MESSAGE Starting com.microsoft.java.debug.plugin

!ENTRY org.eclipse.buildship.core 2 0 2025-04-30 13:25:11.303
!MESSAGE Could not load Gradle version information
!STACK 0
org.gradle.api.UncheckedIOException: Cannot download published Gradle versions.
	at org.eclipse.buildship.core.internal.util.gradle.PublishedGradleVersions.downloadVersionInformation(PublishedGradleVersions.java:167)
	at org.eclipse.buildship.core.internal.util.gradle.PublishedGradleVersions.tryToDownloadAndCacheVersions(PublishedGradleVersions.java:151)
	at org.eclipse.buildship.core.internal.util.gradle.PublishedGradleVersions.create(PublishedGradleVersions.java:111)
	at org.eclipse.buildship.core.internal.util.gradle.PublishedGradleVersionsWrapper$LoadVersionsJob.run(PublishedGradleVersionsWrapper.java:73)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.net.SocketTimeoutException: Connect timed out
	at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
	at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:592)
	at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327)
	at java.base/java.net.Socket.connect(Socket.java:751)
	at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304)
	at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:531)
	at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:636)
	at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
	at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:377)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1237)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1123)
	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1675)
	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1599)
	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:223)
	at org.eclipse.buildship.core.internal.util.gradle.PublishedGradleVersions.downloadVersionInformation(PublishedGradleVersions.java:164)
	... 4 more

!ENTRY org.springframework.tooling.jdt.ls.extension 1 0 2025-04-30 13:25:12.708
!MESSAGE ClasspathListenerHandler executeCommand sts.java.addClasspathListener, [sts4.classpath.ZBroAGQa]

!ENTRY org.springframework.tooling.jdt.ls.extension 1 0 2025-04-30 13:25:12.708
!MESSAGE ClasspathListenerHandler addClasspathListener sts4.classpath.ZBroAGQa

!ENTRY org.springframework.tooling.jdt.ls.extension 1 0 2025-04-30 13:25:12.708
!MESSAGE ClasspathListenerHandler addClasspathListener sts4.classpath.ZBroAGQa => OK

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:16.266
!MESSAGE >> build jobs finished

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:16.268
!MESSAGE >> registerWatchers'

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:16.274
!MESSAGE >> registerFeature 'workspace/didChangeWatchedFiles'

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:35.757
!MESSAGE >> java/validateDocument

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:36.046
!MESSAGE Reconciled 1. Took 0 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:36.259
!MESSAGE User canceled while collecting the document symbols.

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:37.478
!MESSAGE begin problem for /DataTransferRecordMapper.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:37.478
!MESSAGE 1 problems reported for /DataTransferRecordMapper.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:25:37.506
!MESSAGE Validated 1. Took 750 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:31.776
!MESSAGE Creating the Java project jdt.ls-java-project

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:31.896
!MESSAGE Finished creating the Java project jdt.ls-java-project

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:31.926
!MESSAGE Reconciled 1. Took 11 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:32.466
!MESSAGE Reconciled 1. Took 89 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:34.161
!MESSAGE begin problem for /CarTransferService.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:34.163
!MESSAGE 6 problems reported for /CarTransferService.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:34.613
!MESSAGE begin problem for /SystemStatusHandler.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:34.632
!MESSAGE 1 problems reported for /SystemStatusHandler.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:39:34.690
!MESSAGE Validated 2. Took 1083 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:42:31.743
!MESSAGE Clearing problems for /SystemStatusHandler.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:44:46.375
!MESSAGE Reconciled 2. Took 12 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:44:48.168
!MESSAGE begin problem for /CarTransferService.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:44:48.172
!MESSAGE 6 problems reported for /CarTransferService.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:44:48.279
!MESSAGE begin problem for /SystemStatusHandler.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:44:48.279
!MESSAGE 1 problems reported for /SystemStatusHandler.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:44:48.279
!MESSAGE Validated 2. Took 469 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:47:46.116
!MESSAGE Clearing problems for /SystemStatusHandler.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:48:59.979
!MESSAGE >> java/validateDocument

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:05.414
!MESSAGE >> java/validateDocument

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:06.787
!MESSAGE begin problem for /DataTransferRecordMapper.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:06.827
!MESSAGE 1 problems reported for /DataTransferRecordMapper.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:06.852
!MESSAGE Validated 1. Took 239 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:12.653
!MESSAGE Reconciled 1. Took 4 ms

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:12.760
!MESSAGE >> java/validateDocument

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:14.827
!MESSAGE begin problem for /CarTransferService.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:14.843
!MESSAGE 6 problems reported for /CarTransferService.java

!ENTRY org.eclipse.jdt.ls.core 1 0 2025-04-30 13:49:15.015
!MESSAGE Validated 1. Took 1179 ms

Activity

  1. rgrunber commented on May 1, 2025

    @rgrunber
    Member

    I think the Could not load Gradle version information doesn't imply the project is being imported as a Gradle project. The part failing is just trying to get more information about known Gradle versions but not actually importing your project as a Gradle project. The only exception I can think of is if you're also using vscode-gradle as well, which has a separate setting to disable.

    !ENTRY org.eclipse.core.resources 2 10035 2025-04-30 13:24:56.962
    !MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes.
    

    When you see this error, I would perform a Java: Clean Java Language Server Workspace and select Reload and delete from the prompt. This is something that can happen when the underlying language server isn't terminated in a predicable manner. The language server tries to restore the state of the project metadata, but often this can take much longer. It's usually better to re-import from scratch.

    How long does it usually take to import your project ? Are you able to share it to test things out ? Does it always take ~25min or only occasionally when something goes wrong ?

  2. jackcomtw commented on May 2, 2025

    @jackcomtw
    Author

    Thank you for your reply, I am very grateful.
    Reproducing the accident process is very easy because it happens every time. My steps are as follows:

    1. Execute Java: Clean Java Language Server Workspace -> Reload and delete
    2. Close Vscode
    3. Run Vscode
    4. This screen appears, start timing with a stopwatch
      2025-05-02 09:07:36
      Image
    5. This screen appears
      2025-05-02 09:09:25
      Image
    6. This screen appears
      2025-05-02 09:10:53
      Image
    7. This screen appears
      2025-05-02 09:11:16
      Image

    I have a feeling that VScode seems to delay loading the Language Server for Java (LJS).
    Could you give me some ideas to improve this situation?"

    this is my extensions list

    aaravb.chrome-extension-developer-tools
    ciceroisback.loam
    danielding.jsontotype
    davidanson.vscode-markdownlint
    dhruv.maven-dependency-explorer
    donjayamanne.githistory
    donjayamanne.python-environment-manager
    donjayamanne.python-extension-pack
    dotjoshjohnson.xml
    ecmel.vscode-html-css
    eriklynd.json-tools
    georgewfraser.vscode-javac
    github.copilot
    github.copilot-chat
    huizhou.githd
    jfrog.jfrog-vscode-extension
    joesmo12.magicpython310
    joshuapoehls.json-escaper
    kevinrose.vsc-python-indent
    magicstack.magicpython
    mhutchie.git-graph
    ms-ceintl.vscode-language-pack-zh-hant
    ms-python.debugpy
    ms-python.isort
    ms-python.python
    ms-vscode-remote.remote-containers
    ms-vscode.live-server
    ms-vscode.powershell
    ms-vscode.vscode-speech
    ms-vscode.vscode-speech-language-pack-zh-tw
    nils-ballmann.python-coding-tools
    njpwerner.autodocstring
    oracle.oracle-java
    redhat.fabric8-analytics
    redhat.java
    redhat.vscode-xml
    sallar.json-to-js-object
    secanis.jenkinsfile-support
    shd101wyy.markdown-preview-enhanced
    ted-996.python-editing-terminal
    tushortz.python-extended-snippets
    visualstudioexptteam.intellicode-api-usage-examples
    visualstudioexptteam.vscodeintellicode
    vmware.vscode-boot-dev-pack
    vmware.vscode-spring-boot
    vscjava.vscode-gradle
    vscjava.vscode-java-debug
    vscjava.vscode-java-dependency
    vscjava.vscode-java-pack
    vscjava.vscode-java-test
    vscjava.vscode-lombok
    vscjava.vscode-maven
    vscjava.vscode-spring-boot-dashboard
    vscjava.vscode-spring-initializr
    walkme.java-extension-pack
    while.prettify
    wholroyd.jinja
    yzane.markdown-pdf
    
  3. rgrunber commented on May 8, 2025

    @rgrunber
    Member

    For the extension to only begin activating ~3min after starting up VS Code is strange.

    Would you be able to perform the same steps that cause this, but once VS Code Java has clearly started, open the command palette (usually ctrl+shift+p) and select Developer: Show Running Extensions. You should see a list of all running extensions sorted by largest activation time. How long is the activation time for Language Support for Java(TM) by Red Hat ? Are there any extensions that take much longer to activate ?

    For me, a few extensions take around 200ms (including vscode-java), but most take less than that.

  4. jackcomtw commented on May 13, 2025

    @jackcomtw
    Author

    Activation time for Language Support for Java by Red Hat took approximately 786ms.
    However, I'm really confused because GitHub Copilot Chat , which also had an activation time of 2822ms, gave me a completely different impression overall. It feels very fast, with no sense of delay at all.

    I've always suspected that after VsCode starts up, it takes a long time before Language Support for Java(TM) by Red Hat is activated. In other words, Language Support for Java(TM) by Red Hat is delayed in its activation. I have no idea what VsCode is doing during this time, nor do I know what Language Support for Java(TM) by Red Hat is doing.

    Let me clarify—my work environment is terrible: slow internet speed, slow computer, limited memory, and a Proxy Server, all of which are frustrating and annoying aspects of

    Image

  5. cypher256 commented on May 17, 2025

    @cypher256

    @jackcomtw
    Is it intentional that the following extensions with similar functionality are installed?

    oracle.oracle-java
    redhat.java

  6. rgrunber commented on May 20, 2025

    @rgrunber
    Member

    @jackcomtw Is it intentional that the following extensions with similar functionality are installed?

    oracle.oracle-java redhat.java

    @cypher256 that's a good point. Given that @jackcomtw filed the issue here, I would try removing things like oracle.oracle-java, and georgewfraser.vscode-javac that might overlap with redhat.java in features. Also walkme.java-extension-pack I think is probably not needed (duplicate of vscjava.vscode-java-pack). You might even try removing things like redhat.fabric8-analytics, jfrog.jfrog-vscode-extension.

    A more extreme option is installing only redhat.java in a fresh installation and seeing how the import behaves with just that. If it improves things, then it's just a matter of slowly installing what you need and seeing what causes the editor to slow down.

    I would definitely try going through that list of extensions and check what you really need. Remove what you don't think is necessary and see if it improves things.

  7. iwangbowen commented on May 23, 2025

    @iwangbowen

    It happened to me. It's importing my maven project like forever

  8. jackcomtw commented on May 29, 2025

    @jackcomtw
    Author

    Everyone~

    I finally found the root of the problem.

    When VSCode removes an extension, it doesn't actually remove the extension or free up the occupied hard disk space. The removed extension can still affect your work like a ghost; the delayed loading of 'LSJ by Red Hat' is the best example.

    Here's what I did:

    1. Close VSCode.

    2. Convert the VSCode install package into a VSCode Portable Package; this is not a mandatory step.

    3. Delete the files and subdirectories under two directories:

      \VSCode-win32-x64\data\user-data\User\workspaceStorage\*

      \VSCode-win32-x64\data\extensions\*

    4. Launch VSCode.

    5. You will notice that all extensions have yellow exclamation marks. Remove and reinstall them sequentially based on dependencies.

    6. Restart VSCode.

    I discovered that VSCode originally occupied 8.45GB of space, but after reinstalling all the extensions, it reduced to 3.11GB. The loading speed of LSJ by Red Hat improved to under 10 seconds, which is within my acceptable range.

    Thank you all for your help.

  9. rgrunber commented on May 29, 2025

    @rgrunber
    Member

    I finally found the root of the problem.

    When VSCode removes an extension, it doesn't actually remove the extension or free up the occupied hard disk space. The removed extension can still affect your work like a ghost; the delayed loading of 'LSJ by Red Hat' is the best example.

    This is true. I think I noticed this at microsoft/vscode-gradle#1441 (comment) .

    (Oh, and disabling vscode-gradle isn't enough to make the problem go away because we use extensions.all when collecting contributions on the vscode-java side, and that doesn't seem to exclude disabled/uninstalled extensions)

    Did you have duplicate versions of the same extension ? Do you know what \VSCode-win32-x64\data\extensions\ prior to deletion ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions