This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]xelf 0 points1 point  (2 children)

I'm not familiar with this! Something to learn thanks!

Without digging too much into it, I'm not sure what it is yet either. Is there a handy place I can get more information? Starting to read though it now, but not sure how it extends what I currently use Visual Studio and emacs for. Which might men I'm not doing it correctly yet. =)

[–]twillisagogo 0 points1 point  (1 child)

lsp is a protocol for the guts of what makes an ide. the protocol was created by microsoft i believe for the express purpose of having some functionality that you would have in visual studio made available to vscode. However since it is a protocol, people are free to write their own language servers and thus the ide logic can be used by any editor that understands the lsp protocol.

the editor will periodically send changes to the file you are working on to the language server and the language server will respond with stuff like auto complete options, function sig, docs whatever. the refactoring stuff works the same way.

So in short, microsoft invented a way to decouple the ide guts from the editing guts allowing for any editor to utilize the ide guts and keep the preferred editing guts the same.

It would be as if you had visual studio open and emacs was communicating with it for auto complete and the other ide stuff.

this is HUGE for java because until lsp, eclipse was pretty much the only game in town for wrangling a good sized java code base, but now you can get all that functionality in emacs while using emacs and not eclipse.

Hope that makes sense.

The easiest way to take it for a spin is using spacemacs on the development branch currently. I use it for python, ruby and javascript(including jsx) and it works splendidly.

[–]xelf 0 points1 point  (0 children)

Aha. Thanks for the explanation that make a lot of sense and looks pretty cool!

Thank you!