4 ms·
Great work on the integrated terminal. I'be been waiting for this. Might even fire up Windows 10 with Ubuntu shell and see how everything works together.
by berkeleynerd 10y ago
Great work on the integrated terminal. I'be been waiting for this. Might even fire up Windows 10 with Ubuntu shell and see how everything works together.
- akanet 10y agoIf you're curious, the integrated terminal is actually xterm.js behind the scenes: https://github.com/sourcelair/xterm.js https://github.com/sourcelair/xterm.js
- 2bitencryption 10y agoI find it amusing that the stack I'm using to write a systems application is javascript all the way down, from the editor window to the terminal it runs in. (not bashing. just saying it's amusing. I freakin love VSC.)
- Analemma_ 10y agoThe future as foretold by "The Birth and Death of JavaScript" (https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript https://www.destroyallsoftware.com/talks/the-birth-and-death...) gets closer every day :)
- sdegutis 10y agoI honestly wouldn't be surprised if someone like MS announces a new open source "JS to efficient native machine code" compiler one of these days.
- mythz 10y agoMS Chakra JS VM is already open source: https://github.com/Microsoft/ChakraCore https://github.com/Microsoft/ChakraCore Like all high-performance JS VM's their JIT's already emit efficient machine code. If Google, Apple or MS could get JS running any faster they would've.
- biot 10y agoJavascript is the new turtle.
- paublyrne 10y agoI don't know what your comment means, but I'm intrigued by it. Which turtle are you talking about?
- GrayShade 10y agoI guess it's a reference to the "it's turtles all the way down" expression: https://en.wikipedia.org/wiki/Turtles_all_the_way_down https://en.wikipedia.org/wiki/Turtles_all_the_way_down
- orf 10y agoThat link led me to this page: https://www.sourcelair.com/blueprints/sourcelair/xterm https://www.sourcelair.com/blueprints/sourcelair/xterm I tried to sign in with Github, but the site requests full read/write access to my account details, my private/public keys and all repositories. Wat.
- rossy 10y agoWhat's interesting is that (at the bottom of the stack of JavaScript turtles) xterm.js depends on pty.js. Windows does not provide a pseudoterminal API like Linux, so there is no official way of writing a terminal emulator that behaves like the builtin one (conhost.exe.) Because of this, pty.js uses winpty-agent.exe and winpty-agent.exe does its magic by starting a hidden conhost.exe in the background, effectively screen-scraping it, then writing a sequence of xterm-like control sequences to a pipe that will recreate the state of conhost's screen buffer. This works well enough in practice, but it relies on a few strange hacks. For example, it writes a marker into the console's backbuffer to detect window scrolling, and it enables mark-mode in the hidden conhost window to "freeze" it while it queries for changes. Also, it's not very robust to changes in the console implementation, so it broke for a little while due to the console changes in Windows 10 (though this was fixed quickly.) Because of this, it's strange to see Microsoft using it in an official product. I'd love to see them add a proper pseudoterminal (pseudoconsole?) API to Windows 10. There is clearly a need for it.
- 2bitencryption 10y agoI suppose if you had the Linux Subsystem enabled, you could host a session there, and I'm sure there are a billion tried and true ways of sharing that session with the built-in VSC terminal. If the Linux Subsystem were standard, you could depend upon it, but I guess not since it needs to specifically be enabled?
- keithnz 10y agonot well, big flaw with the ubuntu shell is that there is no reliable way to interact with the linux filesystem from a windows program ( like vscode ). You can work on the mounted C: drive /mnt/c . However, I have found a number of dev tools don't really like working with it ( meteor / mongo ). Thing crash. They work fine on the linux filesystem though, it's just you can't reliably use windows programs to access files, you have to use things like vim inside the shell to edit stuff.