14 ms·
Visual Studio Code 1.4
- berkeleynerd 10y agoGreat 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.
- redwards510 10y agoI have been trying to use VSCode for languages besides JS, like C# and C++, but I've been getting stuck. There's a big opportunity here for someone to write up some brief tutorials on how to use VSCode for other languages. So far, the instructions are basically "Get VSCode. Enable the C++ extension. Enjoy!" That's not enough, especially when it comes to setting up debugging, which c'mon, everyone needs. The json config file for C++ debugging has zero documentation. Until there is some more documentation besides the extensions readme, it's going to be a little challenging for new users to pick this up and have a delightful experience.
- nikmobi 10y agoI've been using VSCode for C development fairly successfully, although I don't recall if I ever got the debugging working (due to the same reasons you describe). I do remember getting debugging working was a nightmare and had only minimal success on various different platforms (linux, OS X). I'd suggest installing the clang extension, this was the best out of the box experience for auto completion etc in VSCode.
- jmdavis_squid 10y agoThanks to both of you for the feedback on the debugging options for the C++ extension. I'll pass this on to to the documentation folks to get better launch.json documentation released. I know it isn't ideal, but in the meantime, the best way to get more info is probably the comments that appear when hovering over the fields in the launch.json file or to open up the package.json file to read the comments about each available field in the schema for the extension. The package.json can be found in the .vscode sub-folder of your user account. On my machine, this would be ~/.vscode/extensions/ms-vscode.cpptools-0.8.1\package.json.
- girvo 10y agoYou're not wrong about the documentation for "launch.json", but one thing to play around with is: open it up and use the autocomplete. It helped me discover loads of options that I hadn't seen documented anywhere!
- 10y ago
- was_boring 10y agoI've been using VSC as my daily driver for a few months now and it's great -- even on nightly builds. The most powerful features is the tasks.json. Once I learned to use it (the docs aren't good on it), I was able to utilize it to bring a more cohesive experience across many code bases. I enjoy the fact that it gives an integrated experience and allows community extensions. This is a big change from atom where everything must be cobbled together, hope that it works and will break. My hope is that the MS team will pitch in on the most popular extensions per language and take them to the next level as well. To top it off, it's one of the most open development processes I've ever seen. They have a clearly defined roadmap, release schedule and even tell you exactly how they work in the wiki (https://github.com/Microsoft/vscode/wiki https://github.com/Microsoft/vscode/wiki). It's fantastic to see such a large company open up like this.
- asimuvPR 10y agoMe too. I was a bit skeptic at first. Been a long time vim user but wanted to try something new. I now use it to code Python (I write a lot of it). It works very nicely. So much that I'm in the process of making it the official company -wide text editor for python at work.
- sho_hn 10y agoI'm curious, what's the thought behind having an official company-wide text editor? The companies I've worked for usually take the route of "leave their choice in tools up to them", which I appreciate.
- sotojuan 10y agoI never got this either especially when editorconfig exists.
- ebrewste 10y agoI can understand it, if it's not too draconian. It's nice for some central power to have coherent walktnroughs on how to set up an editor to lint, etc. If another dev wants to use a different editor and can make it work, it's fine by me, but I can't see anyone "supporting" every editor out there.
- acangiano 10y agoVisual Studio Code is currently my favorite editor. Fast, informative intellisense, great debugging environment, good git integration, faster than Atom, etc.
- alexc05 10y agoI love the git integration so much that when I'm preparing to commit on a visual studio (proper) project I'll type `CODE .` in powershell or the package manager console to inspect and edit my code before pushing.
- tracker1 10y agoAgreed, I kind of wish that MS could come up with a way to get rebase/squash and pull --rebase working in the editor, having a 3-way merge in VS Code would be awesome... unfortunately it doesn't work well as a system editor choice for git cli. Been very happy with VS Code, though I wish I could revert to pre-tabs file behavior, I'd like the space back... it took getting used to, but the list switcher was a better UX imho.
- kfinley 10y ago> I wish I could revert to pre-tabs file behavior Adding the following to your User Settings should get you pretty close: { "workbench.editor.showTabs": false, "workbench.editor.enablePreview": false, "workbench.editor.enablePreviewFromQuickOpen": false, // ... }
- moondev 10y agoAnyone know how to hide the bug icon from the left bar? Other than that I absolutely love vscode. I use it on osx and linux daily. It really hits the sweet spot for my work flow. Cheers to the team for another great release.
- pookeh 10y agoStill no auto-import on Typescript. The main reason I use Webstorm over VSCode currently. What I am talking about: * new Foo| * <Ctrl+Space> * (Automatically inserted by editor top of the file where imports are) import {Foo} from "../relativePath/to/Foo.ts" * new Foo(param);| Working on a large TS codebase without this is absurd. Webstorm is way ahead of VSCode in this area, including things like multiple named imports like: * import {Foo, Bar} from "../../foobar.ts" Additionally, things like refactoring filename that affect the all imports that reference that filename -- not sure if that got added in VSCode recently tho.
- whatever_dude 10y agoNor "organize import", you're right. I became too used to this in other editors, and now my (manually managed) imports are a royal mess.
- seesharp 10y agoThere's actually an extension which can do this: https://marketplace.visualstudio.com/items?itemName=steoates.autoimport https://marketplace.visualstudio.com/items?itemName=steoates....
- jordanlev 10y agoWhenever I try a new text editor, I run into a problem: I absolutely love the feature where it auto-completes based on other words in open windows (or other files in the open project). But there's no official term for this so I can never tell if a text editor has it. Years ago this used to be called "hippie expand", but I can't figure out a more modern name that is used. Does anyone know what Visual Studio Code calls this feature, and/or how to enable it (assuming it even exists?)
- alexc05 10y agoYou mean you have a text editor that knows what words are on the page in a CHROME tab (for example) Or you mean, that if you've got 2 text files open as tabs in the same VSCODE window typing in 1 tab will auto-complete with words from the 2nd tab? Where have you seen this feature as it sounds AMAZING!
- dguaraglia 10y agoPretty sure he means the latter. Several editors I've used over the years supported that. The ones I can remember are Scite, UltraEdit, PNotepad and Vim.
- anujanpan 10y agoIt auto-completes with words from tabs in the same VSCODE window. Atom has similar behaviour with autocomplete-plus.
- jordanlev 10y agoI mean the latter (other open windows in the text editor). TextMate and Sublime both operate this way, as opposed to IntelliSense style auto-complete where it only operates off of symbol definitions (class names, function names, properties and variables, etc). Which makes sense, because TextMate and Sublime don't really "understand" your code like Visual Studio historically does.
- sunnyps 10y agoSublime Text doesn't do this by default although there's an extension[1] to do that. [1] https://github.com/alienhard/SublimeAllAutocomplete https://github.com/alienhard/SublimeAllAutocomplete
- Maxence 10y agoThis editor is also very good to write Golang code.
- jksmith 10y agoHave you done an overlap against LiteIDE?
- romanovcode 10y agoDoesn't seem to have debugging. If that's the case it already lost.
- stevebmark 10y agoI'm not particular about what editor you choose. I've been looking for a good JS IDE. Webstorm is of course the only real player in this space (with an amazing IDE) but it's pricey. I've been watching VSCode with great interest. However, every time I try the editor it's a huge letdown. Buggy, crashy, shitty and weird interface (they have completely made up their own tabbing/splitting paradigm for example, which is buggy and alien compared to existing patterns). It claims to be an IDE but doesn't come close. I think that one day VSCode will actually be an IDE, but it's been a repeated abject failure to date. Based on the current progression I would avoid it for at least the next year, and then I think its potential will be visible.
- tracker1 10y agoThat's funny, I don't know that it's been referred to as an IDE so much as a more advanced code editor.. which is about all I use it for... I generally have my rightmost screen with iTerm and 3 windows split, one tall, the other two quarter screen... next to the left is VSCode for the project/directory I'm in, left again for browser, left for lync/outlook etc. As a code editor, I've really liked VS Code.. I haven't ever setup any integrated debugging, or used the tasks options... so I can't comment for that, but for my use it's been very stable. If you want a full blown IDE with integrated debugging, etc, then you're right, it's less than ideal... having to edit json config files is cumbersome, and I'm guessing they'll get a GUI over that once it's more feature complete... as it stands, the core works well... Though I do wish I could get pre-tabs behavior back, once I got used to it, I preferred the switcher ui on the left.
- ausjke 10y agovscode is now my favorite editor when I'm not dealing with command line(e.g. vi), I used to edit with another light weight editor geany. Thanks for all the efforts to make vscode a great tool.
- meneses 10y ago"By default, VS Code shows snippets and completion proposals in one widget. This is not always desirable so we added a new configuration setting called editor.snippetSuggestions. To remove snippets from the suggestions widget, set the value to "none"." Sold me on it.
- chenster 10y agoI felt bad for Sublime. It would be hard for Sublime to compete with MS's free IDE. MS finally decides to take over the open source code editor market. VSC also borrowed many features from Sublime such as its famous integrated package manager and keyboard based shortcuts.
- ColinDabritz 10y agoAlthough you can get the coding support in Sublime through Omnisharp: http://www.omnisharp.net/#integrations http://www.omnisharp.net/#integrations They are providing the same tools they use to drive VSC to many popular editors, including Emacs and Vim as well. It seems that Microsoft wants to give you the best support they can in whatever environment you like!
- twblalock 10y agoThose were not invented by Sublime. Lots of older editors have those things, including TextMate and even GNU Emacs and XEmacs. XEmacs had a package manager since the early 1990s. What Sublime has going for it versus these other editors is ease of use and a much better looking UI. But VS Code has that too, and it's free.
- chenster 10y agoMS just doesn't do anything for free even it appears to be that way at the beginning. It simply tries to woo developers to play in their ecosystem.
- erelde 10y agoFor me at least, it still lacks this 'perceived' reactiveness, that millisecond of delay that I don't have with Sublime or vim. I don't know if it's placebo but I have got to use what _feels_ right to me.
- pjmlp 10y agoThis is why we cannot have nice desktop tooling unless it comes from Big Corp getting their revenue from licenses and what have you. FOSS has spread so much that IT is probably the only industry where people nowadays expect to sell their work using tools they got from others for free. It is very hard to make a living from donations and books (which tend to get pirated) alone.
- chenster 10y agoWhat would be some of the cool features that only exist on VSC that Sublime doesn't have?
- shurcooL 10y agoOut of the box (which matters - just because an extension exists, doesn't mean everyone who would benefit from it can find it, add it, configure it, etc.)? For one, nice git integration. You can see lines added/changed/removed in the gutter, unobtrusively. Sublime has a plugin that does something similar but it's not out of box and it's not as nice/polished. This is just one thing.
- KiriGiri 10y agoAnd some great features inherited from Visual Studio. Peek definition. when you want to peek a few lines of a method or type, you don't have to go away from the current position. In Sublime and Atom, it really bothers to open another tab. Navigation through overloaded methods. When a text editor is built to help people coding easily and make itself extended easily, it has to include some basic infrastructure so that extensions can focus on their specific implementations.VSC does this well, it is not only a text editor, but also have a skeleton of an IDE, and left all other things to extensions.
- sunnyps 10y agoThe newer dev builds of Sublime Text introduced a way to render popups (that hover over text) using a subset of html (minihtml). It's already being used to show a list of references under the cursor as well as better build errors. I imagine there will be extensions taking advantage of this soon.
- frik 10y agoThe cool telemetry phone home features that cannot be turned off in a reliable way (think updates). It's the feel good vibe that runs through all new MS apps and Win10. We should thank the third CEO for his great vision and be happy to give him all insight he needs. He is clearly steering his thriving platform to the next level.
- darren0 10y agoNumber one drawback of VSCode, for me, is poor vim keybindings, especially visual mode. If that was fixed I'd use it extensively.
- spraak 10y agoCame here to find if it had Vim bindings.. I guess I'll wait to use it :/
- matt4077 10y agoThe current release notes explicitly mention some API changes they implemented to better support the vim extension: https://code.visualstudio.com/Updates#_extension-authoring https://code.visualstudio.com/Updates#_extension-authoring
- avolcano 10y agoI wanted to use VSCode when I started writing TypeScript three months ago, but I found the Vim plugins super lacking, so I used Atom instead, which has a much more robust Vim plugin. However, I tried VSCode again last week after being disappointed by continued bugs in atom-typescript, and was happy to discover the Vim plugin (https://github.com/VSCodeVim/Vim https://github.com/VSCodeVim/Vim) had made a ton of progress since I'd last given it a shot. It's still not quite as good as Atom's, but it's definitely getting there. Plus, the project's team is very active and friendly - I actually submitted a PR a few days ago fixing a bug (the VSCode extension development workflow is super easy, it turns out!) and they quickly merged it :) I also found out that the VSCode developers know that it's an important plugin, and they actually have a category of issues on the VSCode repo specifically for extension APIs they need to add to make the Vim plugin as powerful as possible. This new update includes several of those, and I have a feeling by the end of the year the Vim plugin in VSCode will be on par or better than that of plugins for other editors.
- arvinsim 10y agoIs it as good as the Ideavim plugin for Jetbrains editors? That is the benchmark that I use to judge other vim plugins.
- dcw303 10y agoThanks to the awesome plugin from Luke Hoban, VSCode has been great for writing Go. The best feature is the integrated debugging. Granted, it still relies on Delve, so you have the associated madness with taming that beast (self signing certs on OS X? Although that appears to gone now with the homebrew package). But just being able to type some code, set a breakpoint, run to it, and inspect some locals makes me so much more productive than the Printf driven debugging that so many masochists still cling to.
- zvrba 10y agoI tried to use it for C++ development on Linux. A project I'm working on uses Qt, and I put QT's include directories into the configuration file as was described in documentation. I was unable to get autocompletion to work with Qt and after 10 minutes I gave up on it and went back to using Netbeans.
- papaf 10y agoHave you tried Qt Creator? Its really good for normal C++ development and even better for Qt specific development.
- zvrba 10y agoA colleague uses it on OSX, and it's awful: unstable, crashes, hangs during debugging, the debugger doesn't always update the displayed values, doesn't grok auto declarations, etc. So far, Netbeans is the best free C++ IDE I've tried.
- nachtigall 10y agoThe reason I use it: It's the only Editor that supports debugging JS in Firefox with this extension https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-firefox-debug https://marketplace.visualstudio.com/items?itemName=hbenl.vs... AFAIK the only editor that really supports the Firefox Debugging Protocol so far.
- markatkinson 10y agoI recently switched over from a combination of Sublime and Notepad++ to VSC. The only thing I found was Notepad++ opens up files almost instantly and there is still a bit of a noticeable lag with VSC, so when I need to be jumping in and out of different scripts Notepad++ is still my preferred choice, but for actually writing code, VSC is golden. Hopefully I can uninstall Notepad++ in the near future!
- rkachowski 10y agoI'm actually finding myself torn in that VSCode is a Microsoft product that I'm actually liking. For Unity development it offers a much snappier + cleaner experience than the built in MonoDevelop editor, and as a general text editor it seems more responsive than Atom.
- boraturan 10y agoVSC rocks. I am on .NET/Win platform and I can open and work on the same .NET Core project both on VSC on Mac and VS2015 on Windows.
- Lio 10y agoI'm sure it's a great editor but it's, to me at least, a bit weird to have to read a privacy statement for an editor to work out what it's actually sending home. https://www.visualstudio.com/en-us/dn948229 https://www.visualstudio.com/en-us/dn948229 I guess it's open source though so if anyone's really bothered they could fork it and take all that stuff out.
- romanovcode 10y agoYou can disable all telemetry in configurations.
- jsingleton 10y agoEven with all telemetry disabled you can still see it attempting to connect to MS domains. Just open the developer tools (F12).
- rbanffy 10y ago1.4 still has an odd bug - it can't deal with some fonts: https://github.com/Microsoft/vscode/issues/5537
- grenoire 10y agoI don't think that a HN version release thread is the place to get publicity for bugs.
- rbanffy 10y agoIt's a very odd bug. If you take a minute to read its description, you'll see it causes rendering issues depending on the font name. It's also a bug that does not affect Atom or other editors based on it, which makes it even more odd. I think HN is precisely the place to highlight things like that.
- moron4hire 10y agoI'm curious about the note on them having implemented an IME for CJK and Indic character input. I thought an IME was a component of the operating system or a contextual widget that appeared like an onscreen keyboard and was separate from the text editor itself.