Live data from Hacker News

The Era of Visual Studio Code

blog.robenkleene.com

601–610 of 698 posts

Re: The Era of Visual Studio Code

#601
post #198

I find this post along with the comments in "A Picture of Java in 2020" https://news.ycombinator.com/item?id=24551390 to be incongruous with my experience as a professional developer. My first couple of years writing software I used Vim, then VSCode, then worked in a Java shop and was forced to use IntelliJ. I didn't like it at first, but now after a couple of years I cannot see how I lived without it. The idea that…

From my experience out of the box you get poor performance and you have to spend a lot of time figuring out how to change configuration to improve it as knowledge is scattered in many places and not always up to date. Then it still likes to stall from time to time or sometimes doesn't register key presses properly. It's a poor user experience, but even worse is that alternatives are often worse. I wish there was an e…

In IntellIJ you have scopes, where you can narrow down the project view to a set of folders, which is useful if you work on monorepos. Scopes affect not only the project view but also file search.

You can disable plugins you don't need, and mark folders as excluded if you don't need them indexed, that makes it faster.

Re: The Era of Visual Studio Code

#602
I love IDEs... but most languages don't support IDEs. C# and Java are lucky to have a set of features that work well with IDEs - statically typed, OOP, without metaprogramming such as templates and preprocessor. All data is known upon compile time. With languages like C, C++ or D, a lot of code isn't known until compile time, so IDE cannot do any predictive magic. Same with refactoring, in C you can create new identifiers by preprocessor. In Java, you can ask the IDE to rename all usages of printStuff functions to printMoreStuff and you can be certain it will modify all the usages of this specific printStuff function, not the printStuff function from a different module. In dynamic typed languages the types aren't known until runtime so it's another struggle for IDEs.

That's why VSCode is so appealing for languages other than Java/C#. These languages just aren't capable of having the same kind of IDE support. If you can't rely on things like perfectly working autocompletion, automatic refactoring, advanced features like extracting methods into separate class, then all you need is a good notepad application. And VSCode is just that.

Re: The Era of Visual Studio Code

#603

Earlier quoted context omitted.

It's a slightly different philosophy. Emacs is best viewed not as text editor with plugins, but as a Lisp Machine emulator with a text editor. The joke about it being an OS is more true than people think: what you get is a (2D, not 1D like shell) text-oriented programming environment, back from the times where "a programming environment" meant a fully end-user-programmable OS. This has an important downstream consequ…

Keyboard conventions do come and go but muscle memory is expensive to reprogram. Your hands are also irreplaceable. So I go for the most efficient that's not too radically unfamiliar or painful. And honestly one could spend a career learning every editor/IDE in depth without ever accomplishing anything else. Embedded is especially bad as one often must use the IDE integrated into the platform's SDK.

I think you missed the point where they mentioned you can change any and all keybindings in Emacs.

Re: The Era of Visual Studio Code

#604
post #166

Earlier quoted context omitted.

The biggest feature is probably remote. This is what allows you to have your code in a remote location (SSH, WSL and containers) and still get an integrated experience as if things were all running locally. If your app is Dockerized or you use Windows with WSL and you like intellisense, you're likely using this feature. Some of the language servers for popular languages are closed source too, which is weird because I…

What you don't seem to grasp is the difference between a project, and the eco-system that grows around it. SSH, WSL, Docker, third party language servers etc are not a part of VS Code. > That's not an exhaustive list What list? You haven't mentioned a single one of "all these pretty critical and interesting components" you talked about.

> What you don't seem to grasp is the difference between a project, and the eco-system that grows around it. SSH, WSL, Docker, third party language servers etc are not a part of VS Code.

In my mind, the remote capability is pretty critical. It's something a ton of people use and would consider it a core feature of VSCode. It being a 3rd party plugin is semantics. I know a number of people who use VSCode because of that feature alone. It's a defining feature of the editor's editing experience.

Also there's some language servers too. Yes technically a plugin, but super critical to anyone who wants to use a language server's features.

Re: The Era of Visual Studio Code

#605
post #67

There's a couple big knocks against VS Code that don't get brought up enough The extension API is underdocumented. It's very difficult and time consuming to onboard yourself as an extension author with just the MS docs, since they don't cover the entire API and the vast majority of data structures are undocumented entirely. This is really annoying when functions take structures as arguments and have optional fields.…

Hi, VS Code dev here. We actually put a lot of effort into documenting API and extension development. This is why `API` is one of the main sections on our home page: https://code.visualstudio.com/api. It's also why we have very restricted API guidelines: https://github.com/microsoft/vscode/wiki/Extension-API-guide...

We'd love to hear more about the lack of documentation you're referring to. It's definitely a solvable problem. Could you create an issue so we address the problem? https://github.com/microsoft/vscode/issues

Also on

> But petty gripe: please kill the git username/password fields when I git clone a private repo over HTTPS in the console. I don't like being aggro towards what other devs find cool, but I think hijacking a CLI with an extension incredibly annoying. And I can't find a way to disable that specific "feature" without disabling all of the git integration, which I use all the time.

This can be disabled with the `git.terminalAuthentication` setting.

Re: The Era of Visual Studio Code

#606

Earlier quoted context omitted.

Use Emacs - it's a big pile of stuff that's very well integrated, because the platform lends itself to deep interoperability - thanks to a strong conceptual model and extreme reprogrammability. :). Jokes aside, I guess what VS Code needs is to grow a strong community of people who care about the editor as much as what they do using it. Emacs has managed to do that, so it's possible.

It seems like Emacs shares the same product philosophy of VS Code. Outside of the core functionality everything is an ELisp/Javascript plugin. That explains Emacs amazing longevity, but as the article points out, Emacs longevity is actually a problem as its keyboard and UI conventions predate the modern conventions that came with Windows and MacOS.

I've recently switched from Spacemacs (vim-style modal editing and keyboard commands, in Emacs) to "Vanilla" Emacs.

I've been finding that once I changed capslock to become control, the various keyboard commands in Emacs make a lot of sense to me. In fact, far more than I thought they would, to the point where I'm feeling a lot more comfortable and competent performing the shortcuts, which means I remember a lot more of them. (Remembering shortcuts has always been a problem for me because I have various Adult ADHD issues.)

Sure, it's just one person's anecdotal and subjective, experience, but I've found myself using Emacs to edit my code (mostly Terraform and Ansible) much more than VSCode.

Re: The Era of Visual Studio Code

#607

VS Code is really meant for front-end development. I wouldn't want to use it for anything I compile or debug. I'd use IntelliJ for Java/Kotlin, Visual Studio for C#, F#, Windows apps. As with anything else in software development, it depends on the use case. I'm still partial to Visual Studio and for text I use Notepad++. I used to use UltraEdit, which has some features that were extraordinary (column editing). I've…

Have you been able to replace Notepad++ with UltraEdit? The column mode is superb. Also the way to remove trailing spaces ALT T G. etc.

Re: The Era of Visual Studio Code

#608
Funny. I've basically done the same with UltraEdit. Although, when it comes to certain languages, I prefer to use the dedicated IDE. Especially if the GUI is involved. For .net, it's straight up Visual Studio. For Java, OpenBeans. And so on. I think VS Code will serve the same niche as the text editor + compiler crowd. IDEs are way too comfy to resist.

Re: The Era of Visual Studio Code

#609

I'm stuck. I'm writing Go and VueJS. I tried Goland but it was too Java-y and too complex - there are thousands of settings. 4 different search options. 5 different methods of getting to the declaration for a function (and I'm never sure which one I should be using). I ended up spending more time messing with the editor than writing code, and there were too many incidents where I accidentally triggered a feature with…

Try https://github.com/visualfc/liteide for Golang. Also,you can try emacs.

Re: The Era of Visual Studio Code

#610
post #198

I find this post along with the comments in "A Picture of Java in 2020" https://news.ycombinator.com/item?id=24551390 to be incongruous with my experience as a professional developer. My first couple of years writing software I used Vim, then VSCode, then worked in a Java shop and was forced to use IntelliJ. I didn't like it at first, but now after a couple of years I cannot see how I lived without it. The idea that…

From my experience out of the box you get poor performance and you have to spend a lot of time figuring out how to change configuration to improve it as knowledge is scattered in many places and not always up to date. Then it still likes to stall from time to time or sometimes doesn't register key presses properly. It's a poor user experience, but even worse is that alternatives are often worse. I wish there was an e…

Jetbrains were doing some work with a lightweight editor in IDEA to help with the “quick edits” use case.

https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1...

https://blog.jetbrains.com/idea/2020/04/lightedit-mode/

It only appeared this year so it’ll be interesting to see if it gets traction.

Post reply on HN