4 ms·
I think this extension demonstrates the flexibility of VSCode and how easy it can be to extend the platform with an extension. Although it's supported by Micro
by gitgud 6y ago
I think this extension demonstrates the flexibility of VSCode and how easy it can be to extend the platform with an extension.
Although it's supported by Microsoft, it's heavily influenced by the Open-Source community. I believe that's the reason it's so popular and user-friendly for both developers and users.
Can you imagine someone trying to implement this extension on a proprietary platform like Visual Studio or IntelliJ? ... going through proprietary documentation with no access of the Source-Code to the underlying system... It would be a nightmare
- happymellon 6y agoBut IntelliJ is open source? https://github.com/JetBrains/intellij-community https://github.com/JetBrains/intellij-community
- nothis 6y agoDoes Community Edition have all features?
- enitihas 6y agoIt does have almost all the features of VSCode and more. The features of ultimate are far ahead of what VSCode offers, like showing where a particular dependency is injected from in Guice or Spring.
- chii 6y agounfortunately, the API and such for creating an intellij plugin (and creating it well!) is much more difficult than a VScode plugin. And the structure of VSCode probably makes it easier to write standard code that doesn't perform poorly (it's a browser after all).
- enitihas 6y agoYup, but that is the same as how VSCode makes extending itself more difficult than emacs, but is more full featured and requires less tweaking. They lie on different points of the continuum.
- nevf1 6y agoIn fairness, Visual Studio has all of the features of VSCode and many more out of the box too - however, I find myself ducking into VSCode for it's better UI/UX - e.g. JSON/XML formatting, Git source control, code colouring and theming etc.
- enitihas 6y agoVisual Studio is not open source. The community edition has T&C unlike IntelliJ community edition. Also IIRC asks you to login with a Microsoft account for sustained usage. And it is still not good as the equivalent Jetbrains products. Jetbrains products have almost no restrictions either in the free version or in the personally paid versions as far as I remember. IntelliJ also has a very good git support story, and I find myself using less and less cli git for anything from rebase to selectively staging certain chunks of code.
- ppezaris 6y agoThe main missing feature, and the one that enables rich integrations, is a webview.
- oblio 6y agoNo, but you don't need all the features to implement an extension. It's just that developers are cheap.
- nothis 6y agoIMO it's the best side of Microsoft. It's something Apple would never do because the result might be too unpredictable and messy.
- nikofeyn 6y agoapple has plenty of messy approaches though. they simply aren't interested in creating anything that will itself run or allow creation of anything that is intended to be used outside of their devices and ecosystem.
- carlmr 6y agoThey do some major contributions to Clang/LLVM, which is the fondation of many non-Mac programs.
- sah2ed 6y agoWebKit doesn’t count? Google, BlackBerry, Amazon, Opera, Tizen, etc all maintain different derivations based off of Apple’s work with WebKit, with the most well known being Google Chrome. (Although I’ll grant that WebKit itself is a fork of KHTML from the KDE project).
- wayneftw 6y agoWebKit doesn't have nearly the same amount of community engagement as VS Code does probably because it's a piece of infrastructure code rather than user-facing software. Where is WebKit source and issue management anyway? It's not on GitHub. I don't imagine Apple providing very well for people, who ask for endless options on a product like VS Code. I suppose the open source Swift language might be comparable, but I don't think it's anywhere in the same league as VS Code regarding the number of users.
- mook 6y agoI believe WebKit source and issue management is on webkit.org; not being on GitHub seems to make sense to me, as (according to Wikipedia) WebKit was released three years before GitHub was founded. This is the Apple release, not KHTML existing (which was another seven years before that).
- Cthulhu_ 6y agoIn theory, for a big system like intellij or VS you want to use the docs over the source code; both are projects with millions of LOC, at which point reading the code to write an extension becomes unfeasible. That said, I do really enjoy being able to go to the source for libraries I use, recently in Go. What helps with that is that the code is consistent and readable no matter what project I open up.
- Ndymium 6y ago> In theory, for a big system like intellij or VS you want to use the docs over the source code Sadly for IntelliJ the documentation is lacking. There is some very general documentation online but they do not publish a generated API documentation, so as an extension developer you are often in the dark trying to figure out what classes / methods to use, unless you learn how to compile the documentation yourself.
- thatsnotmepls 6y agoHad the same experience while working on an extension. Looking at their forum and extensions with similar features you want to implement is the way to go. IntelliJ's documentation is very superficial and lacking.
- CivBase 6y agoNot to knock VS Code, but I suspect this has more to do with draw.io Desktop[0] and VS Code both being JS/electron apps and draw.io officially supporting an embedded mode[1]. IIRC, most of IntelliJ is open source but it is probably much harder to embed a JS app in a Java app. [0] https://github.com/jgraph/drawio-desktop https://github.com/jgraph/drawio-desktop [1] https://github.com/jgraph/drawio-integration https://github.com/jgraph/drawio-integration
- chii 6y agoit really shines when apps open their internals via a web-like API to allow embedding. I wish more apps have such extensibility, so that it's easy to embed apps within, and that apps be made more modular so that they can be embedded. Microsoft had the same vision with their COM architecture, which allowed apps to be embedded inside other apps. But sadly it's too complicated, and difficult to really use (so you won't have seen much other than microsoft's own apps using such features to embed other microsoft apps). And the web would've been a great API/protocol level for an app to be embedded via such a way, but a lot of apps dislike being framed/embedded.
- slightwinder 6y ago> Although it's supported by Microsoft, it's heavily influenced by the Open-Source community. Isn't it developed by an external studio in switzerland which just happend to be attatched with microsoft? I always got the impression this independance from the old Redmond-Cancer is a main reason why it could propsper so well. By which I mean that in Redmond there seems to be some gangwars going on between the different departments, projects and generations of developers, which in external Studios seems to mostly non-existent. There was also that studio in israel which seem to propser quite well. Maybe Microsoft is accidently a perfect example for diversity in culture working out beneficial with software-projects?