I think the key is that it has the potential to be a great platform.
The text-editing "fundamentals" are covered by the Monaco engine. The rest is covered by extensions.
Out of the box, it's not much more than a glorified Notepad. Add some extensions and suddenly I'm stepping through my Rust breakpoints and inspecting values.
The language server protocol (LSP) is a massive leap forward. And unlike the Microsoft of Ballmer, LSP is an open standard that any editor designer can implement.
Most LSP work is just simple JSON messages passed with HTTP-like headers for Content-Type and Content-Length, presumably to future proof it against other payload formats.
Because LSP is a widely used protocol for language tooling that's not coupled to any particular editor.
I'm surprised xi didn't just add an LSP client to leverage the existing ecosystem. The benefits of in-house language server implementations seem marginal at best.
> Is there any reason to use LSP, rather than simple JSON messages passed between the front-end and back-end
Yes, there's a reason to use a documented open standard supported by multiple servers and clients that passes JSON back and forth rather than an ad hoc, client specific mechanism that also passes JSON back and forth.
In fact, the reason is exactly the problem LSP addresses, labeled as “The Matrix” at https://langserver.org
In short, a problem with N+M cost is better than N×M when both N and M are >2.
I thing it's already more an IDE than a plain editor. There is not even a normal file-explorer anymore, just an workspace-explorer. Using VS Code for regular editor-stuff is kinda painful IMHO.
VS Code always has such wonderful release notes. I don't think I use 10% of the features mentioned, but I love reading about them and learning about them in these notes anyway.
It's easier to write correct code when you know certain state changes always entail a full reload. Extension installs are rare enough and VSCode reloads quick enough that the tradeoff seems sensible.
This change introduces a new "extensions changed" event that extension points must (correctly) implement, so the cost is more code i.e. more opportunity for bugs. The essential question is of course, how much more, and I have no answer to that.
It's using xterm.js which has limitations on windows, for example PowerShell/cmd.exe will report mouse movement and I have not been able to get xterm.js based terminal emulators (vs code, hyper) to do the same.
Can someone recommend a good tutorial on getting started with VSCode? I downloaded it and it feels overwhelming to develop C/C++ code compared to Sublime Text. ST has simple build system (just path to compiler) and it runs out of the box. With VSCode, there are extensions and .json files for configuration and it is all extremely complex and overwhelming.
I tried VS Code early on and decided I'd give it a serious shot when I could modify the color scheme without having to go through a whole page of notes, download and install something like 3 other programs and practically learn a whole new language.
Is that possible yet? In other words, is there an actual GUI for configuring color, or at least a config file that's not some cryptic format for a program I've never used?
I know I'm probably exaggerating quite a bit, but I literally couldn't figure out how to do it after wasting a fair bit of time and gave up.
I was raised in the era of "programmer editors" like Brief and Multi-edit (the latter of which I still use) and those were always extremely easy to configure and enhance without having to use a bunch of external tools.
Fun fact: this is the first stable version that can start even without internet (LAN) connection on latest Windows 10 update 1809. (Mentioned as first Notable fix [0], fixed by updating Electron to v3.)
It's Microsoft telemetry in an open source project that doesn't respect the setting set by the user. The lack of a reply as to why should probably set off some alarms for the average tech user when it comes to any project with Microsoft telemetry in it.
Vscode is great, but it's a pitty they are running it on electron. 1.3GB of RAM usage for a 8GB machine is not efficient at all.
I switched to sublime3 because of this, sublime is great, really fast, only uses 300mb of RAM, unfortunately the packages and plugins aren't as streamlined as vscode.
Hoping they improve this.
I think this is only a problem when working unplugged. I have visual studio code sitting idle all the time and it really doesn't seem to slow down my system. It generally only uses about 500MB of RAM with two windows open with multiple tabs on each. I have 16GB of RAM but thats not much compared to today's standards.
Sublime text using 300mb of RAM is a little odd. Generally in my case, its uses around 20-25MB with 50+ tabs opened.
38 comments
[ 2.0 ms ] story [ 114 ms ] threadThe text-editing "fundamentals" are covered by the Monaco engine. The rest is covered by extensions.
Out of the box, it's not much more than a glorified Notepad. Add some extensions and suddenly I'm stepping through my Rust breakpoints and inspecting values.
https://github.com/xi-editor/xi-editor
https://microsoft.github.io/language-server-protocol/specifi...
I'm surprised xi didn't just add an LSP client to leverage the existing ecosystem. The benefits of in-house language server implementations seem marginal at best.
Yes, there's a reason to use a documented open standard supported by multiple servers and clients that passes JSON back and forth rather than an ad hoc, client specific mechanism that also passes JSON back and forth.
In fact, the reason is exactly the problem LSP addresses, labeled as “The Matrix” at https://langserver.org
In short, a problem with N+M cost is better than N×M when both N and M are >2.
But then you uninstall that extension and it's a nice, reasonably lightweight editor again.
This change introduces a new "extensions changed" event that extension points must (correctly) implement, so the cost is more code i.e. more opportunity for bugs. The essential question is of course, how much more, and I have no answer to that.
Emphasis on: which occupies the complete editor area as shown below:
So finally windows has a decent terminal emulator, will install vscode just for this next time I'm on windows.
https://code.visualstudio.com/docs/languages/cpp
Is that possible yet? In other words, is there an actual GUI for configuring color, or at least a config file that's not some cryptic format for a program I've never used?
I was raised in the era of "programmer editors" like Brief and Multi-edit (the latter of which I still use) and those were always extremely easy to configure and enhance without having to use a bunch of external tools.
(I also recall the process being rather user-unfriendly in earlier versions)
https://code.visualstudio.com/updates/v1_31#_notable-fixes
https://github.com/dotnet/cli/issues/3093
https://github.com/dotnet/cli/issues/10497
The article is for microsoft/vscode.
Your links are for dotnet/cli.
I switched to sublime3 because of this, sublime is great, really fast, only uses 300mb of RAM, unfortunately the packages and plugins aren't as streamlined as vscode. Hoping they improve this.
Sublime text using 300mb of RAM is a little odd. Generally in my case, its uses around 20-25MB with 50+ tabs opened.