IntelliJ IDEA provides a wide range of features designed to enhance developer productivity, such as the ability to change method signatures and automatically update all corresponding callers. These features are working great; however, they are strongly tied to the JetBrains IDE. One approach to expanding this to other code editors is to use the Language Server Protocol. It provides a unified way for communication between a code editor (the client) and a language-specific analysis tool (the server). Instead of every code editor having to write its own logic for language support, they all use the single server implementation. One of the limitations of this protocol is the inability to show a complex UI on the client side, which is crucial to “Change signature” refactoring. You will work as a part of the Java team, and your task will be to research the opportunities and to provide the implementation of this refactoring via LSP.
Useful links:
Must have:
Experience with programming in Java or Kotlin
Good written and verbal communication skills.
Curiosity and ability to perform research.
Nice to have:
Experience with IntelliJ SDK plugin development.