Giter Club home page Giter Club logo

lsp4ij's Introduction

LSP4IJ

Java CI with Gradle Validate against IJ versions JetBrains plugins JetBrains plugins

Description

LSP4IJ is a free and open-source Language Server protocol (LSP) client compatible with all flavours of IntelliJ.

It allows you to integrate any language server that communicates with its client via stdio:

LSP4IJ also provides:

  • an LSP Consoles view to tracks LSP requests, responses and notifications in a console:

LSP console

If you select the language server node, you can configure it the same way as in the Language Servers preferences page

LSP language server detail

and use the left toolbar to Apply or Reset the settings.

Language Server preferences

You can find more documentation in:

Articles

Who is using LSP4IJ?

Here are some projects that use LSP4IJ:

Requirements

  • Intellij IDEA 2023.2 or more recent (we try to support the last 4 major IDEA releases)
  • Java JDK (or JRE) 17 or more recent

Contributing

This is an open source project open to anyone. Contributions are extremely welcome!

Building

Project is managed by Gradle. So building is quite easy.

Building the plugin distribution file

Run the following command:

./gradlew buildPlugin

The plugin distribution file is located in build/distributions.

Testing

You can also easily test the plugin. Just run the following command:

./gradlew runIde

Testing the CI builds

You can also download and install CI builds of the latest commits or a specific pull request:

  • open the Build plugin zip workflow
  • click on the build you are interested in
  • scroll down and download the LSP4IJ <version>.zip file
  • install LSP4IJ <version>.zip into IntelliJ IDEA by following these instructions.

Testing nightly builds

You can easily install nightly builds from the nightly channel:

  • in IntelliJ, open Setting > Plugins > [Gear icon] > Manage Plugin Repositories...
  • Add https://plugins.jetbrains.com/plugins/nightly/23257 and press OK

Nightly Channel Repository

- install the latest `LSP4IJ` version

Nightly builds are published once a day.

Data and Telemetry

If the Red Hat Telemetry plugin is installed, the LSP4IJ plugin will collect anonymous usage data and send it to Red Hat servers to help improve our products and services. Read our privacy statement to learn more. This extension respects the Red Hat Telemetry setting which you can learn more about at https://github.com/redhat-developer/intellij-redhat-telemetry#telemetry-reporting

Feedback

File a bug in GitHub Issues.

You can have 2 kinds of errors:

  • an error from LSP4IJ, in this case, the error will be reported in the standard IntelliJ log.
  • an error coming from the language server.

For the second case, you can customize the error reporting with the Debug / Error reporting combo box by opening the Languages & Frameworks / Language Servers preferences:

Error reporting combo box

You can select:

  • None : in this case the language server error will be ignored.
  • In notification (default value) : in this case the language server error appear as a notification: Error in notification The error notification shows 3 possible actions:
    • Disable error reporting : sets the error reporting to None.
    • Report error in Log : sets the error reporting to In log.
    • Open LSP4IJ documentation : opens this documentation.
  • In log : in this case the language server error will be logged in the standard IntelliJ log: Error in log

You can see this error's details in the LSP Consoles view (by setting the Debug / Trace combo box in verbose):

Detail error in LSP console

License

Eclipse Public License 2.0. See LICENSE file.

lsp4ij's People

Contributors

angelozerr avatar fbricon avatar mituuz avatar insyncwithfoo avatar actions-user avatar turkeylurkey avatar sbouchet avatar cppcxy avatar falsepattern avatar seachicken avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.