Hacker News new | past | comments | ask | show | jobs | submit login
Visual Studio Code 1.2 released (visualstudio.com)
278 points by cryptos on June 7, 2016 | hide | past | web | favorite | 156 comments

I'm not ready for transition (using atom at the moment and considering spacemacs due to elixir), but VS Code is really impressive in terms of speed. Atom is cool, but it's really slow. I thought it was because Electron, MS proved me wrong. Point for them.

I switched from Atom a few weeks ago, and haven't back. I do miss Atom's regex support in Find All, but I use it rarely enough that I can just fire up Atom when I need it.

Enough of the keyboard commands are borrowed from Atom that it makes the switch pretty painless.

I posted this in the Atom thread yesterday, but I think it's worth repeating:

I love VS Code and have been using it as my main editor for quite a while now, but the lack of project-wide find and replace is why I still keep Atom around:


This glaring omission combined with the proposed performance improvements in the Atom 1.9 beta might just be enough to tempt me back to the Atom side again.

Brackets 'find all' is pretty amazing. It is fast enough that it lists results in realtime as you type. I find myself using Brackets just for the amazing fast search.

Also, Brackets can jump to source of functions of just plain JavaScript like WebStorm. Last I tried, VS code still doesn't do this yet.

VSCode has regex support in find all (it's the little .* that you see on the right-side of the search box).

The last comment on that issue from alexandrudima makes it look like it'll be in the next release, if we're lucky.

I've been a vi person for over two decades, and switched to VS Code a few months ago. It's really fantastic for a lot of modern development especially web stuff (and golang.) As they add features, I hope they continue to drive the UI latency down and keep it snappy.

Hi. I've been looking for someone that uses vi seriously. I have struggled to use it quickly. Can you give me or do you know of a short screencast of someone using vi at their comfortable speed. I can't understand yet how it can be faster than autocomplete.

A bunch of screencasts here: http://vimcasts.org/

And here's a post I wrote a while ago about why Vim can be so efficient: http://benmccormick.org/2014/07/16/learning-vim-in-2014-vim-...

Look for some of Gay Bernhardt's stuff, particularly the Destroy All Software screencasts[0]. He's a proficient Vim user, several of the screencasts are about using Vim specifically.

0: https://www.destroyallsoftware.com/screencasts

What is faster than autocomplete? vi is an editor just like vs code. You can use autocomplete and other features in vi too.

Sorry, I don't mean autocomplete. I mean other editors that do not rely on a large number of keyboard shortcuts. I have never seen someone use vim quickly.

I've been using vim inside of VS for a while (ViEmu and VsVim) as well as in Emacs (Evil) and straight vim for light editing. Of course typing a word out will be faster with autocomplete - it's less keystrokes. Where I find speed is navigating around lines, changing/deleting stuff (like changing inside parens or a string, deleting multiple lines, etc). It's small stuff that really adds up.

The real killer is quick macros. If I have to transform a bunch of lines, it's just a "qa<work>q" and a "@a" away. It's pretty amazing.

At first vim doesn't seem that great, but after using it for a while it's indispensable. Somewhere along the line you go from having to think about all the strange keystrokes to just getting a feel for it. Doesn't hurt that it makes you feel like a wizard, too.

Comparing with Emacs is a hands-down win - having to press Ctrl Alt whatever just to move around is silly. Emacs+Evil is sweet though. Comparing with VS's editor (Windows style, with Ctrl+Arrows for things) is also a huge win. Windows editing just isn't amazing.

VSCode's lack of full vim support is very disappointing.

I really like spacemacs as it seems to bring the best of both emacs and vi. If you like evil, I recommend checking out spacemacs.

My big complaint against VIM is the default keybinds are not dvorak-friendly, and I don't want to spend a century messing with my keymap to get it to feel comfortabe. I typically just use IntelliJ for everything it has language support for, though I use vim for everything else still.

That's because they're faster than the eye can see... :)

No, seriously now. I've been a vi/vim user for a decade or so, but it only "stuck" when I realized that the single key commands are verbs and that the right way to use it is to experiment less and plan ahead more.

I'm tremendously productive with it when I already know what I have to do in batches (refactor blocks, rename multiple variables, etc.) rather than just hunting and pecking at things with a mouse.

That said, I only use two editors these days: vim and VSCode (without any sort of vim bindings, which I've not yet investigated fully). The former for quick dips into existing code bases where I already know what I'll be doing, and the latter for new projects.

Plus, of course vim is essential if you ever want to be productive (or even borderline effective) on a server environment. I'd stick with it if I were you.

It's a learned skill. If you seriously want to learn it, just use it as your only editor for a while.

Its learning curve is a lot like git: It's overwhelming at first but you only need to know basic commands. Then once you understand how it works, you'll pick up on the rest faster and faster.

The real power of vim is the ability to do very quick "programmatic actions".

"Delete" -> "d". "Go to end of next block" -> "}". "Delete next block" -> "d}". "Delete next 3 blocks" -> "3d}". "Repeat that action five times" -> "5.".

Too many people are intimidated by vim's nature of being a command line editor, not a real IDE etc. But its power has nothing to do with that, it's really just the input style.

Well Vim is quick because of the different modes, normal, insert and visual. I can cut and paste really fast due to knowing shortcuts. I don't know if it is worth learning unless you are coding/editing for hours. The way most people have picked it up was that there were few choices and we grew up with it. For some new people they also like it but it isn't for the majority of people since it doesn't "click." Editing speed is very low on the programming skills.

> Sorry, I don't mean autocomplete. I mean other editors that do not rely on a large number of keyboard shortcuts. I have never seen someone use vim quickly.

I'm not sure I follow. Have you seen people use vim slowly? Or have you not seen anyone use vim at all? Vim (from v7?) has built-in "omnicompletion", by default bound to ctrl-n -- that you can use for everything (by default it "tab completes" against words in the buffer/file). There are various plugins for eg: writing html, and ways to set up full autocompletion.

In general though, typing isn't what limits productivity -- and I've seen some studies that indicate that even though people think they're faster using just the keyboard, most people are actually faster at editing text with a mouse (Obviously, people type faster on a keyboard).

Personally I prefer vim for two reasons: 1) I can't use a mouse day-to-day due to latent carpal tunnel syndrome, and 2) I feel it's easier to stay in the flow, and work efficiently with a modal editor. This has to do with vim's use of verbs, nouns (text objects) and modifiers/ranges (adjectives/adverbs)[1] - eg. 3dl (3x delete line) and 3dw (delete 3 words). The other has to do with easily moving around by regex, or go directly to line-number.

For a look at what a "modern" graphical text editor could/can work like, have a look at Russ Cox demoing how he works with the ACME editor: https://www.youtube.com/watch?v=dP1xVpMPn8M

If I could use the mouse for editing, I'd try to learn ACME. I still think it might be an interesting interface for hi-res laptops with proper pen input (like a Surface Pro 4 with a keyboard - using the pen for mark/editing, and the keyboard for input).

But more than anything, both for a glimpse into vim, and also for getting more efficient with whatever editor you are using - I recommend Bram Moolenaar's (creator of vim) talk on "Seven habits of effective text editing 2.0": https://www.youtube.com/watch?v=p6K4iIMlouI

[1] http://yanpritzker.com/2011/12/16/learn-to-speak-vim-verbs-n...

The "VimStyle" plugin is probably the best Vi-emulation mode for VS Code right now.

Why do you use vi and not vim?

What kind of environments (software, hardware) is everyone running this one? I tried it once, and I found it much more sluggish and unresponsive compared to my X11 Emacs setup.

EDIT: I should add that I have all the bells and whistles like excellent fuzzy input selection via ido and even live preview of Markdown rendering via markdown-mode plus eww (requires Emacs to be built with libxml2). Plus on the fly error checking if I need it, auto completion, terminal emulators, etc. Just saying, before anyone argues Emacs doesn't support modern amenities.

I run it on a Macbook Pro 15 2015, a Macbook Air 11 2011, and a frankenbox with an i7 from 2013.

On the Air it takes 10 seconds or so to launch. On the others it's less than 5 seconds. Compare to PHPStorm, which is kinda useable in less than 30 seconds, and takes a minute or two to index a relatively small codebase and be fully useable. (Of course, PHPStorm does a lot more than VS Code, but I find that I don't use it anymore anyway; testing startup time just now was the first time I'd opened it in months. I guess I should stop paying for it.)

I'd go nuts with such long launch times, regardless of daemon mode.

When I use a command line editor, I tend to launch a new editor for each file, edit, save, and quit. For GUI editors, I tend to just leave them running on some desktop and add files to them, so I rarely start them and wait; instead I just open a new file or a new window and continue.

In fairness, x11 emacs is literally the snappiest thing I have ever used on any platform. It is totally nuts.

Have you tried sam or acme? Both are remarkably snappy.

To be fair, both devdraw GUIs have a long-standing improper scrolling issue, which may or may not be a feature because it's simple and fast.

On my lowish-end HP laptop (Intel Celeron(R) 3205U @ 1.50GHz, says /proc/cpuinfo), Geany is my IDE of choice for HTML, PHP, and C stuff. It starts instantly, never lags, etc.

Emacs has always been a bit laggier than that (and a few seconds to start). VSCode starts slower than Emacs, but once it's running it feels much snappier--on par with Geany, though I still only use it for C#/F#.

On my Ubuntu netbook that I use for short trips and on Windows, mainly for Rust editing.

The netbook has 4GB with dual core Brazos APU and it is quite fast, to the point that it is maybe the only web based application that I run as desktop application.

Well, of course, the Electron framework, which is essentially a stripped down Chrome browser, consumes more hardware resources than a terminal-based text editor.

On my machine (Core i5-4590, no extra graphics card, 8 GB memory), once it's open (which takes a while), it's nevertheless very fast and definitely not sluggish.

> terminal-based text editor.

He said X11 based, so its the actual GUI one with native widgets et al

The UI has always held me back from using VS Code, though the performance and new features look great. Glad that tab support is coming, and it's cool that they have a detailed iteration plan for June publicly available: https://github.com/Microsoft/vscode/issues/7253

I'm stoked they're going to add tabs. When they first launched code, they said they didn't want tabs. I guess they thought the document explorer thing was the best option. But it totally turned me off from using Code.

Personally, I like the document explorer more than tabs. It's very clear which files have been edited. I use IntelliJ IDEA and periodically I have to stop and clear out unused tabs as it gets too crowded.

What, in particular, about the UI don't you like? Is it just the lack of tabs?

I love their focus on user requested features. Within a few releases (probably 4-6 months) they will add tab and terminal support.

Really cool!

Terminal is already in there and mentioned in the root link. Just press Ctrl+` and it will show up.

Need to change that key binding... thanks to the US-centric take we've had on keyboards since the TTY days, that key combination doesn't make sense on a Portuguese keyboard.

    // Place your key bindings in this file to overwrite the defaults
        { "key": "ctrl+shift+t",                "command": "workbench.action.terminal.toggleTerminal" }
Change to whatever works for you, I use ctrl+shift+t since I have that mapped in intellij and muscle memory is a terrible beautiful thing.

Aye, thanks. That's what I'll do, since I also use that in OpenBox when running Linux and it's much more intuitive.

It's Ctrl+ù on French keyboards. Maybe they customized it for Portuguese keyboards too.

They did, they're using Ctrl+ç, which is a nice way to use an otherwise useless key for programming, but hardly memorable or ergonomic for me - I'll go and use Ctrl-Shift-T as well, which is what I use in Openbox ;)

I wouldn't recommend. What if you use VScode in openbox?

CMD+< here, found via CMD+SHIFT+P interm which I use anyway.

I just tried it out (finally, a terminal!) but I have a strange problem with it: I can't copy & paste text in the terminal. Ctrl-C sends the usual terminal escape sequence (which is good) but there's no right-click menu or alternate shortcut (that I can find) to copy from or paste into the terminal.

Traditionally terminals auto-copy text to the clipboard or use a keyboard shortcut like `ctrl-shift-c`. To paste you typically use `shift-insert` or `ctrl-shift-v`.

Am I missing something?

They have in the release notes that Copy/Paste doesn't work yet, and that the terminal integration is pretty early....

"Please note, this is an early version of what we want to deliver. Currently VS Code only supports a single terminal and there still are missing features like copying and pasting with the keyboard. Windows 10 users may experience problems getting cmd.exe to work. If so, please try enabling the legacy terminal as described in #143"

Wow this is amazing! Do you know if you can run powershell in terminal? I just tried to run my usual powershell build cmd ".\build.ps1 Prod" for example but it launches notepad with the code for the powershell script.

Hi, I wrote the integrated terminal. The advice mentioned will open 32-bit version of Powershell, for 64-bit you need to use a different path:

"terminal.integrated.shell.windows": "C:\\WINDOWS\\sysnative\\WindowsPowerShell\\v1.0\\powershell.exe"

C:\WINDOWS\sysnative should be a symlink to C:\Windows\SysWOW64, see https://github.com/Microsoft/vscode/issues/7095#issue-157913... for more info

Yeah, you just need to change your terminal in settings:

"terminal.integrated.shell.windows": "\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

On my Windows 7 work laptop I just added the following to my settings.json:

    "terminal.external.windowsExec": "Powershell.exe",
    "terminal.integrated.shell.windows": "C:\\windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe"

> Just press Ctrl+` and it will show up.

WOW! this is awesome!

havent used straight up terminal yet, but I have done bower and yeoman inits presumably with the same interface. Works well. I like that they add features slow and seemingly balance performance. Atom was a great idea but throwing the kitchen sink in also seemed to creat crazy petf issues

Terminal support is in this release ;)

Can't recommend this enough. Especially if you do react/react native work. Thank you so much microsoft for this. Do not be prejudiced against the technology just give it a try and see for yourself.

Seconded. Everytime I've tried VSCode I've been very impressed. (More than every time I tried Atom).

It's snappy, has a nice UI and lot of great out of the box features.

I just opened a project in VSCode, closed the VSCode, deleted the project, and now when I try to open VScode the program won't load. Did I break it?

Also, how do I autocomplete using suggestions from other files within the project directory?

Do you mind filing that issue? https://github.com/Microsoft/vscode/issues/new

No idea about that.

For me autocomplete works out of the box in all projects. There is also a bulb next to the file type in the bottom right corner which suggests to create a jsconfig file for you for better intellisense support. I haven't noticed any difference after creating it though. VSCode makes JS suffer able for me :P

For VSCode crashing, no suggestions since I've never seen it myself. You could try deleting the config files in your "home" directory and run from scratch.

Which language are you trying to autocomplete. For some like Javascript/Typescript, it works out of the box. For many like Golang, C++, Python you need to install a plugin but takes just a few seconds. Also for autocomplete to work across files, I think you many need to open the whole directory ("file/open folder..." menu item.)

One thing I liked so much about vscode is it's default 'VS Dark' syntax scheme, so much so I modified a copy of it for intellij which makes things a lot less jarring when jumping from one to the other.

Each release is much better than the last and the momentum behind the releases is incredible.

What's the state of vim plugins for VS Code?

I would love to use it for Go programming but I'm so used to vim key bindings that it's hard to switch. I can use IntelliJ because their vim plugin is pretty good; anything of similar quality for VS Code?

Unfortunately it's not on par with actual vim or what you get with Sublime and IntelliJ.

The vscode vim plugin mostly emulates the modality of vim, without support for things like :%s/x/y/ substitutions and other commands.

I'm hoping that with time it will mature and improve. Haven't seen any improvements over the last few months though (I last tried it about 2 or 3 weeks ago).

I've tried three, and VimStyle has been the best by far. The plugin marketplace shows it having a lower number of installs, but that's probably due to it being a bit later to market than the others.

I was just using vs code now with vim bindings and was running into roadblocks.

For example, 23G doesn't go to line 23. d5d doesn't delete 5 lines.

Vim key bindings still have a way to go.

I'm not much of a vim user, but vs code is _amazing_ for programming in Go. I dropped sublime after about 30 seconds of use and have not looked back.

It's pretty poor; expect only the basics of moving. I don't think this is a technical problem though, just a plugin maturity problem.

Sounds like they should use IntelliJ to write a VSC plugin so they can switch to VSC :)

I'd really like to see them use neovim to interpret commands. IIRC there's an Atom plugin for just that.

Yup the only reason I'm currently using Atom over VS Code is because of the VIM bindings, even though pretty much everything else about VSC is better (including feeling more snappy)

Same. Deal breaking for me. Pretty hard to use without ci commands.

I can't help but notice how difficult it is (still) in both Visual Studio and Visual Studio code to add syntax highlighting/intellisense features for a new language, whereas Notepad++ can do it so easily by just adding a simple XML file of commands and their parameters. I tried writing an Extension in Visual Studio for the "Scheme Programming Language" and tried to understand all of their infrastructure for it, but the complexity involved just turned me off.

That's because Intellisense is not about regexp matching.

Consider how in Emacs there are usually simple packages for a language (say, ruby-mode), and complex ones for live-analysis (say, robe).

Yes, I would expect a similar 'limited support' by Visual Studio proper (may-be by simple regexp matching). I think Notepad++'s implementation is not very smart, but it does the basic job of syntax highlighting, function name auto-completion, arguments hinting etc. You should need to write a detailed extension using Visual Studio's Format Specifiers and Classifiers etc. only when you need a deeper integration IMO.

There are samples showing how to take a TextMate grammar and wrap it into a VSCode extension. TextMate's system is a bit more complex than Notepad++, but not by much. That will give you the basics at least. (Beyond that you'd need to write a "language service" which can be as easy or as hard as you want to dive into compiler trivia.)

I've heard that Visual Studio "15" Preview (not VS 2015, but the next version in development) already supports TextMate language grammars too, and that it is intended to make it easier to eventually share language services between VS Code and VS "Proper", but other than skimming BUILD Talks on the subject I don't know how far along those efforts are.

In terms of ease of extensibility, I haven't found anything better than Howl (http://howl.io).

Disclosure: I'm one of the contributors.

This needs much improvement also given the lack of backward compatibility in the styles' XML of the current VS 2015, essentially forcibly deprecating studiostyl.es...

Visual Studio and Visual Studio Code, despite their similar names, are two completely different editors. VS Code does not in any way make VS obsolete.

Doesn't the Clojure syntax higlighting work for you? I've been using it with a variety of LISPs for a while.

Huh. I didn't know much about Clojure so never thought of comparing. I see that there are many similarities! Will try to install it in Visual Studio (the IDE) to see if it helps!

Is the status bar themeable yet? It sticks out like sore thumb relative to beautiful themes available.

Visual Studio Code looks nice, the feature set is impressive and I can't figure out how to use it.

Honestly I find it to be way to confusing to setup. The whole configuration via json files is fine, except they don't seem to be well documented. If fact the whole thing is really substandard for a Microsoft developer tool, they are usually much better at documentation.

It might just be me, but I find there to be almost zero discoverability for... well anything.

The automatically inserted whitespace always bothered me in VS Code. When writing code without an auto-formatter I always end up noticing the extra whitespace in the diff before committing and end up hunting it down. Automatically trimming the automatically inserted whitespace sounds like a somewhat complicated solution. It makes me wonder how other editors handle this, because I never had this problem with other editors.

Could you expand on why you don't like to use an auto-formatter? I'm genuinely curious.

I'm pretty addicted to them; they add consistency without me having to think about it (killing off bike-shedding in the process), and in practice it works a bit like a visual semi-linter: if the auto-formatting doesn't produce the expected pattern (and your mind very quickly picks up the pattern subconsciously), it usually means there's a bug in the code somewhere around the area where it goes wrong.

I do like to use auto-formatters, but sometimes they are not available. For instance, until recently I didn't have anything for rust-lang. But rustfmt is pretty good now and VS code has good support for rust-lang through the RustyCode extension.

I use kate (KDE Advanced Text Editor) and there's a setting that removes trailing whitespace whenever you save a file. Works awesome.

You get auto-indent and at the same time don't have to worry about leftover whitespace everywhere when you 'git commit'. In fact, after accepting pull requests I'll often just open up the files in kate and doing a trivial edit + save to ensure there's no pointless whitespace.

The IntelliJ family of editors will automatically put the caret at the right indent level wherever you are in the file, but leave the line empty of whitespace unless you actually type something on that line. That makes a lot more sense to me.

F1 then type trim. The first option to pop up should be the trim whitespace command. Hit enter. Or there is an option to trim automatically on save.

They do have a setting to automatically remove whitespace "files.trimTrailingWhitespace": true

Or I don't understand what you are talking about ?

visual studio code has been amazing so far. Lightweight compared to the good old Visual Studio but still has the powerful feature of great debugging, already an awesome extensions marketplace and the best part: cross platform.

I have been using it for PHP development and loving it. The only nitpick if I may is that their Git integration is a bit plain. By this, I mean that I cannot see individual commits within the editor yet.

I really like VS Code, but I can't use it for my primary work, which is in Vue.js, right now. There's an extension for .vue files, but the author claims it is currently not possible to leverage VS Code's JS features like highlighting and intellisense from within <script> blocks inside these files, which I need before I can make the switch.

Somehow about a month ago r/powershell convinced me that I needed to give VS code a look. There aren't any free / cheap multi-purpose editors that handle Powershell IntelliSense worth a damn, so given all the effort Microsoft has been putting into the Poshtools extension for Visual Studio I figured maybe we'd see something good in VS Code.

I was horribly wrong. It is so comically bad at Powershell that I took screenshots. It has some coloring... and everything else it's doing is broken.


Makes me wonder why VS Code even exists. There is no shortage of first-class editors for every other language that VS Code supports. The one language with a genuine need for a great new editor, a language from Microsoft no less, is supported in a manner that doesn't even rise to the level of half-assed.


YES! finally they are starting to add tabs. I switched to vscode from sublime, really the only annoying thing is lack of tabs.

> it will take numerous iterations to get it right.

Still, this is awesome. Atom was pretty good, except it straight up crawls sometimes. Often, you have to disable syntax highlighting. I flagged an ussue a whike back where it took > 56 seconds to open a .json file.

Surprisingly, as a mac user, i really like vsc. it has drag drop sidebar, decent configurable settings, intellisense & syntax highlighting are pretty good, and some other pretty sane features. Top shelf tab support is the only major thing it really lacks.

I just noticed this in the blog / release notes:

    >Comparing files
    > We have added a new API command that allows you
    > to use the diff-editor on two arbitrary resources 
    > like so:
    > commands.executeCommand('vscode.diff', uri1, uri2)
does anyone know where I can enter commands so I can try that out?

Reading that, it seems like I can use VSCODE to diff two different web pages?

That'd be really cool if I could (for example):

      commands.executeCommand('vscode.diff', "http://www.google.com", "http://www.google.ca")

The F1 keys opens up the command palette [1], I'm assuming it's accessible through there.

[1]: https://code.visualstudio.com/Docs/editor/codebasics

Can anyone speak to the difficulty of creating a repl in VS Code?

I'm already using it for all my front-end work but if I could use an integrated Clojure repl the same way I use CIDER in Emacs it would be awesome.

There is an F# REPL for VS Code[1], so it's possible at least. Can't say how hard it is though.

[1] http://ionide.io/

A decent light-weight editor, with the newly added terminal (early-stage, for me UTF-8 is not shown correctly) it gets close to what geany provides.

I'm now switching between geany and vscode daily.

Is it me or VSCode is having a new release right after Atom? hehe

They usually release once a month. This is not the Microsoft of yesteryear with 1 monolithic release perfectly tested, and released once every other year.

They're making incremental progress, and releasing often. The software is noticeably better than it was even 2 months ago.

I write C#, JS, PHP, and Python... and I can do development for ALL of those languages in the same IDE. It's kind of great.

Indeed I prefer that kind of "rolling" development.

Maybe. VSCode's releases are monthly.

Can't wait until they port it to a native language and don't have to include chrome and node.js.

So, like never? Also, if it's fast at what it does, what is it to you if it uses v8 and node?

It's not fast as what it does though. Opening files takes ages.

You don't use it to open a single file for editing, though. Think of it as a lightweight IDE. Use it to open you folder project, which I do once every few days or even per weekly reboot. Once it's up and running - which takes about 5 seconds for my project folder to open on a MBAir - its plenty snappy for editing code.

For one-off file edits, like my .bash_profile, nginx conf etc., I still use a terminal-based editor, which is what I'd use on a remote machine anyway.

So I would have to use two different editors, customize both, get used to both? That doesn't make sense to me (to be fair, mostly because I rarely have the need for IDE). But if I had, why use a lightweight IDE instead of a "full" one (say Visual Studio, JetBrains *, ...)?

If you don’t need a ‘full’ IDE there’s a lot of mental complexity you can avoid by going à la carte (editor+plugins). It’s easier to add features you care about than learn about a bunch of stuff you’ll never use. That’s very subjective, of course.

No, I see what you mean and I guess I agree. But learning how to invoke a feature or installing it should be equal I think.

That hasn't been my experience. Programing files open instantaneously.

Are you opening 100MB JSON/XML/CSV files? If so, yeah, I guess it's not for that.

Or you mean opening some single file ALONG with the editor? That's not how you use such a tool. For casual editing you can always vi.

Yeah, the second case. The problem is that new instance has to start, making it slower to open files than say Visual Studio.

I guess that's what I have to take from it - it's a bad file editor and since I edit files I shouldn't use it :)

I'm sure if you wait long enough we will come full circle again.

How would that be an advantage over the current platform?

Why they don't implement file-icons, everyone is asking for it... https://marketplace.visualstudio.com/items?itemName=robertoh...

Actually, I've been using it since the beginning and have no interest on file icons - I like it just the way it is, without colored baubles festooning an otherwise monochrome and distraction-free file tree.

(I prefer reading the file extensions anyway, since they stick out on the right hand side)

1606 install of the plugin probably isn't everyone, but I suppose your pull request will be welcome :)

Will it someday merge or integrate with visual studio?

doubtful, seems to me that the whole point is to provide a light weight cross platform editor that supports asp.net core, typescript etc... in order to drive adoption of those technologies.

Merging it with VS would either require making VS cross platform (massive undertaking I would think) or a massive rewrite which would have dubious value to MS.


Better than sublime, not as good as pycharm. I find it good enough.

People need to stop comparing text editors (vim, emacs, Sublime Text, VSCode, Atom...) to full featured IDEs (Visual Studio, Intellij Idea/PyCharm/PHPStorm, Eclipse...). Of course, an IDE is going to have way more features for its language. For a text editor, VSCode has an excellent Python support.

There’s no clear line that separates an editor from an IDE. Editor + language plugin is basically = IDE.

There’s nothing magic about an IDE, it’s just a very, very, bloated editor.


If you look at notepad, emacs, atom, vscode, sublime, vs, webstorm and such, they're all somewhere distributed on a continuum between IDE and editor.

VSCode has a superb Git integration, but what has this to do with an editor?

Yes, that's true. But if you start with a clean slate - like with VSCode - there is less bloat.

There's nothing wrong with comparing two things that do the same thing.

It is like saying don't compare a car and a truck, they both take you from A to B, they both have different pros and cons, the comparison is apt, even with their dissimilarity.

Same thing here. It absolutely makes sense to compare a fully featured IDE and text editors. They offer the same core service, they just have different benefits and drawbacks.

There will be a lot of people who choose either PyCharm and Sublime/VSCode.

My work-flow involves containerized development environments that sit on a remote server. I spin up a new container for each project and login over SSH to work on the projects using tmux/vim.

With this setup I can work on all sorts of resource intensive projects on a lightweight laptop because everything is built and run remotely.

Now I could SSHFS every project and open it up with VS code, but unless I'm sending commands to the server some other way, it's going to be built locally, which is very inconvenient, especially when working with multiple projects.

If VScode can one day operate in a terminal over an SSH connection it might replace vim, but that's not going to happen.

Vim has a TUI, GUI, tabs, and is still much more responsive than VScode, even over an ssh connection.

Lastly, MS has been really bad for developers and end users. Their latest OS comes with spyware (telemetry) and adware (candycrush), so I tend to stay away from MS products in general because I don't think Microsoft has done anything to deserve my support.

I can see why VScode is preferred on Windows though, I've never seen a decent terminal emulator with good font rendering on Windows so vim must be a pain to look at.

It seems like I see you commenting on every single article posted about Microsoft here and you always seem to have something negative to say about Microsoft.

What's your point in commenting? Do you really think you're adding to the conversation and deserve upvotes or are you on a mission to let everybody here know that you hate Microsoft and that you don't think anybody should be doing anything with Microsoft?

Honestly - what do you expect to accomplish and what did Microsoft ever do to you?

Did Microsoft kill your pappy? - http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx

I actually really like VSCode. The only annoying thing is the need to manually put the telemetry flag to false after every update..

Microsoft is a branch of the NSA and makes an OS that comes with spyware (telemetry) and adware (candycrush).

No, I don't like Microsoft very much.


MS hates freedom. Should we forgive Bill Cosby too?

>What's your point in commenting?

Read the comment. VSCode doesn't have a TUI. I have a legitimate criticism. All my criticisms of VSCode and Windows are legitimate.

You've been breaking the HN guidelines by posting uncivil, unsubstantive comments. We ban accounts that do that, so please stop doing that. Instead, please (re)-read the following and post civilly and substantively, or not at all.



Microsoft has been doing really good concerning open source and developers recently. ASP.NET Core, .NET Core, VSCode, a free Visual Studio Community, etc. Note that I'm no MS fan, these are just facts. Also, the aim of VSCode is not to replace vim, obviously. How do you put a "web rendered" editor in a terminal anyway? Also, as a vim user, I can say that using vim in a GUI is fine nowadays, Gvim works really well on Windows fyi, has good font rendering, same on OS X (MacVim). Don't limit yourself to the terminal if you're in a GUI environment such as Windows...

I will disagree on font rendering. Windows does not have good font rendering on most hardware. I've only ever seen the fonts look good on MS hardware like the surface.

>Microsoft has been doing really good concerning open source and developers recently

Ehh... they've been doing better, but if Bill Cosby donates to womens shelters does it make up for what he did in the 90's? MS only embraces Linux/Unix because they know they're sucking away developers (just look a stackoverflow stats). Even MS has basically admitted that Windows sucks on it's own, which is why they've added a Linux ABI. Microsoft is only trying to win over developers to stay relevant to that market and increase profits.

They say "Microsoft Loves Linux" but it's an awful relationship. MS takes everything they can from OSS and gives the bare minimum back. If you love your brother would you let him live on the street? MS feeds the Linux bums grool while they sit atop a proprietary castle not letting anyone else in. "We love Linux, just look at him over there in the street groveling, lets throw some food (VSCode) at him! Now now, no Visual Studio or Office for you, I might lose money."

What kind of sick demented "love" is that?

MS doesn't love Linux, MS uses Linux and open source to attempt to increase long term profits. No where in the MS agenda do they prefer to see Linux as viable as Windows.

You have a very specialized and unique setup. Congratulations on finding something that works for you, but don't pretend that your use case is anywhere near the majority of people using this.

I also like that I can use tmux to create different workspaces for projects or use one workspace for the server side and one workspace for the clientside, etc. Does VSCode have a way to do this?

Electron overhead :(

It's not overhead, but a feature that allows for a great variety of plugins and cross-platform compatibility. If you can't see the advantage of that, I feel sorry for you.

It would be nice if the man childs who need to point out "electron bloat" in every thread could go back to arguing about vim vs emacs.

Let me preface the following by saying that a text editor is a use case where an Electron-based desktop app can make good sense.

I recently put some time into experimenting with Electron, writing a simple media gallery app for viewing all the images and videos in a directory (https://gitlab.com/steve-perkins/MediaGallery-electron).

Certain things were easy, due to the fact that it's largely a web app under the covers. Certain things were frustratingly impossible, such as detecting whether a video is supported without adding it to the DOM and attempting to render it. Other things fell somewhere in between. HTML/CSS/JavaScript is a secondary skillset for me, so it felt like I swimming upstream to make a web app format and behave like a desktop app.

My primary skillset is Java, and I haven't yet had a chance to tinker with JavaFX (i.e. Java's answer to Microsoft's WPF and XAML). So I decided to write a JavaFX version of the app for experience (https://gitlab.com/steve-perkins/MediaGallery-javafx).

It was still a pain in the ass to learn a completely new GUI framework. But it was a relief to work with layout managers that actual want to function in a desktop paradigm. It was also nice to have unfettered access to local API's beyond the web-server-focused ones available to Node.js, and to have cleaner integration with the main process and the renderer thread. Interestingly, Java supports far more media types than the Electron browser engine.

Here's the kicker. Not many people know about it, but modern JDK's ship with a "javapackager" tool that bundles up your app into a native executable with a stripped down embedded Java runtime (and even a platform-specific installer). Believe it or not, the standalone installer for my JavaFX-based app is about 25% SMALLER than the installer for my Electron-based version.

Now, I'm not necessarily saying that JavaFX is a panacea for cross-platform desktop development. There really IS no ideal solution for that space, because so few people still care about it these days. However, I will say that Electron seems to make sense only for distributing apps that are basically just web apps, or perhaps have very limited native interaction outside the DOM (i.e. loading and saving plain text files, or spawning external processes). If you need to write a cross-platform desktop app that really IS a desktop app... then I think you're stuck with a C++ framework like Qt or xwWidgets, or perhaps JavaFX.

Yeah, JavaFX is excellent. I wrote a cross-platform (win/mac/linux) app with it and it was a very straightforward and pleasant experience. The javapackager tool helped a lot. In Java 9 it is getting a lot of new abilities like being able to strip components (so then its size advantage over Electron will become even larger unless they duplicate the feature), do ahead of time optimisations and so on.

> There really IS no ideal solution for that space, because so few people still care about it these days.

I would say lots of USERS care about it. It's DEVELOPERS that have decided writing desktop apps is terminally uncool and give their users crappy web apps that have horrible UI latency, don't work offline, aren't accessible, don't integrate with the OS, etc.

Eventually developers will figure out that making a good desktop app can still make you good money (see: Minecraft) and I suspect there will be a bit of a renaissance, especially if someone puts together an easy to use modern update framework. I made one called UpdateFX but I don't maintain it anymore.

They do much better work with use of threads though, so it seems much faster than atom to me with no lockups.

How else would you port a typescript/javascript editor to the Desktop? They do state they are working on decoupling the core Monaco editor but where else would you host it to make it faster?

You wouldn't write it in Javascript to start with!

In the browser.

Not installing until I don't have to reload the entire app after adding or removing an extension. Not to mention the weird `lineHeight` setting.

How often do you install extensions? Seems like one of those bothersome things during setup, but I doubt it would be impactful once you have it the way you wish to have it.

Does it take you more than 5 seconds to reload the app though?

Every time I try VSCode I find that it's still missing text editing features that have been in Visual Studio 2015 since forever. Like bookmarks. How can you use an editor that doesn't have native bookmarking ability? It also didn't have code folding for the longest time. I think they got it now...

So, I don't know why anybody who is running Windows would choose VSCode. I get why people running OS X and Linux would choose VSCode (obviously they have no access to the full Visual Studio) but does anybody on Windows actually use this?

Search and Replace in multiple files. That's among the top 10 features that should've been available since release 0.0.1 in any code editor. They're at 1.2 now and still no cigar. Who's the project manager who keeps saying "nah, don't need it"?

Then again, it's a good litmus test. If you find yourself opening your old editor to do something so basic your new editor can't do: what the hell are you doing in your new editor?

Same for me. The lack of "search and replace in multiple files" is the main issue preventing me to switch (and maybe an offline spell checker). I hope they fix this soon!

I use it daily (running both Visual Studio 2015 and Visual Studio Code). For me, it's a Sublime Text killer.

We have some small node apps, endless python scripts and I routinely deal with configuration files, XML, JSON, even just machine-formatted flat files. It's very good at doing that when I need it to, and being a lightweight IDE when I drop into node or python. Anything that doesn't require me spinning up the full IDE but comes with good editing and search (what I was using Notepad++ and Sublime for in the past) is a win for me.

There are some really nice features in there too, the extension ecosystem is very active and it does what I need it to. Pleasure to use.

The community bookmarks extension launched back when extensions did. It's quite mature at this point and you should check it out if you rely on bookmarks. https://marketplace.visualstudio.com/items?itemName=alefragn...

It is a work in progress. Not perfect but does many things right. If you look through their backlog they seem to be adding features carefully based on user feedback and priority. But there is atleast one extension in the marketplace meanwhile.

It's more of an alternative for people use sublime text or atom, rather than an alternative to visual studio.

I never use bookmarks or code folding. Perhaps people like me are in the majority?

Let me guess... it still can't just automagically auto-complete, auto-param infos and jump-to-definitions, based on requires in nodejs projects (and, no, not for TS, for plain JS)?

Seems like a pretty low bar... but at 1.0 they were still not there, and Javascript is obviously one of the languages they focus on...

It does with a simple jsconfig.json file: https://code.visualstudio.com/Docs/languages/javascript

Has pretty decent autocomplete, param info, jumps to definitions and references.

Registration is open for Startup School 2019. Classes start July 22nd.

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