
Visual Studio Code 1.4 - joseraul
https://code.visualstudio.com/updates
======
was_boring
I'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
Me 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
I'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.

~~~
asimuvPR
We needed a good standard setup that fit our needs. People can opt to use
something else as long as their code meets the style guidelines. But its
easier to use the same tool. We share tips and tricks a lot. That way we
improve our workflow as a whole.

Why not vim itself? We tried it. They are more used to GUI centric editors.
(shrugs)

~~~
Mao_Zedang
While I agree with what you are saying, editor config is a good tool to
enforce coding standards across multiple editors (as a bonus it already
supports VS Code)

[http://editorconfig.org/](http://editorconfig.org/)

~~~
asimuvPR
Thanks for the link. I will check it out.

------
pookeh
Still 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.

~~~
seesharp
There's actually an extension which can do this:
[https://marketplace.visualstudio.com/items?itemName=steoates...](https://marketplace.visualstudio.com/items?itemName=steoates.autoimport).

------
redwards510
I 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
I'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
Thanks 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.

------
dcw303
Thanks 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.

------
chenster
I 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.

~~~
pritambarhate
I also felt the same for Sublime, but I think they need to innovate much
faster if they want to complete in this space.

With Visual Studio Code, I think, MS is trying to reinvent their VS family of
products. Since the current Visual Studio is strongly tied to Windows and MS
has accepted the multiple operating systems future (I think, in MS roadmap,
revenue from Cloud Operations is one of the major factor), it's important for
them to have a developer platform which works great on all the operating
systems. HTML5 and JavaScript provide this opportunity to create that
development tools platform for the future.

It also leaves the possibility open to port it inside browser/cloud with a lot
of code reuse. If Internet Speeds improve a lot and computing in cloud becomes
a lot more cheap, I think in next 10 years, for typical web projects,
developers might just prefer remote development environments, which they use
for coding from an App/Browser.

It's good to see that MS didn't wait to first port .Net on major Operating
Systems as part of their .Net Core initiative and then write their cross
platform development environment on top of that. Instead they have taken the
bet on HTML5/Electron.

~~~
jsingleton
It's already integrated in various websites. The Monaco editor is used on
Azure and you basically get VS Code in your browser along with a console and
error log. I believe they also use it in other places like Bing.

------
nachtigall
The 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.vs...](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-
firefox-debug)

AFAIK the only editor that really supports the Firefox Debugging Protocol so
far.

------
darren0
Number one drawback of VSCode, for me, is poor vim keybindings, especially
visual mode. If that was fixed I'd use it extensively.

~~~
avolcano
I 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.

~~~
stinos
I don't know what turned at MS exactly but something did, at least in the
department where VS and VSC are developped. I've had major bad experiences
with reporting bugs to MS in the past (almost as if they had a standard 'by
design' or 'wontfix' message generator). The last couple of years however, not
so much. Submit a report, get a reply like 'thanks for the detailed report,
we're on it' and then the bug is fixed in the next service pack or version.
And now they're also doing PRs for VSC and other things and the response times
seem ok (well, a tleast yours was, but it's still sorta 'unseen' for MS). If
it continues they might reach a point where the competition (including open
source) starts to look very bad - there it's sometimes still the usual
business as it was with MS: report a bug and/or PR, nothing happens, for
months or even years.

~~~
gokhan
They don't get restricted by backward compatibility.

------
acangiano
Visual Studio Code is currently my favorite editor. Fast, informative
intellisense, great debugging environment, good git integration, faster than
Atom, etc.

~~~
curyous
Fast? Really? What are you comparing it to?

~~~
acangiano
"Fast, informative intellisense" not fast in the general sense. Also, faster
than Atom .

------
jordanlev
Whenever 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
You 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!

~~~
jordanlev
I 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
Sublime 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)

------
berkeleynerd
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
If 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
I 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_
The future as foretold by "The Birth and Death of JavaScript"
([https://www.destroyallsoftware.com/talks/the-birth-and-
death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of-
javascript)) gets closer every day :)

~~~
sdegutis
I 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
MS 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.

------
Maxence
This editor is also very good to write Golang code.

~~~
jksmith
Have you done an overlap against LiteIDE?

~~~
romanovcode
Doesn't seem to have debugging. If that's the case it already lost.

------
Lio
I'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
You can disable all telemetry in configurations.

~~~
jsingleton
Even with all telemetry disabled you can still see it attempting to connect to
MS domains. Just open the developer tools (F12).

------
chenster
What would be some of the cool features that only exist on VSC that Sublime
doesn't have?

~~~
frik
The 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.

~~~
hurricaneSlider
Judging a specific part part of a behemoth company based on the controversial
and by no means decidedly unethical actions of another are as annoying as
using Micro$oft as a slur.

------
moondev
Anyone 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.

------
ausjke
vscode 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.

------
markatkinson
I 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!

------
boraturan
VSC 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.

------
zvrba
I 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
Have you tried Qt Creator? Its really good for normal C++ development and even
better for Qt specific development.

~~~
zvrba
A 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.

~~~
zerr
What about KDevelop?

~~~
zvrba
Waiting for version 5 to try it out because it has clang-based completion.

------
rkachowski
I'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.

------
moron4hire
I'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.

------
meneses
"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.

------
rbanffy
1.4 still has an odd bug - it can't deal with some fonts:

    
    
      https://github.com/Microsoft/vscode/issues/5537

~~~
grenoire
I don't think that a HN version release thread is the place to get publicity
for bugs.

~~~
rbanffy
It'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.

------
stevebmark
I'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.

~~~
WayneBro
Visual Studio 2015 is the only real player. Have you tried it? I've compared
it to every other IDE and nothing comes close. Of course, you need to add
quite a few extensions (addons) to make it really nice but other than that,
it's got the best autocomplete and the best debugger outside of Chrome Dev
Tools.

Add the Node.js Tools for VS and the Tools for Apache Cordova extensions
(including the kick-ass VS emulator for Android) and you've got a complete kit
for programming JS everywhere. Developing ionic apps with this tool is an
absolute dream.

EDIT: And it's free.

~~~
smt88
I've extensively used WebStorm, VS2015, and VS Code for writing JavaScript and
TypeScript (both server-side and client-side). VS2015 was the worst of the
three. When it worked properly, it was pretty good, but it was incredibly
bloated and buggy. It installs GBs of extras onto your machine that you have
to painstakingly remove and hope they don't mess anything up. I dealt with a
bug that required me to remove some packages and not others. It was a
nightmare.

WebStorm is the best, but it's absolutely loaded with features that most
people won't use. VS Code supports most of these same features, but they must
be implemented manually via config files and scripts. A lot of people will
prefer the latter approach because it leads to a leaner starting
configuration.

I found the debuggers of all three to be fairly similar, although VS Code's
was very slightly less usable.

Edit: To clarify, I used VS Code and VS 2015 at the same time. After getting
frustrated with both, I switched to WebStorm and haven't looked back. Every
time I think up a "nice to have" feature, I find out that it already exists
and is configurable via GUI.

