Hacker News new | ask | show | jobs
by jiggawatts 1805 days ago
This function is handled by the DOWN arrow in other text editors!

I just tested a bunch:

   VS Code:       UP
   Visual Studio: DOWN
   Notepad++:     DOWN
   TextPAD:       DOWN
   IntelliJ:      ALT+DOWN
   MS Word:       DOWN
Sigh... I have no words. It's just so sad that I expected this. I literally pressed "DOWN", it didn't work, there's no drop-down GUI indicator, so I just assumed it was a missing feature.

Instead, it's yet another feaure where the VS Code team picked something at random without apparently ever having used any other text editor or IDE in their lives. Ever. Ever before. Of any type, from any platform. Certainly not Microsoft products on Windows.

It boggles the mind. Are they all JavaScript front-end developers with no previous IDE experience other than notepad.exe or something?

Wait... Electron. Ah. They probably are.

2 comments

I think VS Code in this case is just trying to emulate the behavior of terminal history. Another commenter mentioned that Vim was the same. Up and down arrow navigating history seems to be a more common thing in the Unix-y world, which VS Code is trying to appeal to.
FWIW, it's up in vim. So maybe the VSCode guys all used vim before? :)
What I love about VI and vim is that every time it comes up, I can't help but bring up this little bit of history:

"Joy used a Lear Siegler ADM-3A terminal. On this terminal, the Escape key was at the location now occupied by the Tab key on the widely used IBM PC keyboard (on the left side of the alphabetic part of the keyboard, one row above the middle row). This made it a convenient choice for switching vi modes. Also, the keys h,j,k,l served double duty as cursor movement keys and were inscribed with arrows, which is why vi uses them in that way. The ADM-3A had no other cursor keys. Joy explained that the terse, single character commands and the ability to type ahead of the display were a result of the slow 300 baud modem he used when developing the software and that he wanted to be productive when the screen was painting slower than he could think."

Yeah. Let's copy what a specific terminal did in 1976. That doesn't actually fit any modern keyboard layout. Brilliant. That's the standard to aim for! Not the most popular computer system on earth, by any metric. Nope. That's not the standard. The standard is the ADM-3A terminal, which probably fell into disuse before any of the Windows Terminal developers were born...

Did I mention the 300 bits per second terminal being the key design constraint? Oh, I forgot to mention that while entering this text on my gigabit fibre connection.

You're reading this on a phone? Is it 5G? Then it's faster than my fibre.

the fact that it was built under certain constraints, which are no longer applicable, does not mean that the design is no longer valid -- it just means it may no longer be valid.

"constraints breed creativity" is the idea that you can end up with a better, more versatile solution -- rather than copping out at the first "good enough" solution. Of course, it's not guaranteed, but still. It's certainly possible that arrow keys are a mistake for total performance (arrows are trivially more visible, but also trivially greater motion from your other work). It's also certainly possible that modal editing is simply more effective than mouse & hotkeys, even if they were only designed because the mouse wasn't available.

Now, escape vs caps-lock-position, I'll give you freely, but generally its fair to judge a design based on current constraints, but not to judge (& discard) a design because it was designed other alternative constraints.

Every time this assertion is brought up I can't help but bring up this counterpoint:

People continue choosing to use vi-keys (via vim, nvim, or even the many vim-emulation layers all over the place), even on modern high-speed connections, precisely because they still find "single character commands and the ability to type ahead of the display" valuable.

"The display" does not have to be a terminal display. In fact, a significant number of places vi-emulation is used don't even support terminal displays. "The display" can be anything the human waits for to reflect the actions of keys pressed. Once you consider this, the efficiency benefit of vi-keys becomes as clear as that of touch-typing.

The ADM-3A no longer matters. Vim does not use vi-keys because it ever targeted the ADM-3A. Similarly for Neovim, Evil, Tridactyl, Vimium, GMail (and so on). When I wrote a new vi-keys layer for a toy terminal multiplexer, I didn't use h-j-k-l for navigation because I wanted to target the ADM-3A — I didn't even know about the ADM-3A! I did it because I knew of the benefit of using those keys, even on the modern 100+-keys QWERTY-layout that I grew up on and still use.

----

> .... my gigabit fibre connection.

> You're reading this on a phone? Is it 5G? Then it's faster than my fibre.

I cannot describe enough how much I hate this discriminatory excuse, and I live in the top two cities with the best internet connectivity in my country (for four years of my life in Mumbai, till 2020, I was one hop away from the Mumbai IXP). It is downright shameful how far people will stoop while using this excuse. An absolute minority of the population thinks it absolutely okay to build software that excludes users who don't have the absolute best hardware, just because they live in cities like SF or Seoul and are blind to the conditions of other humans. Most of these people aren't even aware how they are excluding people; that's how little they care. I can only wonder what the overlap is between this set of people and those that ignore accessibility.

You are fortunate enough to have a gigabit fibre connection (and possibly 5G) connecting you to servers from your continent, most of your time. But that is not a right you can expect others to have, and that fortune is far from universal. I am fortunate enough to have the access I do have when I have it, but I can only sympathise with the plight of those in Australia.

> I am fortunate enough to have the access I do have when I have it, but I can only sympathise with the plight of those in Australia.

Australian here with 250mbit at home and 5G on my phone.

I still hate Electron apps though.

How's the latency to American / European servers?

– Someone who has to work on servers in America & Europe from India, with 300+ ms latency via GCP's Premium Network

To be honest, I have nothing to compare it to. Most servers I connect to are outside Australia, so I guess everything has added latency and I must be used to it. I'm talking about websites here. Maybe 2-3 seconds total to load an "average" site with a fair few images?

I'm not a fan of cloud anything anyway. We have these supercomputers in our pocket and on our desks, but we're meant to use them only as dumb terminals now?

I certainly don't find things unusable, but I can still remember the heady days of 300 baud modems and reading the text as it was generated on the screen.

So everything is amazing now and 300ms latency wouldn't bother me.

Even if it was 10 seconds, I'd just open a new tab and continue what I was doing and switch back to the original one when it eventually loaded.