Skip to content

Extension for Zed to support Java

Notifications You must be signed in to change notification settings

nulliver/zed-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zed Java

This extension adds support for the Java language.

Configuration

Settings

You can optionally configure the version of JDTLS (the language server) to download or the class path that JDTLS uses in your Zed settings.

If Lombok support is enabled via JDTLS initialization option (initialization_options.settings.java.jdt.ls.lombokSupport.enabled), this extension will add Lombok as a javaagent to the JVM arguments for JDTLS. You can also configure the version of Lombok to use via setting the version at settings.lombok_version.

Below is a configuration example for this extension:

{
  "lsp": {
    "jdtls": {
      "settings": {
        "classpath": "/path/to/classes.jar:/path/to/more/classes/",
        "jdtls_version": "1.40.0", // This is the default value
        "lombok_version": "1.18.34" // Defaults to latest version if not set
      }
    }
  }
}

Initialization Options

There are also many more options you can pass directly to the language server, for example:

{
  "lsp": {
    "jdtls": {
      "initialization_options": {
        "bundles": [],
        "workspaceFolders": ["file:///home/snjeza/Project"],
        "settings": {
          "java": {
            "home": "/usr/local/jdk-9.0.1",
            "errors": {
              "incompleteClasspath": {
                "severity": "warning"
              }
            },
            "configuration": {
              "updateBuildConfiguration": "interactive",
              "maven": {
                "userSettings": null
              }
            },
            "trace": {
              "server": "verbose"
            },
            "import": {
              "gradle": {
                "enabled": true
              },
              "maven": {
                "enabled": true
              },
              "exclusions": [
                "**/node_modules/**",
                "**/.metadata/**",
                "**/archetype-resources/**",
                "**/META-INF/maven/**",
                "/**/test/**"
              ]
            },
            "lombokSupport": {
              "enabled": false // Set this to true to enable lombok support
            },
            "referencesCodeLens": {
              "enabled": false
            },
            "signatureHelp": {
              "enabled": false
            },
            "implementationsCodeLens": {
              "enabled": false
            },
            "format": {
              "enabled": true
            },
            "saveActions": {
              "organizeImports": false
            },
            "contentProvider": {
              "preferred": null
            },
            "autobuild": {
              "enabled": false
            },
            "completion": {
              "favoriteStaticMembers": [
                "org.junit.Assert.*",
                "org.junit.Assume.*",
                "org.junit.jupiter.api.Assertions.*",
                "org.junit.jupiter.api.Assumptions.*",
                "org.junit.jupiter.api.DynamicContainer.*",
                "org.junit.jupiter.api.DynamicTest.*"
              ],
              "importOrder": ["java", "javax", "com", "org"]
            }
          }
        }
      }
    }
  }
}

Example taken from JDTLS's initialization options wiki page.

You can see all the options JDTLS accepts here.

About

Extension for Zed to support Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 62.9%
  • Scheme 37.1%