5 ms·
I really wish Microsoft had used a different platform to build VS code on, like C#/Mono, Java, anything except Javascript/Electron basically. I just started usi
by w0utert 9y ago
I really wish Microsoft had used a different platform to build VS code on, like C#/Mono, Java, anything except Javascript/Electron basically. I just started using VS code for C++ development, trying to switch from Vim, an I basically like everything about the concept, but the execution and quality/polish of the software is mediocre at best. At least three times a day random stuff breaks: code completion stops working, switching between header/source (using a plugin) stops working, all keyboard input except shortcuts stops working, Vim plugin acting up, the app randomly starts to use 40% cpu until I kill it etc. On top of that performance is just so-so for most things (editing, autocomplete), and quite slow for others (e.g. gotoSymbol for the whole project). This was very disappointing for me to find out considering all the praise VS code gets for being ‘probably the best Electron app’.
I don’t mean this as a flame, but the software just feels like all the other applications I tried that are based on web technology. If it works everything is fine, but if you stress the application enough, inevitably things start to fail in ways that suggest it was simply too difficult to properly QA and test the thing to the point it doesn’t hit some weird platform edge case. I sincerely think the product itself is awesome, apparently that’s enough for people to put up with the shoddy stability and general sense of quality?
Maybe there are other reasons and the platform is not actually the problem, but I find it remarkable that something as advanced as VS code fails in similar ways my own web-based projects usually fail.
And now I read they are going to implement their own console rendering using HTML canvas, because the obvious ways to implement it when you are stuck with a Electron have major shortcomings... Somehow I just feel Microsoft with all their talent and resources could have made an even more impressive product if they had made the exact same thing based on some other platform...
- CJefferson 9y agoSomething is seriously wrong with your setup. I know many vscode users, and none of them are having your problems. I'm not saying you aren't having real problems, but they aren't common and they can appear in any editor -- I used to fill vim with plugins and it would hang frequently.
- thebestia29 9y agovery good clarification the truth I liked your article, I would love to learn more of this world of technology as a trend to niverl worldwide and develop web pages and develop applications that allow us to go forward and know more about what is new IA
- w0utert 9y agoMy setup is just the official, latest release, with the Microsoft plugin for C++, the Vim bindings everyone uses, and one additional plugin for switching between header and source. I customized nothing besides a few keybindings and enabling neovim mode. This is on Ubuntu by the way. I also used VS code a little on macOS for web development, and to be fair, I didn’t run into any of these problems there. But that’s for projects that are literally 100 times smaller than the C++ project I’m working on. I don’t really buy the anecdotal ‘other developers never have any problems with VS code’ observation. I’ve been following the VS code release announcements here on HN for a while (it’s what got me interested in trying VS code), and they regularly seem to contain fixes for weird platform problems or regressions, to the point they’ve even had to retract a few of them because of serious problems found after deploying the update.
- nwienert 9y agoLook at the past threads for releases (I wont link, but) they are filled with nothing but praise. I'm totally non-affiliated with VSCode, but switched from Atom a few months ago and yes, anecdotally it's been an amazingly smooth experience. I am actually the opposite of you: totally thankful for JS and electron, and I think they are the best possible future for apps. To be honest, I really think people have an emotional reaction to JS/Electron one because it's seen as a threat to their preferred language, and two because it has all this built up hate due to legitimate past problems. A few years of pretty hectic pace in JS-land and now it's close to greatness, but still very inconsistent, so people still love to hate it. Couple that with some poorly made apps (looking at you Spotify/Slack) and you have a weird sect on HN that now vilifies Electron/JS with totally incorrect arguments about stability and speed (both are very doable with modern practices). I'm not saying you are this person, or your grievances aren't real. But I'd be happy to put some money on the following points: 1. Electron/JS apps will be more prolific in the next 5 years 2. They will also be clearly the best platform for speed, stability and flexibility due to massive and ever improving ecosystems and dev tools. Both have been happening, and to be honest, today we're at a point where I think it's a no-brainer to choose JS for just about any complex UI. The problem is you're wading into a fast-changing, diverse ecosystem, and a few wrong choices there can be very painful.
- thebestia29 9y agovery good clarification the truth I liked your article, I would love to learn more of this world of technology as a trend to niverl worldwide and develop web pages and develop applications that allow us to go forward and know more about what is new IA
- seanmcb 9y agoHi @w0utert I work in the VS Code team - the experience you are having is not the experience we aspire to. It would be great to dig into this a little more and see what we can learn. Perhaps the easiest way to have a deeper dialogue is via a GitHub issue. The easiest path to creating one is leveraging 'help->report issue' that will include some additional context that will help us dig in a little more.
- w0utert 9y agoThanks, I’ve definitely not given up on VS code considering how soon after I started using it I already liked it as much as I do. So if I somehow manage to isolate/reproduce some of the problems I’m seeing, I will file an issue fo it.
- lobster_johnson 9y agoAs I point out in a sibling comment, reporting aberrant behaviour can be difficult because the cause is usually unclear. Why is Code Helper using 100% CPU? Who knows. It happens every few days and doesn't seem be related to anything specific I do. More tools (such as a "task manager" similar to Chrome's) to gain visibility into what VSCode is doing would help here.
- Tyriar 9y agoFor excessive Code Helper CPU usage, you should be able to surface what the file/arguments were used to launch a Code Helper instance (how you do this depends on the OS). That will tell exactly which component is acting up, eg. TypeScript, search, terminal, extension, etc.
- lobster_johnson 9y agoThis may be a recent change? The last time I tried reporting excessive CPU usage, the Code Helper process didn't have any context info in the command line.
- 9y ago
- deleted 9y ago[deleted]
- lobster_johnson 9y agoI'm much happier than you, but I concede there are some rough edges, especially related to extensions. In particular, ESLint and the Go extensions randomly cause problems for me. I often lose JS autocompletion and linting; no errors, just stale or missing markers and only fix is to restart the window. Often the Go completer or "go vet" or whatever goes bananas and gets stuck taking 100% CPU. Often a random "Code Helper" sits taking 100% CPU for no discernible reason. Sometimes the Helper mysteriously gets better after a few minutes. I can always work around these issues by restarting stuff. The main problem is that I can never report anything cogent based on this misbehaviour, because I have zero visibility into what is causing them; for example, as far as I know VSCode doesn't have a "task list" for its async operations (such as indexing, linting etc.), so there's no way to correlate misbehaving child processes with those operations like you can do in Chrome. I once submitted a Github issue with dumps (macOS process traces) when a Code Helper process had sat at 100% for an hour, but the VSCode team said it wasn't helpful, but they also didn't offer any way to actually trace the problem. There are also no logs as far as I can tell. Admittedly, often it is extensions or external tools that misbehave, not VSCode, but the above remains true -- without any visibility there's no way to fix. For all that, VSCode is the best IDE I have had since I was a Java developer using Eclipse around 2006 or so. VSCode doesn't quite reach that level of integration (for example, Eclipse had instant incremental compilation built in, whereas in VSCode linters are for some reason dumb and stateless and have to potentially look at your entire project every time you make a code change, which is the opposite of instant), but it's getting there.
- AlfeG 9y agoThey have one - Visual Studio. It hang all time, crashes and painfully slow. Despite the fact that its written with C# and C++.
- AlfeG 9y agoDownvoted - but it's true. I've using it for 10 years.