-
Notifications
You must be signed in to change notification settings - Fork 62
Lessons learned #71
Comments
I haven't written anything like that but maybe I should. Off the top of my head I don't recall many situations where I felt that I needed to go back and redesign something but here are some general observations:
As for where to start, if you want to have a language server I think either the OCaml one or the Agda could serve as an example if you just stripped out the features you didn't need. If you take a look at the server capabilities it shouldn't be too hard to trace down to the individual features in the code base. That's assuming you want to have it implemented in typescript though. If you already have a tool like merlin available, I would just implement the server in typescript because it will be much easier to get to something usable quickly. If you don't have that, there's less reason to use typescript, but then the whole package (client/server) becomes a lot more work. |
Thanks for the feedback. That's probably good enough for me for now. If you ever felt the motivation, I would certainly enjoy reading a write up on some more details of the work you've done on this extension and others. Thanks! |
No problem. By the way, if you decide to start working on your own extension or language server I would be happy to give some tips if you run into any difficulties. |
This is sort of an open-ended question, but I am curious if you might summarize (if you haven't already somewhere) some of the key points to keep in mind for creating a VS Code extension like this.
If I were to create an extension like this for another language, what would be a good starting point? What would be some best practices to follow, or pitfalls to avoid?
Thanks for any direction you might suggest and for your work on this extension!
The text was updated successfully, but these errors were encountered: