Comments (8)
Although at the moment, all language servers I've seen are using Node, it is not a requirement and we have to keep implementation independent from node.js.
However, for the current examples, it would indeed be interesting to reuse JSDT Node launch config directly rather than a Program Launch.
from eclipse-language-service.
@mickaelistria Any thoughts on usability? Launch configs are truly nice from a dev perspective. However, presenting that to some other people I got feedback that they are confusing and it's a technical detail that should better be hidden.
from eclipse-language-service.
@mickaelistria This one is implemented in pure PHP: https://github.com/felixfbecker/php-language-server
from eclipse-language-service.
@guw: AFAIK, if we want to run external programs properly in Eclipse IDE, there isn't much alternative, is there? Moreover, on the long run, I expect the Language Server Launch Configuration to be created by plugins in a smart way (finding right path or coming with a configuration wizard), without requiring users to know about and manipulate Launch Configurations.
from eclipse-language-service.
They should be just processes in the background. There is no need for launch configs IMO. Ideally, users won't even realize something has been started in the background.
from eclipse-language-service.
The benefit with Launch Configurations is that they allow environment specific tweaks. For example, OmniSharp require to override the LD_LIBRARY_PATH on most Linux distributions. The Launch Configuration gives this ability to user for free.
However, on the long run, if language server all work smoothly without any need for tweak, independent processes would be simpler. But it would require to setup yet-another registry to store the known language servers, whereas we currently reuse the Launch Configuration registry.
So I think you're right, but I have the impression it's too early to drop the Launch Configuration and its ability to let users customize how language servers are run.
from eclipse-language-service.
Some new advantages of relying on Run Configurations:
- Those can be shared as .launch file so a server configuration can be distributed and configured without installing a plugin
- If we allow Run Configuration, we can most likely also allow Debug Configuration and support issue #39 to allow development of Language Servers inside Eclipse with an immediate feedback loop.
from eclipse-language-service.
At the moment, there are no issues with allowing any Launch Configuration. It has allowed to fix #39, it allows users to manually add and configure new servers without installing anything. So let's close this one until an actual issue is found with this approach.
from eclipse-language-service.
Related Issues (20)
- TimeoutException for CSS code completion HOT 14
- Move to Eclipse.org HOT 12
- cursor positioning is broken HOT 3
- support markdown in hovers HOT 7
- Outline view is hanging UI for large data set HOT 9
- Support for file system (file outside Workspace) HOT 2
- [Ouline] Use a FilteredTree HOT 2
- Improve SymbolKind and CompletionItemKind icons HOT 1
- Move symbol problems decoration to separate decorator HOT 3
- Syntax Coloration with TextMate HOT 1
- Move to LSP4J HOT 5
- how to debug the editor and the language server simultaneously HOT 4
- Requesting not available operations kicks off another language server instance HOT 6
- Symbols operations failing HOT 1
- Formatting for JSON stops working HOT 5
- [Outline] Support for all containerName != null HOT 7
- Add extension point for LS definition HOT 17
- Allow custom extensions HOT 3
- CSS and JSON LS is terminated a moment after initialization HOT 3
- NullPointerException with hover and JSON file HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from eclipse-language-service.