JaroslavTulach opened a new pull request #2447: URL: https://github.com/apache/netbeans/pull/2447
I'd like to propose an addition over the initial work of @jlahoda that enhances the existing VSCode extension with support for debugging. @dbalek contributed enhancements to the typescript glue code and upgraded Eclipse LSP libraries to version 0.9 together with adding support for debug adapter protocol. @entlicher connected the protocol with the NetBeans debugging APIs. I organized the code into suite and standardized the CLI options. ### Architecture #### CLI Options The `java/java.lsp.server` module provides the `--start-java-language-server` as well as `--start-java-debug-adapter-server` options that provide a generally usable server for any LSP/DAP client. These options are available in standard NetBeans distribution. #### Integration Suite The `java/java.lsp.server/nbcode` suite is an NetBeans application suite that selects only some NetBeans modules and provides additional integration services - right now there is support for `IOProvider` and `StatusDisplayer` that forward the UI over the LSP protocol. Better and additional (think of `DialogDisplayer`) support is welcomed in the future. #### Actual VSCode Extension Then there is a `java/java.lsp.server/vscode` typescript project (btw. can be opened, edited, compiled from NetBeans IDE) which takes the ZIP generated by the `nbcode` suite and includes it in a `.vsix` file - e.g. the VSCode extension. The extension can then be installed into VSCode. #### Launcher The idea is that when a Java support is needed, the VSCode extension launches headless NetBeans application behind the scene and establishes LSP and DAP connections. Whenever new VSCode UI is launched, it shares the NetBeans backend and reuses it. Closing all VSCode UIs closes the NetBeans backend as well. The launcher attempts to support extensibility. `nbcode.ts` scans all activated extensions and collects clusters from `nbcode` subdirectory. As such it is possible for various VSCode extensions to contribute modules into the same backend and enhance its functionality. ### Working with the code See [java/java.lsp.server/vscode/README.md](https://github.com/apache/netbeans/blob/master/java/java.lsp.server/vscode/README.md) for instructions how to develop & build the VSCode extension. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists
