You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- exposed a lot of configuration settings
- added lsp-java-generate-to-string
- added lsp-java-generate-equals-and-hash-code
- added lsp-java-generate-overrides
- changed lsp-java-organize-imports to work interactivelly
- added lsp-java-add-throws
Copy file name to clipboardExpand all lines: README.md
+64-22Lines changed: 64 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,6 +3,9 @@
3
3
[](https://gitter.im/emacs-lsp/lsp-mode?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
4
4
5
5
Emacs Java IDE using [Eclipse JDT Language Server](https://projects.eclipse.org/projects/eclipse.jdt.ls).
6
+
7
+
__ANNOUNCEMENT__`lsp-java` switching from Eclipse [eclipse.che.jdt](https://github.com/eclipse/che-ls-jdt) to directly using [Eclipse JDT Language Server](https://projects.eclipse.org/projects/eclipse.jdt.ls) due to the fact that [che-ls-jdt](https://github.com/eclipse/che-ls-jdt) does not bump upstream components often enough. As a result all Che dependent methods(Treemacs integation and browse classpath) won't work. If you still want to use [eclipse.che.jdt](https://github.com/eclipse/che-ls-jdt) functionality you may set `lsp-java-jdt-download-url` to `http://download.eclipse.org/che/che-ls-jdt/snapshots/che-jdt-language-server-latest.tar.gz` and call `lsp-java-update-server`.
8
+
6
9
## Features
7
10
LSP java mode supports the following JDT Features:
8
11
* As you type reporting of parsing and compilation errors (via [flycheck](https://github.com/flycheck/flycheck)/[lsp-ui](https://github.com/emacs-lsp/lsp-ui))
@@ -98,6 +101,9 @@ Minimal configuration with [company-lsp](https://github.com/tigersoldier/company
__NOTE__ It works only when using Eclipse Che Language Server.
119
+
112
120
[lsp-java](https://github.com/emacs-lsp/lsp-java) provides experimental integration with [treemacs](https://github.com/Alexander-Miller/treemacs) which provides option to navigate through package dependecies, namespaces, classes and resources.
*`lsp-java-update-project-uris` refresh the project URIs.
116
124
#### Classpath browsing
125
+
__NOTE__ It works only when using Eclipse Che Language Server.
126
+
117
127
[lsp-java](https://github.com/emacs-lsp/lsp-java) the command `lsp-java-classpath-browse` which allows users to browse the structure of current projects classpath. From that view the users could go to the particular item.
118
128

119
129
#### STS4 Integration (experimental)
@@ -210,29 +220,61 @@ hovers while editing Spring Boot Properties in either `.properties` or `.yml` fo
210
220
`lsp-java` provides a frontend for [Spring Initializr](https://start.spring.io/) which simplifies the creation of Spring Boot projects directly from Emacs via `lsp-java-spring-initializr`.
211
221

212
222
## Supported settings
213
-
*`lsp-java-server-install-dir` - Install directory for eclipsejdtls-server
214
-
*`lsp-java-java-path` - Path of the java executable
*`lsp-java-pop-buffer-function` - The function which will be used for showing the helper windows.
235
+
*`lsp-java-vmargs` - Specifies extra VM arguments used to launch the Java Language Server. Eg. use `-noverify -Xmx1G -XX:+UseG1GC -XX:+UseStringDeduplication` to bypass class verification,increase the heap size to 1GB and enable String deduplication with the G1 Garbage collector
236
+
*`lsp-java-9-args` - Specifies arguments specific to java 9 and later.
237
+
*`lsp-java-errors-incomplete-classpath-severity` - Specifies the severity of the message when the classpath is incomplete for a Java file
238
+
*`lsp-java-configuration-check-project-settings-exclusions` - Checks if the extension-generated project settings files (.project, .classpath, .factorypath, .settings/) should be excluded from the file explorer.
239
+
*`lsp-java-configuration-update-build-configuration` - Specifies how modifications on build files update the Java classpath/configuration
240
+
*`lsp-java-trace-server` - Traces the communication between VS Code and the Java language server.
241
+
*`lsp-java-import-gradle-enabled` - Enable/disable the Gradle importer.
242
+
*`lsp-java-import-maven-enabled` - Enable/disable the Maven importer.
243
+
*`lsp-java-maven-download-sources` - Enable/disable eager download of Maven source artifacts.
244
+
*`lsp-java-references-code-lens-enabled` - Enable/disable the references code lens.
245
+
*`lsp-java-signature-help-enabled` - Enable/disable the signature help.
246
+
*`lsp-java-implementations-code-lens-enabled` - Enable/disable the implementations code lens.
247
+
*`lsp-java-configuration-maven-user-settings` - Path to Maven's settings.xml
*`lsp-java-save-actions-organize-imports ` - Enable/disable auto organize imports on save action
220
250
*`lsp-java-import-exclusions` - Configure glob patterns for excluding folders
221
-
*`lsp-java-favorite-static-members` - Defines a list of static members or types with static members
222
-
*`lsp-java-import-order` - Defines the sorting order of import statements
223
-
*`lsp-java-trace-server` - Traces the communication between Emacs and the Java language server
224
-
*`lsp-java-enable-file-watch` - Defines whether the client will monitor the files for changes
225
-
*`lsp-java-format-enabled` - Specifies whether or not formatting is enabled on the language server
226
-
*`lsp-java-format-settings-url` - Specifies the file path to the formatter xml url
227
-
*`lsp-java-format-settings-profile` - Specifies the formatter profile name
228
-
*`lsp-java-format-comments-enabled` - Preference key used to include the comments during the formatting
229
-
*`lsp-java-save-action-organize-imports` - Organize imports on save
230
-
*`lsp-java-bundles` - List of bundles that will be loaded in the JDT server
231
-
*`lsp-java-import-gradle-enabled` - Enable/disable the Gradle importer
232
-
*`lsp-java-import-maven-enabled` - Enable/disable the Maven importer
233
-
*`lsp-java-auto-build` - Enable/disable the 'auto build'
234
-
*`lsp-java-progress-report` - [Experimental] Enable/disable progress reports from background processes on the server
235
-
*`lsp-java-completion-guess-arguments` - When set to true, method arguments are guessed when a method is selected from as list of code assist proposals.
251
+
*`lsp-java-content-provider-preferred` - Preferred content provider (a 3rd party decompiler id, usually)
252
+
*`lsp-java-autobuild-enabled` - Enable/disable the 'auto build'
253
+
*`lsp-java-max-concurrent-builds` - Max simultaneous project builds
254
+
*`lsp-java-completion-enabled` - Enable/disable code completion support
255
+
*`lsp-java-completion-overwrite` - When set to true, code completion overwrites the current text. When set to false, code is simply added instead.
256
+
*`lsp-java-completion-guess-method-arguments` - When set to true, method arguments are guessed when a method is selected from as list of code assist proposals.
257
+
*`lsp-java-completion-favorite-static-members` - Defines a list of static members or types with static members. Content assist will propose those static members even if the import is missing.
258
+
*`lsp-java-completion-import-order` - Defines the sorting order of import statements. A package or type name prefix (e.g. 'org.eclipse') is a valid entry. An import is always added to the most specific group.
259
+
*`lsp-java-folding-range-enabled` - Enable/disable smart folding range support. If disabled, it will use the default indentation-based folding range provided by VS Code.
260
+
*`indentation-based` - [Experimental] Enable/disable progress reports from background processes on the server.
261
+
*`lsp-java-progress-reports-enabled` - [Experimental] Enable/disable progress reports from background processes on the server.
262
+
*`lsp-java-format-settings-url` - Specifies the url or file path to the [Eclipse formatter xml settings](https://github.com/redhat-developer/vscode-java/wiki/Formatter-settings).
263
+
*`lsp-java-format-settings-profile` - Optional formatter profile name from the Eclipse formatter settings.
264
+
*`lsp-java-format-comments-enabled` - Includes the comments during code formatting.
265
+
*`lsp-java-format-on-type-enabled` - Enable/disable automatic block formatting when typing `;`, `<enter>` or `}`
266
+
*`lsp-java-bundles` - List of bundles that will be loaded in the JDT server.
267
+
*`lsp-java-code-generation-hash-code-equals-use-java7objects` - Use Objects.hash and Objects.equals when generating the hashCode and equals methods. This setting only applies to Java 7 and higher.
268
+
*`lsp-java-code-generation-hash-code-equals-use-instanceof` - Use 'instanceof' to compare types when generating the hashCode and equals methods.
269
+
*`lsp-java-code-generation-use-blocks` - Use blocks in 'if' statements when generating the methods.
270
+
*`lsp-java-code-generation-generate-comments` - Generate method comments when generating the methods.
271
+
*`lsp-java-code-generation-to-string-template` - The template for generating the toString method.
272
+
*`lsp-java-code-generation-to-string-code-style` - The code style for generating the toString method.
273
+
*`lsp-java-code-generation-to-string-skip-null-values` - Skip null values when generating the toString method.
274
+
*`lsp-java-code-generation-to-string-list-array-contents` - List contents of arrays instead of using native toString().
275
+
*`lsp-java-code-generation-to-string-limit-elements` - Limit number of items in arrays/collections/maps to list, if 0 then list all.
276
+
*`lsp-java-inhibit-message` - If non-nil, inhibit java messages echo via `inhibit-message'.
277
+
236
278
## Additional packages
237
279
*[lsp-ui](https://github.com/emacs-lsp/lsp-ui) : Flycheck, documentation and code actions support.
238
280
*[company-lsp](https://github.com/tigersoldier/company-lsp) : LSP company backend.
0 commit comments