Hacker News new | past | comments | ask | show | jobs | submit login
Visual Studio Code 1.6 (visualstudio.com)
429 points by kevlened on Oct 10, 2016 | hide | past | favorite | 223 comments



I have been using VS Code as my full-time editor for a few months now and couldn't be happier. Originally I was only using it for TypeScript projects, where the language integration is top-notch, but eventually found myself using it all the time. I use the vim plugin, which is surprisingly good although it does have a few issues still.

The best thing about VS Code (and Microsoft's other big open source project, TypeScript) is the steady stream of releases. Because of the regular release cadence, small but important improvements never get blocked by some big feature that took longer than anticipated. As much as I wouldn't have believed this 10 years ago, Microsoft does open source better than almost everyone.

VS Code: developed on GitHub, written in TypeScript, great extension API, clear roadmap and regular releases. I am a very happy user.


I'm currently switching from gvim to vscode and back again every five minutes, in order to use vscode's debugger --- it's gdb integration is the best I've seen bar none [1][2]. If the vim emulation was good enough, I'd switch in a moment. Which, unfortunately, it's not, for me: the biggest omission is shift-Y/shift-P for yank and paste, which I use constantly, but there's holes everywhere.

(Also, the way the vscode's autopopup thingy grabs the escape key is really annoying, but I'm sure that's configurable.)

Two minor nitpicks:

[1] I haven't figured out how to make the debugger show a pointer as an array yet.

[2] I used to use ddd. By modern standards it's pretty rough, but it's data visualiser was unparalleled brilliance. (It allowed you to lay out structures on a canvas as boxes with arrows representing pointers.) I'd love to see that in vscode.


Hi! I'm one of the core developers of VSCodeVim. Shift-Y and Shift-P absolutely work for me, so please report on our issues page if they continue to not work for you: https://github.com/VSCodeVim/Vim/issues

I would also be really interested to hear about the other holes that you're running into. Always trying to make a better Vim experience for you :)


I don't wish to derail the thread, but while I have your ear: is there any hope for using the neovim over its msgpack interface instead of implementing vim bindings from scratch?


That's a really interesting idea, but it would definitely be a different project than our Vim extension.


Whoa. Never even thought about this, but it would be completely awesome.

Speaking of Neovim, it sure would be nice to have a special mode specifically for yielding to an IDE so that all of the IDE's default keybindings can remain intact.


I just wanted to say thanks.

A Vim with intellisense that I can step through with the debugger. I've been waiting 15 years for this.


jaredpar's VsVim will give you that in Visual Studio.


True, but VS is not open source and doesn't run on Linux.


I was actually the one who submitted the feature request which you closed --- I'll reopen this. Thanks!

Update: no, I can't reopen it, so I'll open a new bug.


...aaaand they've fixed it and pushed out a new release. Thanks very much!


Hi John,

I've spoken with a few of the devs in our team having trouble with VS 2015 update 3 crashing. They'd love to switch to VSCode but ask:

1. When is there going to be decent C#/razor-intellisense, a razor generator ?

2. Will there be TFS integration (not git)?


I'm just the developer of VSCodeVim. I don't work on VSCode at all outside of that, so unfortunately I can't help you there. :)


Ok, if you can't relay it internally where is best to ask?


Probably the VSCode GitHub page has some links! I'm not affiliated with MS in any way. :)


Oh I see, my misunderstanding, thanks.


Just installed VS Code with the Vim extension and everything seems to be working pretty well for me, including yy and shift-P. I had to set "vim.useCtrlKeys": true to enable some of the keybinds that override VS Code bindings.


Yeah that's a good setting.

The parent is correct though, Y doesn't work. I thought it did, so I opened it up to check, and turns out that I didn't realize this because I tend to do Vy instead of Y.


Hi! I'm one of the core developers of VSCodeVim. Shift-Y works for me, so if you can't get it to work for some reason, could you report that here?: https://github.com/VSCodeVim/Vim/issues

If you have any other problems, please let me know. :)


Will do, and thanks for your work here. I have always wanted to try more editors, but vim plugins are (almost notoriously) full of holes, so there's always _something_ someone uses that's broken. Yours is the best I've ever come across. Seriously, thanks. Oh, and that reply to me down-thread from Tom is really heartening as well, kudos.

(I swung by the slack and mentioned the other issue I had, and have meant to open a bug about it too, I'll get on that.)


Thanks :)


Curious, which of the five-or-so Vim extensions are you using?

I've heard there's a bit of drama in which the top-downloaded Vim extension is poorly implemented and poorly supported by the dev, and that some of the lesser-known Vim extensions are far better.


Hi! I'm one of the core developers of VSCodeVim. I think what you've heard is pretty out-of-date - we've been crazy active over the last couple of months. You can check our github page to confirm, if you want - https://github.com/VSCodeVim/Vim :)

Let me know what you think if you do try to use it.


Damn, seriously? I'm going to be writing some C++ soon, and I'm also planning to learn gdb, so I guess VS Code it is then. Thanks for the heads up!


VSCode's C++ plugin supports both gdb and lldb (at least on macOS). As for what to learn--I'd learn GDB. Pretty much every architecture on the planet has a GDB port.


Yeah GDB it is. The C++ plugin is excellent from what I've seen and the debugging UI is very pleasant to work with.



Which would you recommend I start with as a newcomer to the low-level debugging world - gdb or lldb? I have some experience debugging assembly in x86 real mode (yep, my class was outdated!).


> I have some experience debugging assembly in x86 real mode (yep, my class was outdated!).

Are you kidding that is an awesome skill to have. Everyone "should" learn assembly and write a small program once.


I personally don't have enough direct experience with lldb to say. I've heard good things. It's on my list of stuff to try out.


I have little experience with both, but the developers of LLDB have a goal of making more informative error messages. This was successful enough that GDB devs were compelled to mimic this behavior, making their error reporting more accessible. As far as I know, LLDB still has the advantage in this regard.


You must be confusing LLDB/GDB with Clang/GCC. LLDB and GDB are debuggers, they generally do not produce many error messages. Clang has/had better error messages than GCC.


You are right; I stand corrected.


What do shift+Y and shift+P do? Are they the same as y and p, but in insert mode?


    :h Y

    ["x]Y                   yank [count] lines [into register x] (synonym for
                            yy, |linewise|).


    :h P

    ["x]P                   Put the text [from register x] before the cursor
                            [count] times.  {Vi: no count}


In insert mode? How would you type uppercase X and P then?


charmap.exe


The VS 15 Community debugging feature is incredible as well.


"As much as I wouldn't have believed this 10 years ago, Microsoft does open source better than almost everyone."

This. They are treating vscode like its a core (cash cow) product. I'd say google embraced/adopted open source early on and now microsoft is playing catchup while now becoming one of the very best to do it.


I see Microsoft's open source efforts as a means to an end.


Name one entity whose open source efforts are not a means to an end. Even OSS nuts like Stallman have their motivations (in his case, furthering his ideology).

That doesn't invalidate their contributions.


Stallman is FOSS, not OSS.


rms "is" Free Software. FLOSS if you want to be neutral. Not FOSS:

https://www.gnu.org/philosophy/floss-and-foss.html


As opposed to all other companies that do open source for purely altruistic reasons?


They've been making so much progress on the vim plugin. I was recently at a conference, and was talking to someone who works on Code. The conversation went something like this:

Me: "I wanted to use Code, but the vim integration wasn't good enough."

Her: "Oh yeah? What issues did you have, specifically?"

Me: "Let me just reinstall real quick and I'll show you."

Me: "... okay yeah this just works now. Awesome."


Most "vim emulation" plugins suck, because the vim way of thinking about things is so different from the typical GUI editor. Because of this, extension APIs often have to be wildly abused just to get even moderately decent parity with vim. Bugs and inconsistencies abound and are often impossible for the plugin author to fix.

That's why it's been extremely heartening to see releases of VS Code that explicitly add extension points to enable features for the vim plugin[1]. It's not perfect now, but given that the VS Code team seems to be making it their mission to offer an extension API robust enough to make it perfect, I'm willing to deal with the quirks for now.

[1]: https://code.visualstudio.com/updates/v1_5#_extension-author...


Man oh man, as a long time Sublime user I downloaded it just out of curiosity and really not expecting to switch. Now its a few months down the line and its the only text editor I use, and once a month I see a new release at the top of HN and get excited. It is one of the few things where I actually read all the release notes. I feel like a fan boy.


Yes.

When they delayed the tabs I was a bit bummed, but then the next release with the tabs came so fast, I found it funny that they even mentioned delaying them.


I agree, and like a child comment here, used to switch back and forth between other editors(sublime, atom) and Microsofts push to win developers is working.

Huge swathes of code released, azure implementing innovative things around blockchain-- not to mention the linux offerings & other oss plugins. Even porting out powershell as well as bash integration, chakra ect.

To touch on the parebt comment, the vscode editor is one of the MS products i use most often and am most familiar with. The release cadence; compared to the very similar Atom editor, is much different in philosophy.

Atom was first(i think it even came out before vscode) to have all of the features desired in aneditor. They came at the high price of horrible petformance and a wildly unstable product.

Vscode team knew everyone wanted tabs, but they worked releasing tons of things in parrallel and rolled tabs out when they worked properly.

I wouldnt say MS has won my trust, but this product has. I trust the editor will behave as expected and continue to offer awesome plugins and a greT ecperience. I can't afford to have my editor lag snd crash, as well as overwrite or delete data.

Vscode is pretty great and has virtually everything I need with only very minor things.


It's indeed a fantastic editor. Replaced Sublime for me and I couldn't be happier.


i install every new release of vscode because i think it has the potential to become a good editor but the vim plugins are still far from good enough for me to use on a regular basis.


Hi! I'm one of the developers of VSCodeVim, and I'd really like to know about the particular pain points you're running into when you're trying to use the extension. You can tell me here or open up issues on github - https://github.com/VSCodeVim/Vim/issues - whichever you prefer.


Same as Tom for both TypeScript and Go. Can't be happier (I don't use the vim plugin tho, even tho I was a vim user for many years)


Is this like an advertisement? If not you should definitely looking into a possible side career writing advertising copy for developers.


Just to clarify this. I really meant this in a positive way. It made me think about giving it a try which is kind of insane since I'm a very very devoted (n)vi[m] user.


I moved to VSCode 2 month ago, after 6 years with Sublime. Really happy so far. Their team does an amazing work.

If interested, this is the list of extensions that I use for JS development:

- Eclipse theme (a theme with a decent color scheme for ES6+, JSX and Flow types) - https://marketplace.visualstudio.com/items?itemName=tdtp23.e...

- Nomo Dark Icon Theme (icons) - https://marketplace.visualstudio.com/items?itemName=be5invis...

- Path Intellisense (local imports autocomplete) - https://marketplace.visualstudio.com/items?itemName=christia...

- Npm Intellisense (3rd libs imports autocomplete) - https://marketplace.visualstudio.com/items?itemName=christia...

- Typings autoinstaller (3rd libs types) - https://marketplace.visualstudio.com/items?itemName=jvitor83...

- Auto Close Tag (close JSX tags, not perfect but better than nothing) - https://marketplace.visualstudio.com/items?itemName=formulah...

- Flow for VSCode (to support Flow types) - https://marketplace.visualstudio.com/items?itemName=flowtype...

- ES6 snippets - https://marketplace.visualstudio.com/items?itemName=xabikos....

- React snippets - https://marketplace.visualstudio.com/items?itemName=xabikos....


This is very helpful, thanks!


I always had Visual Studio for .Net development and for everything else it changed. First Notepad++, then Brackets, Atom, then Sublime Text and since 4 months it's always been Visual Studio Code.

It's nuts how fast Visual Studio Code is evolving. Good job Microsoft, developers and the community.

My only fear is that the application would become bloated, but for now it's still blazing fast. Even when i have to much extensions on :p

Edit: I'm on HN because Visual Studio is updating for the next hour probably :) https://gyazo.com/5ec738470b265531975f2aea0834d72f


We're very committed to fight bloat, as with any large software project its always a risk so please help keep us honest


I am not sure if you are talking about Visual Studio Code or Visual Studio ( which is still updating)

I'm not talking about the IDE, the IDE runs great. Referencing Visual Studio as bloated was not my intention, i was afraid that Visual Studio Code got bloated. The only thing is that Visual Studio updates always take a long time, that's probably the only thing that is troubling me sometimes. It's been 2:30 hours updating now : https://gyazo.com/b8718354c629fbd6e0c4867dfb95e0eb

I also know Visual Studio is a very big application ( i personally use mostly Asp.Net in combination with c# and Cordova) with many developers ( i heard 1200 developers in a talk with a Product Manager of Visual Studio). But 2:30 hours updating is just a very long time :)


VSCode is awesome. You are doing an excellent job!

Please keep up the good work, it is very much appreciated.


I don't know, every time I see a new release of Atom or VS code and people praising it in comments I go ahead and download it and open the project that I am currently working on in Sublime for side by side comparison. And what strikes me most is how smooth Sublime is compared to Visual Studio Code or Atom (at least on my mac, I dont know about windows experience). Scrolling is much slower in VSC and searching through files is much much worse than in Sublime. Those little things are what makes an editor a winner, it just does not slow you down and annoy you. So once again Visual Studio Code failed to lure me away from Sublime, I dont even know why I am still trying to...I love Sublime Text.


I'm on a 2014 MacBook Air and I open files with !5K lines long and it's smooth to scroll. My only knock would be a slow startup time, but I open my project in VSCode and leave it open for weeks at a time...


Here's a good test: Do you want a text editor, or do you want something that's close to an IDE?

Atom/VS Code exist to be IDE-y, not as thought experiments on text editors in the browser. Their advantages are in the ease of developing extensions and tools that aren't part of the core package.

The difference is similar to Vim/Emacs. Of course Vim has some IDE-y plugins, but they're rarely as rich as what ends up getting built in Emacs.


Choppy scrolling is a high price to pay for an IDE in my opinion.


It's definitely not choppy on my machine. There must be something wrong with your configuration. I would suggest to submit an issue on GitHub.


Do you mind filling an issue on GitHub about the choppy scrolling? It should definitely not be choppy.


VS Code, at least on Windows, doesn't have smooth scrolling enabled. Is that what you mean by choppy? It's definitely bad UX, lines just jumping around. I haven't found a way to enable it (very quick google told me nothing either).


I've been working lately on getting Visual Studio Code to compile for ARM. Its working fairly reliably but Travis doesnt support the toolchain so Im having to use Gitlab CI in the meantime.

I want to give this a little more polish before I release, but can I gauge from the folks here if there would be any interest in ARM nightlies for Raspberry Pi (and other ARM SBCs)/ARM Chromebooks?

If so, I'll move some things around to get it done in the next few days.

Works really well on Chrome OS with Crouton, owing to the integrated terminal:

https://twitter.com/headmelted/status/778458660003393536


Not so sure about a Raspberry Pi, it'd probably just be a novelty there, considering how slow the Pi is running Chromium and the like. (Though the Pi 3 might be able to handle it better).

Chromebooks on the other hand, sound like a great idea.


That's what I thought, but it runs quite well on a RPi2.

Extensions working well too, at least as many as I have tried.


> Travis doesnt support the toolchain so Im having to use Gitlab CI in the meantime.

AppVeyor has really good Windows images : https://www.appveyor.com/


I would love to see in on rpi3 as an alternate editor for python, node, go if it could be performant.


I love VSCode. Sublime still trumps it in two places though - multi-cursor support in VSCode isn't quite as powerful as Sublime I particularly miss the middle click, drag, select rectangle [1].

The other area is that global search/replace isn't as powerful or nearly as quick.

I'm hoping both of these are things they fix in time.

[1] http://jdon.at/19OUp


Middle-click and drag is a game-changer! Thanks for the heads up.



I love VS Code (we're pretty invested in TypeScript, so it was a natural fit), but the one thing I really miss from Sublime is that code preview thing that shows a bird's-eye view of the current file and lets you click around to any part of it. Any idea if there is or will be a way to enable the same functionality in VS Code?

Edit: Apparently this is called the "minimap" and is a popular feature request, so guess that answers that.


And speed. Sublime beats it in speed by a huge margin sadly.


I've recently switched to VS Code full time for C# and Python development and I couldn't be happier. While I miss some of the more intelligent intellisense from full VS, I love that I can do all of my dev on OS X. Its integration with .NET Core makes my life easy; really can't complain at all.


I was curious to know how it worked for Python. I might have to give it a serious go...


I wish it did a bit more in the way of completing methods on objects (it sometimes will, but only in super clear-cut situations), but outside of that it's solid. Completely replaced Sublime for me, outside of the subl command line.


Really, for c#? I assumed that the type-inferencing in and extension methods would make proper IDE support of C# on a "light" platform like vscode impossible. How do you manage your vcproj file?


Both VS and VSCode use the Roslyn compiler to provide IDE functionality. https://github.com/dotnet/roslyn


I figured the same! But it handles type inference, extension methods, using static, etc like a champ. Even does completion for project.json. I don't use vcproj since I just use dotnet core.


I thought project.json got mothballed? Did they take another kick at it and make it work?


Don't recall ever hearing it got mothballed during development - though I do believe they've bent over and are going to support csproj files with .NET Core in the future as well.

Here's the relevant page on project.json: https://docs.microsoft.com/en-us/dotnet/articles/core/tools/...

Edit: I need to be better about deep reading through links. https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-t... looks like project.json will be mothballed. Kind of.


Project.json is getting pitched, but until the successor arrives, it's still the only way to do .Net Core dev.


Seconded, I've been writing c# with asp.net core solely on OSX for a few weeks now, I've not run into a single thing that I miss from full Visual Studio yet, living the dream!


I switched from Atom to Visual Studio Code for my new project (TypeScript frontend and Go backend) and I am really impressed.

Although the Go support is really good in Atom (missing a few things like debugging and jump to definition via mouse), the TypeScript support is significantly slower than in Visual Studio Code.

There are few things missing Visual Studio Code though: Multiple top-level folders, customizable UI (font size in particular), a few essential extensions that Atom has and probably other things I forgot.


I love so many thing about VSCode but multiple top-level folders is a necessity in order for me to use this as my daily editor.

Microsoft pls


Use the UserVoice, Luke! It's the main way they get feedback and feature requests and they seem to really pay attention to it.


UserVoice is now deprecated[1], but they are perfectly fine with opening Github issues for feature requests.

[1]https://code.visualstudio.com/blogs/2016/08/19/goodbyeuservo...


You can customize the font face and font size. It even supports proportional fonts!

You just have to hand-edit settings.json to do it. Go into File/Preferences/User Settings and copy the editor.fontFamily and editor.fontSize lines from the left panel to the right and edit them to what you want.

What bothers me about the font rendering, though, is that for some reason they have disabled ClearType! Everything uses grayscale antialiasing instead of subpixel antialiasing. So for my eyes the text is harder to read than Visual Studio and all my other apps.

I know a lot of people don't like ClearType, but I took the time to go through the ClearType tuner and adjust it to my taste - mostly going with darker, heavier rendering than the default - and now ClearType text looks wonderful on both my high-DPI displays.


Yes, the editor font can be changed. The interface font (menus, sidebars) not so much. The only thing you can do is scale the whole UI which feels awkward at best.


Looks like this editor is constantly improving.

Anyone have an opinion on how this editor compares to webstorm?

Suppose I'll have to just give it a try to find out.


debugging is the best I've ever experienced. Webstorm debugging was problematic for me a year and a half ago. Visual Code has surpassed Atom by far as well, which weirdly does NOT support client side debugging for javascript (and that's a major mistake on Atom's behalf). In VSCode debugging is of course provided by 3rd party packages, but their API and rich debugging GUI seems to make it extremely easy to hook into it. In short, if you're using webpack-generated sourcemaps, VSCode is the way to go. Being able to finally debug in your actual code (rather than Chrome devtools) is a dream come true! Otherwise I love their built-in linting and git support.

Here's the chrome debugger:

https://marketplace.visualstudio.com/items?itemName=msjsdiag...

I've submitted several bug reports to its creator (a developer at Microsoft) and received prompt response as well as fixes! It lets you attach to running browser windows or launch a new one.

Next and perhaps more importantly, there's a debugger for React Native!:

https://marketplace.visualstudio.com/items?itemName=vsmobile...

And it works flawlessly, and brings along IntelliSense for React Native elements/apis, etc.

If you're a javascript developer, drop what you're doing / what you're using, and make the shift to VSCode. If you're using Atom currently, you can likely find your same themes in the VSCode extension directory, which--for me--made the shift almost seamless (the feel shares a lot in common with Atom because of its Electron roots).


Same here, but for Firefox (which I prefer for WebDev). Just switched to VSCode because it's the only editor[1] that has a working JS Debugger for it: https://github.com/hbenl/vscode-firefox-debug

[1] Though other editors might follow. Just saw that the Firefox Debugger team would be interested in integrating their new react/redux based debugger into Atom: https://twitter.com/clarkbw/status/783358566858010624


Would you say the Firefox debugger works equally well as the Chrome variant? (In terms of responsiveness, integration, overal experience). I really fancy the JS debugger of VSCode but I'd hate to drop Firefox for that.


I don't understand your question.

> Would you say the Firefox debugger works equally well as the Chrome variant?

Are you talking about the native debugger. Not sure. I only use the Chrome debugger from time to time, but mostly use the Firefox debugger. So it's ok, but since I use it all the time, I know it has its warts...

Anyway, there are completely rebuilding it using react.js at the moment: https://hacks.mozilla.org/2016/09/introducing-debugger-html/

> (In terms of responsiveness, integration, overal experience).

As said I use it (firefox and vs code) all the time as a JS developer.

> I really fancy the JS debugger of VSCode but I'd hate to drop Firefox for that.

That's the part I really do not understand. I do use Firefox (and its native devtools), and I do use VSCode plus its Firefox extension. So no reason to drop Firefox ;)


I tried VSCode shortly but switched back to Webstorm mostly because I couldn't find comparable refactoring/renaming options in VSCode. Also js debugging options were not as feature rich as in Webstorm.


One nitpick I have is, it's not an editor. It sure does contain an editor, but calling it just editor creates some confusion (as can be seen in the comments here). Editor should be usable to just edit files, which VS Code really isn't (starting an instance and loading the file takes ages).


I've found vscode to be noticeably faster than webstorm and consume fewer system resources.


Just got the prompt to install, so I figured I'd check HN while it was rebooting and this was on the front page. I switched to VS Code from Atom about 2 months ago and I couldn't be happier!


I switched from _years_ on sublime (paid) to vscode in a hot minute for Go development. Awesome jump to declaration and linting. There is one thing it has trouble with and that is auto-complete from within sub-packages. Not sure why yet.


You should submit an issue with a repro: https://github.com/microsoft/vscode-go Go plugin is very much actively maintained.


Good point. I had been meaning to do that for a while. Thanks for the nudge: https://github.com/Microsoft/vscode-go/issues/521


Update: found out it was because I needed to run `go get` or `go install` to have the subpackages listed in my $GOPATH/pkg directory.


I'm on LiteIDE for Go - have you tried it? If so, do you know how VS Code compares to it?

I have a very multilingual project so i'm resigned to using multiple IDEs anyway (LiteIDE for Go, VS for C#, Qt Creator for C++/Qt, Eclipse PDT for PHP, Notepad++ for bash...)


I've not tried LiteIDE since it first came out. I did not enjoy the experience at the time. The toolchain in VSCode is really nice. You can run tests from your cursor, the file, or the package. There is a built in terminal if you want it. Jump and peek definition for stdlib and imported packages. GoImports works, but so does a cmd+p prompt where you can ">Go: Add Import" and specifically add the import you want so autocomplete just starts working for it. The linting catches me all the time when I type fmt.Println instead of fmt.Printf or have the wrong format types in the string. You have to mouse over something to get its method signature or type, but I've gotten used to it. I even have found myself using its git diff viewer. It also has delve debugger integration, but I've not had the chance to use it yet.

I also use VSCode for bash, python, perl, HTML, markdown, and probably a few others that I'm forgetting. However, I primarily use it for Go.


Nothing beats LiteIDE's integration with the Go toolchain IMHO. However it's not a very good editor in other aspects. Plus it's so ugly it hurts my eyes.


What is 'linting'?



I could be wrong, but I think it's a rules-based approach to enforcing code standards in javascript and other languages.


Sounds about right. More broadly said, a linter shows things that you should fix.


Thanks. That cleared things up. Wikipedia can be confusing sometimes.


In general a linter is a syntax checker, and usually one that tries to flag code quality issues well as illegal syntax (e.g. "don't declare a function in a loop!").


Probably the best editor for anything Javascript related. <3


For me it's also amazingly good for C and Go development.


oh that's actually really good to hear - my team has a lot of backend services in Perl (yeah..) that we're moving to Go :)


Why would you rewrite already-working services written in an expressive and battle-tested language to a fad 1970s-style language?

It's like being in the late 90s and replacing your existing infrastructure with Java hype, except with a language somehow worse but justified with Rob Pike's pseudointellectual bullshit.


Haha fair argument. As someone pointed out - it's very easy to incur technical debt in Perl. It's a dynamic language with virtually non-existant dev tools and lacking open source community. I personally can't wait to go back to a static language for our backend. We're looking at NodeJS (of course...), JVM, and Go. Arguably you can fake typing in NodeJS with TypeScript, Flow, etc, but my team isn't too excited about JS for our backend, I personally have an allergic reaction to Java for backend and I really want a static language, so by process of elimination, Go wins.


Fair, and good response. I was kind of just venting about my general dislike for Go there….

I do think Go has a decent niche for backend services similar to Erlang but with a much easier learning curve (and more available talent). Sounds like you're actually using the right tool for the right job.


Perl still has an active community, it's just not as big as some others. Perlmonks.org and /r/perl are fairly active.

(I'm sure you're aware of this, I just didn't want to leave the impression there's _no_ community.)


depending on technical debt in Perl code (which is quite easy to incur) it might make sense if you're still making changes to the project. also single-binary deployment is always nice, though in the world where docker exists not as big of a deal as it used to be a few years ago.


> single-binary deployment is always nice

Available since Fortran and not a Go only feature.


What I find to be hilariously missing is drag & drop for the selected text. I tried switching to VS code a couple of days ago and realized I couldn't do such a basic thing.

That and a decent FTP extension. No one wants to sync their entire project just to upload a single file. ugh.


I don't think I've ever dragged and dropped selected text in my entire life. I didn't even know that was a thing one could do in any editor. Does dragging and dropping move the text, like a cut/paste, or does it copy the text? When would you use that? Is it faster/easier to use the mouse for this than Ctrl-C/Ctrl-V (or y/p in vim)?


Ctrl-DragSelection (Windows) duplicates the dragged text without overwriting the clipboard text, which is sometimes handy. It's Alt-DragSelection on OSX.


Ah, that's a nice thing. Back when I used a mouse most of the time (back when I mostly used a desktop rather than laptop), I really liked middle mouse button paste in X, as merely selecting text wouldn't overwrite the clipboard. I used it all the time and it was probably the biggest single thing I missed when I had to use Windows or Mac. It's super handy, IMHO.

For non-X users who have no idea what I'm talking about: In the traditional mouse button setup for X Window System, you can select text, and then paste it by clicking the middle mouse button.

I don't know if I can train my hands to be able to select/drag with a trackpad quickly...just trying it now seems very clumsy and time-consuming. But, I do often wish for the ability to copy without overwriting the clipboard.


Depends upon the key combination. It's muscle memory since I discovered it, but I believe holding Ctrl will replicate a copy/paste, but otherwise a cut/paste.


You use drag and drop of selections? I don't think I've ever done that on purpose --- every time I've ever dragged selected text has been by accident, followed by much cursing as I try to fix my mangled document.

I'd turn it off system-wide if I could!


I would curse too if no one ever told me I could use Ctrl-Z to fix something like that.


Likewise. And the support for DnD of text really hinders usability in tools like Google Docs. If you select a wrong piece of text, it would be so much nicer to just start selecting the correct piece instead of first clearing out the selection elsewhere to avoid triggering drag event.


I used that sometimes while holding ctrl/option for copy-pasting text without altering the clipboard, is actually a feature I missed in Atom and VSCode as well.


Gotta say, I'm with the rest here in that I have never done that on purpose. When I'm in the editor, having to switch to the mouse for something as simple and cutting and pasting feels like such a drag. I didn't even know it was a common feature :|


I see lots of the responses are surprised people actually use drag'n drop for text. I just want to chime in that I use it a lot, although I can't really give any concrete scenario when I do it. Sometimes it just makes sense.


I was actually happy to find out VSCode doesn't have this feature.


I've just got a gulp ftp task for syncing the ftp server I'm sure you can do similar without much trouble to run from vscode. I run that as a post-commit to production.

https://www.npmjs.com/package/vinyl-ftp


Also the case for Atom, though? There are packages which provide it for Atom, though. Editing/uploading a single file could be handled via sshfs.


Never used atom, I use sublime. Also can't find any extension named sshfs. I don't want to install another FTP program and then open it up every time I want to make a change.


sshfs is a utility that allows you to mount a remote directory locally over an SSH connection.


There's also CurlFtpFS (or GVFS's FTP support) that mounts regular FTP. There really isn't a good reason a text editor should implement remote file protocols themselves. Let it be handled at a lower-level!


I've been using VSCode for a few months now, I'm finding it to be really powerful. Main downsides for me:

* The Flow support (via an extension) is pretty far behind the TypeScript support, which is understandable but not ideal.

* It doesn't yet have the critical mass of mindshare for it to be primary target for extension authors, i'm hoping that changes.

* The lack of ability to customise/theme the UI means I can't do anything about the fact that my syntax theme looks totally out of place in the UI.


If any of the VS Code developers are reading this, I have a few suggestions:

When I open a single code file with VS Code, I'd like the workspace to automatically get populated with the other files in the same folder, or at least have a simple option to do so. I like that VS Code use the folder structure instead of a special project file like .sln, but this is a small annoyance since I often open single files before deciding that I want to continue to work on the whole project.

Make it easier to run Python code. I don't think there's an easy way to run my script and see the output in a terminal without filling in some json file? Please correct me if I'm wrong.

I'd really like support for Jupyter notebooks. They're already web based, so it makes sense.

For new users or users that only use it rarely it seems a bit opaque with json based settings, and a lot of things hidden behind a command palettes. It's great to be able to do everything with the keyboard, but maybe surface some of the things in a GUI too?

Visual Studio with Python tools are my IDE of choice for Python, so there's every chance the VS Code will become a great Python development tool too.


Hm there is this for fast (shell) execution: https://github.com/DonJayamanne/pythonVSCode/wiki/Miscellane...

Jupyter support has been added in version 4.0: https://github.com/DonJayamanne/pythonVSCode/releases


> Make it easier to run Python code. I don't think there's an easy way to run my script and see the output in a terminal without filling in some json file? Please correct me if I'm wrong.

There are multiple extensions that run code without any setup for almost any language. I use https://marketplace.visualstudio.com/items?itemName=formulah...


I only miss a code minimap. It's my choice for code editor since its release, replacing Atom.


I've honestly never found a practical use for that. But then, most of my code files are either at most 2-3 pages long, or things like long .json files in which a minimap doesn't really help much.


The Python coding experience in VS Code is very nice. Regarding to debugging Python code, can't say much about it just because I started using it yesterday. Even so, was a pleasant experience too.


I started using it last week for Python. My experience was also good. Configuring venv to work with the integrated console was very simple.


Switched to VS code from atom and loving it already. This is what Atom should look like. Atom has become so bloated it's a pain to use now. But there was a previous comment online maybe on HN or Reddit about an issue in the privacy policy or license in VS code. Any idea about that??


While this editor really attracts me, (it has that Emacs-y vibe, where it integrates many external tools in nice cohesive interface) I still cannot overcome that it is still basically an electron app. Atom is just a no go, despite all the candy looks and nice little plugins, I cannot justify energy and memory usage. I heard VSCode is totally different story, but I have yet to find js developed desktop app that doesn't make me cringe! Previously I bothered, and tried many of them. Now I just don't even try, just skip. And VSCode looks sweet, really sweet! And I would like to try it if, but the way and nature of application is pushing me away. Maybe if some of you folks convince me I'm wrong I'll give it a shot. :)


I despise Electron and the culture it encourages of huge, slow applications.

I do have to say, that VS Code is entirely different, and the first time I played with it, I didn't realise it was using Electron.

It is really solidly engineered, with an insane amount of time and effort by great people working on the best of features for what an IDE needs, rather than the next shiny feature. (Scrolling, Time Travel Debugging, functional end points within to better allow for Vim and Emacs style integrations).

My upshot? Give it a chance.

This isn't something insane created by someone convinced Electron solves all their problems for them.

Its experts in TypeScript using what they know, inside and out, to make something deserving of the expert's attention.

The installer is 30ish MB, unliked the 200ish I've seen from a ton of Electron applications. gVim takes up the same amount of space on my system.


> I do have to say, that VS Code is entirely different, and the first time I played with it, I didn't realise it was using Electron.

This. I didn't like Atom's performance on my MacBook Air, but Code was running beautifully. "Finally," I thought, "a native code text editor that has all the features I want instead of some bloated Electron crap."

Oh. Oh you sweet summer child.

And the best part is it doesn't matter that I was wrong; I got what I wanted: a nice, free, performant text editor with Git integration.


This was kind of post that I was hoping for! I will install it and configure it this noon, just to finish with studies. Thank you for taking your time!

Edit: Oh my god. Just installed it! This thing flies! It is first electron app that is light and fast! Mark me impressed! Good job Microsoft!


The time it took you to write that you could already have downloaded it and given it a go. Why waste our time to convince you?


Why so salty? You don't have to waste time at all, not even so to comment on my post.


VSCode has been my full time editor. Thanks!!


Started with brackets, moved to Atom and settled at VS Code. Like their monthly release with useful features


This might sound like a weird question, but after a lot of search I found no keyboard shortcut to toggle between the editor and integrated terminal. It sound like a I'm picky but it's a bit of a timewaster to have to pick up the mouse just to switch from editor to the integrated terminal. A most I could use an external terminal window but that kinda defeats the purpose of having an integrated one I think. Is there such a key binding?


Other commenters aren't answering this. ctrl+` hides or opens the terminal. If you want to leave it open there's no command to toggle only your cursor focus from editor to terminal.

edit: I take it back, It's just not bound.{"key": "ctrl+#", "command": "workbench.action.terminal.focus"}

But you can't move the focus back with that toggle.

https://code.visualstudio.com/docs/editor/integrated-termina...


Good point! I already have double pressing the terminal toggle in my muscle memory, using focus might be worth changing that habit.

To "get out" of the terminal, cmd+1 sets focus on the editor again (to be precise: focus on the first editor group if there is a split view).


Yes, thanks very much! I actually had those too, as a backup but I think different combinations for opening and closing (or in this case toggling into terminal, and back into the editor) are more cumbersome than simply opening/closing.


Ooh good spot. Thank you.


What you're really looking for is exactly 1 shortcut: cmd+shift-p (or ctrl-shift-p, depending on the platform) for the command palette, where you can fuzzy search for every available command.

If a command has a keyboard shortcut (toggle terminal has one), it's in that list. It even shows your custom shortcuts.


Thanks for the feedback. I had assigned a different shortcut to "ctrl+`" so I was getting a different result that toggle.



Ctrl-~?


Is anybody using VS Code for Haskell development? How is the extension like?


Are there any VS Code users around who used to use either Emacs or Vim who might share a few things they feel VS Code does better? I'm curious about these modern editors and sometimes wonder what they have to offer besides possibly being easier to learn (an advantage I'm not interested in).


Vi/Vim user since 1992. Flirted with emacs every so often. I haven't used Vim in 9 months since installing VS Code. Here's why:

1. IntelliSense support is the best outside of Visual Studio itself. 2. Integrated debugging (currently use C#/mono and Python debuggers a lot) 3. Great git integration. Best "GUI" client around. (advanced git features are not provided, but everyday stuff is really well done) 4. Visually appealing. Not saddled with a terminal heritage.

Just to name a few. Yes, Vim and Emacs have all of these, to some degree. But VS Code does them all better (IMO).

It's fun to use. There's a lot to discover, but there's enough there to be productive right from the start.


Thanks! It seems that most of those advantages are not directly about text editing but more about being a better IDE. I guess that for someone like me, that uses Emacs mostly for writing prose and for file management, and only occasionally for programming, the things you mention don't sound as attractive (and when coding I never use a debugger, which is probably a mistake on my part).

About git: have you tried magit for Emacs?


Yes, I have used magit while trying to find some love for emacs. It's fine. But I still prefer VS Code's git integration. It's the simplest client I've seen. I don't mind using the command line for git, but if I'm in the editor, I can do anything I need to do for my daily workflow with keyboard commands or point and click, whichever mood I'm in.

And as far as text editing, there is a lot that VS Code provides for getting around and moving around text and windows and files. Multiple cursors and syntax-aware selections provide me what I loved about Vim (macros and text objects). And now I don't drive myself nuts hitting the escape key in every other application where I type some text.


I love VSC, and use it for Python.

It's the only GUI editor that's ever "stuck" for me, having bought Textmate, tried Sublime, etc. Always go back to CLI Vim. I'm coming from the perspective of someone that hates IDEs, and only wants a bit more than what Vim provides in terms of battery inclusion. I think VSC's level of Git integration, for example, is perfect for me. Handle the common stuff, drop to the CLI for the rest. Extensions, especially relative to Sublime, also perfect for me.

The rate of improvement, while obviously a draw, only manages to give me fear that it's going to turn into IDEA or whatever, nested menus upon menus of corner-case features that I will never, ever use. My brand of minimalism actually makes me wish they would slow down :P


How does VS Code compares to Atom? If I'm not mistaken they're both written in Electron, right?


VS Code doesn't run like shit.


It supports Unicode BOM correctly. Looks like this STILL is a long standing issue for Atom.[0]

[0]:https://github.com/atom/encoding-selector/issues/18


Much faster and less of a memory hog.


There's no support yet for non-git version control systems, right? I gather they want to add support for this via extensions, but the underlying APIs aren't there yet.

Does anyone know if there's an ETA for this? (I'm a Mercurial shop.)


Any idea how to get it running on a Windows Machine where I don't have admin rights? (typical work setup). Any portable version available?


Did they ever fix the DPI scaling issues?


I don't have any scaling issues on my Win10 4k 175% scaling setup. But unfortunately text rendering is still blurry compared to native editors due to the underlying Electron/Chromium renderer. Hope this will get resolved soon :'(

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


I guess that's what they meant. While the scaled-up result has the correct size and avoids other artifacts of broken high-dpi rendering, it's, well, blurry.

However, I suspect that this is more a Chromium/Electron issue than one for VS Code and other applications built like that. Heck, not even Chrome scales properly on high-dpi displays, which is pretty poor in my eyes.


Hmm, Chrome looks perfectly fine on my high-DPI display (4k 150%), but both Atom and VSCode have major issues. Possibly an Electron issue I suppose, but I can't say for certain. Pretty ridiculous that almost every other app I run scales perfectly now, but text editors don't. Of course, Emacs, Notepad++ and Sublime all work perfectly so it doesn't impede me much.


What do you mean by DPI scaling? I'm using VSCode on Windows on retina-y display with something like 200% scaling and no issues.


It works okay on my X1 Carbon, but it's still not perfect because the interface font size cannot be changed. That means you have tweak your editor font size and zoom factor to get a good result.


Can I use VS Code to work with remote files? I almost always work with remote files for development at my day job and would like to switch to VSCode for its better JS support. Right now I am using SublimeText3 with the rsub plugin to edit remote files.

What workflow do you guys use when working with remote files?


We use Unison[1] to keep a local copy in sync with remote, then just pop open the local copy in any editor.

It sits and watches both the local and remote filesystem for updates, it's fast and efficient, even in large projects. Downside is that it needs to be installed on both ends for the filesystem watching to work.

[1] https://www.cis.upenn.edu/~bcpierce/unison/


I stopped doing that in the nineties. Are you working life on production systems, do you need some really special dev environment, or why wouldn't you work locally or at least in a local VM?


That's a good question. I usually use remote drives."sshfs" is usualy the easiest option to setup on a linux box. And when well configure the speed is great


Is there a good VS Code extension / built in support for function / method list on a separate side bar?

Something similar to Structure view in Webstorm or Function List in Notepad++?

I learned that Ctrl-Shift-O will show functions but it is a not a permanent view.


There will be.

Maybe I will port my Atom plugin ( https://atom.io/packages/atom-lupa ) to VSCode or maybe I'll write from scratch whole thing.

I don't know when exactly though (now I'm making something bigger than that and it takes time).


I'd like to switch from Atom but a few little niggles make me keep going back. I like how Ctrl+K has the emacs-style behavior in Atom, and there's an annoying bug in VSCod's tex mode which stops commenting and uncommenting of lines from working.


You can override any key combination.


But not key/mouse combinations, unfortunately. I'd like to remap the insert-additional-cursor action to cmd-click on a Mac instead of alt-click (I think it's cmd-click in both Sublime and Atom, but not VSCode), but they left click events out of the keyboard remapping (at least so far).


I looked into it, but it wasn't obvious how to:

(i) make Ctrl+K put the deleted line into the paste buffer.

(ii) allow repeated applications of Ctrl+K to delete multiple lines.


Is Ctrl+X what you're looking for? Maybe you can change the binding of that.


Thanks, that is what i was looking for. Feel a bit silly for not noticing it, but it seems like an unusual behavior to associate with the 'cut' shortcut.


I think they got that from Sublime Text ;)


Still can't work with proxy without some magic tricks at my office.

Still slow as hell.

Not sure if it can open large log files (Atom crashed whenever you try to open pretty small log file, like 60mb or something)

etc.

I don't get why whould anyone prefer this to Sublime, to be honest.


How do you work with proxy? I can't install any extensions without manually downloading and installing.


You can set the http.proxy option in your settings.json. I have to use just "http.proxyStrictSSL": false because we MITM traffic and the bundled node doesn't check the windows cert store.


I can see the list of extensions doing this but trying to install gives "Server returned 407".

UPDATE: Turns out I have to include my username and password in the URL. I don't install extensions often so I will do this temporary when I do.


Now MS just have to seamless integrate their Ubuntu Bash filesystem with the Windows filesystem so I can create files in VSCode and access then in the ubuntu shell. They will build the best dev environment.


What are you missing specifically there? The windows filesystem is already mounted in bash for windows, so you can access files created from Code there.

However I didn't found that of too much use since I can't run windows executables from there and so WSL is pretty isolated. Instead I still use msys/cygwin for the shell which has it's quirks (file path magic) but works. In combination with docker for windows and volume mounts there I can even cross compile Linux executables on the windows shell, which is pretty cool.


An environment that doesn't match your production server is far from being the best one (this doesn't apply to all cases but you get the idea)


Agree 100%. Ubuntu desktop and server is gaining market share among devs (those who prefer working on bare-metal) for precisely this reason.


How is Markdown support? Does it support GitHub Markdown?

I'm using Atom as it has some nice plugins. But I tend to preview my markdown in Marked 2 anyway.


It does support Github Flavoured Markdown and has a preview mode built in, no extension needed.


Awesome. Thank you. I haven't tried VSCode since before 1.0. Downloading now. I'd love to get away from Atom.


Is there an option/mode to simply highlight matching parentheses for plain text or files that don't have their own language modes?


I want the appearance of the bracket matching to be specifiable as a preference, so I can make it as visible as I want to make it and not have to just live with what someone decides is best for me and hardcodes.


Is it possible to open the same file in multiple tabs, yet? You can split screen a file but that gets cramped on a notebook display...


for js editing vs code is great and even for small java projects you can use vs code. a better maven integration in the redhat java extension would be great, though


does it still not have flexible split window feature? argh...


What exactly do you mean by "flexible split window"?


split 'em however you want.. not just the 3 columns or 3 rows layouts


Ah, I see. It's not even in Sublime2 (there's only 2 by 2 layout). One full height column and one split does sound useful.


it is in sublime 2, via the More Layouts plugin


Does it have fuzzy search by whole file path yet?


Yep, works. Even without using slashes in the search string.


i use brackets right now, would i like this?


in before sublime/atom is better...




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: