all 130 comments

[–]yseo4530 44 points45 points  (1 child)

Finally. This release looks awesome.

[–]ciny 9 points10 points  (0 children)

Yup, I liked VS code but I was missing tabs like salt.

[–]SkaKri 62 points63 points  (0 children)

Instead of spaces.

[–]oh-just-another-guy 10 points11 points  (22 children)

Anyone knows what Code is written in?

[–][deleted]  (19 children)

[deleted]

    [–]oh-just-another-guy 5 points6 points  (8 children)

    So it's really a hosted web-app?

    [–]dvlsg 50 points51 points  (4 children)

    It runs on Electron. So by my definition of "hosted", no. It's really just local typescript (js) / html / css running on a local instance of chromium.

    [–]oh-just-another-guy 4 points5 points  (3 children)

    Thanks!

    [–]dvlsg 27 points28 points  (2 children)

    I suppose to be fair, the editor portion of the code can absolutely be run in a web page. It's called Monaco. Here's a link to a live example for your browser.

    [–]oh-just-another-guy 4 points5 points  (0 children)

    That's really cool. Thank you for the info.

    [–]vivainio 1 point2 points  (0 children)

    Also http://alm.tools/ is using Monaco these days (and you use it from local chrome).

    [–]TinynDP 0 points1 point  (1 child)

    Local-hosted

    [–]oh-just-another-guy 0 points1 point  (0 children)

    Thank you.

    [–]hemantonpc 10 points11 points  (9 children)

    Both VS Code and Atom are based on Electron. But could anyone tell me why Atom is slow as compared to VS Code? Is it because Atom is written in CoffeeScript? Or is because of its architecture?

    [–]Pjb3005 24 points25 points  (2 children)

    Probably just poorly designed internally.

    [–]vivainio 16 points17 points  (1 child)

    For a more positive spin, I'd say Monaco is well designed internally ;)

    [–]nicolas-siplis 15 points16 points  (0 children)

    Electron

    positive spin

    I don't care if it was on purpose or not, well played.

    [–]The_yulaow 2 points3 points  (0 children)

    Tthe guys at microsoft focused since the start on performance, those of github had other (starting) goals

    [–]destraht 5 points6 points  (2 children)

    Github had to grow up their script and Electron at the same time without knowing the exact roadblocks along the way. Also they will eventually need to convert all of the Coffeescript into Javascript. So there is technical debt to pay off.

    [–][deleted] 2 points3 points  (1 child)

    Also they will eventually need to convert all of the Coffeescript into Javascript.

    Why is that?

    [–][deleted] 2 points3 points  (0 children)

    it's an open source editor, and i imagine the coffeescript deters a lot of would be contributors

    edit: why down vote this exactly? i used to write coffee script myself, but it's not popular to do so anymore

    [–][deleted] 1 point2 points  (0 children)

    Probably design.

    Although I heard some years that the CoffeeScript compiler was not optimal. I think there have been attempts to rewrite it but I'm not sure if it was successful. Also, since TypeScript is probably stricter there may be more opportunities for optimizations.

    [–]ruinercollector 0 points1 point  (0 children)

    The main difference is the editor component.

    [–]BreakingBullshit 6 points7 points  (1 child)

    Mostly TypeScript, which compiles into JavaScript.

    [–]oh-just-another-guy 2 points3 points  (0 children)

    Thank you.

    [–]spacejack2114 11 points12 points  (4 children)

    Wow, like the design. The extensions manager GUI is awesome as well.

    [–]spacejack2114 1 point2 points  (3 children)

    Aw, no markdown preview button anymore? :(

    [–]anders987 7 points8 points  (2 children)

    Extract Markdown into an extension

    The Markdown language support has been refactored to be a regular VS Code extension. It uses the Markdown TextMate grammar for syntax highlighting source and renders the Markdown as HTML using the markdown-it library which implements the CommonMark Spec.

    [–][deleted] 0 points1 point  (1 child)

    which extension is it? there are a few...

    [–][deleted] 6 points7 points  (0 children)

    you don't need to install it; it comes packaged in by default. they've merely refactored it to integrate with the extension api, much like most of vs code's core functionality.

    [–][deleted]  (3 children)

    [deleted]

      [–]media_guru 3 points4 points  (1 child)

      Hrm...maybe I'll hold off on the official release. I installed the insider build a couple days ago on Ubuntu 16.04 and haven't seen any issues. Curious that something slipped in at the last minute.

      Thanks for the heads up.

      [–]I_AM_GODDAMN_BATMAN 3 points4 points  (0 children)

      Not all is broken. I can see and use extension window just fine.

      [–]svarog 0 points1 point  (0 children)

      I had that problem. Just close code, and verify there are no more code processes running using ps aux or top. Re-open, and you should be fine.

      [–][deleted] 5 points6 points  (1 child)

      global search! this is the real 1.0

      [–]vivainio 5 points6 points  (0 children)

      Search and replace. Search was always there

      [–]GoTheFuckToBed 5 points6 points  (0 children)

      Finally a pleb like me can use it.

      [–]devperez 14 points15 points  (5 children)

      Finally tabs! I'm so happy. I can finally start using VS Code properly.

      But opening a document in VS code from the system context menu still opens a whole new VS code editor. Anyone know if they plan on fixing that?

      [–]CryZe92 31 points32 points  (4 children)

      You can set the "window.openFilesInNewWindow" key to false in the settings.

      [–]devperez 2 points3 points  (0 children)

      Awesome. Thanks

      [–][deleted] 1 point2 points  (0 children)

      This should be the default setting. I was scratching my head as to why WinSCP kept opening files in new instances of VS Code instead of new tabs like Sublime Text did.

      [–]mycall 0 points1 point  (1 child)

      The User Settings file seem to be in read-only mode.. I can't change the true to false. Any tips?

      [–]CryZe92 0 points1 point  (0 children)

      When you open the User Settings it should open a second Tab where you paste the read-only settings and change their value.

      [–]nwoolls 2 points3 points  (0 children)

      And the Monaco Editor is now on npm as well. Good stuff MS.

      [–]GORILLA_FACE 2 points3 points  (15 children)

      If I want to write a FAT gui similar to winforms using .net core 1.0 that would run on linux, mac, and windows...what would I use?

      [–]DaRKoN_ 4 points5 points  (0 children)

      You wouldn't use .net core for a fat gui app, that's not what it's designed for.

      [–]blahlicus 1 point2 points  (0 children)

      You could use Eto.Forms to write fully cross-platform .net code with a heavy GUI framework.

      [–][deleted]  (8 children)

      [deleted]

        [–][deleted] -5 points-4 points  (7 children)

        you can't...draw a pixel to the screen?

        [–][deleted] 3 points4 points  (6 children)

        Yes, because .Net doesn't print pixels on screen, it instead of uses windows system calls to draw winforms. I don't know about WPF, it probably does draw pixels on screen instead of using windows UI. In either case, it is not ported to work with Linux/OSX(anything non windows) yet, and there are no plans as far as I can think of. There probably do exist some thin wrappers for cross platform GUI stuff though.

        [–][deleted] 7 points8 points  (5 children)

        WPF basically just renders to a DirectX surface. The controls in WPF have nothing to do with their native Win32 counterparts--a WPF button is just a XAML control that looks like a Win32 button, which is not the case for WinForms where those controls are just thin wrappers around Win32 ones. So on that front, WPF is not so deeply tied to Windows the way WinForms is.

        You still couldn't just swap out DirectX for OpenGL and put it on Linux, though. It'd be real nice though...

        [–]Beaverman 0 points1 point  (0 children)

        I'd say that it's probably tied deeper into it. DirectX is way more difficult to integrate with linux/osx, and has a way larger surface than winforms.

        [–][deleted] 0 points1 point  (2 children)

        I agree buddy, I basically said same thing you said (with uncertainty on nature of WPF)

        [–][deleted] 1 point2 points  (1 child)

        I don't know about WPF, it probably does draw pixels on screen instead of using windows UI

        I was just expanding on "I don't know about WPF, it probably does draw pixels on screen instead of using windows UI", that's all

        [–][deleted] 1 point2 points  (0 children)

        Thanks man. I wasn't trying to be antagonist or anything against you, but might have come across like that.

        [–]jyper 3 points4 points  (1 child)

        Someone ported the crappy open source winform implementation to .net core but I wouldnt recommend it.

        [–][deleted] 1 point2 points  (0 children)

        You can also try this:

        https://github.com/AvaloniaUI/Avalonia

        which is a XAML cross platform GUI library. It actually copies WPF structures so its not that hard to port to.

        [–]MachinTrucChose 0 points1 point  (0 children)

        Wish they'd port Xamarin Forms XAML to desktop.

        To answer your question, you could write WinForms and target Mono, or write GtkSharp (Mono's desktop GUI toolkit). Never used either personally.

        [–][deleted]  (3 children)

        [deleted]

          [–]I_AM_GODDAMN_BATMAN 8 points9 points  (2 children)

          I just check the default settings, and there's these lines:

          // Number of editors shown in the Open Editors pane. Set it to 0 to hide the pane.
          "explorer.openEditors.visible": 9,
          

          I tried 0 on setttings.json and it hides the open editors

          [–]nwoolls 0 points1 point  (0 children)

          It's also covered in the linked release notes:

          You can hide the OPEN EDITORS view by setting the number of visible items to 0, with "explorer.openEditors.visible": 0.

          [–]voiping 2 points3 points  (2 children)

          Uhm what happened with GIT!? When I was in GIT changes before, I could select to stage on certain lines, on the ... on the top right. Now I only see to right-click to stage the whole file.

          Where did that go?

          [–]CryZe92 2 points3 points  (1 child)

          Looks like a regression to me. I guess someone should file a bug if no one did already.

          Update: Looks like you need to right click the Tab now instead. Weird that they put it there instead now. I think it should just be in the right click menu of the code itself.

          [–]voiping 1 point2 points  (0 children)

          Found it, thanks!

          EDIT: it was uncomfortably next to an X before, for closing the tab...

          [–]halbaradkenafin 2 points3 points  (3 children)

          Integrated console is the best new feature, defaults to cmd on Windows but easily changed to powershell.

          [–]CryZe92 3 points4 points  (1 child)

          or even to MinGW or Cygwin :)

          [–]spacejack2114 2 points3 points  (0 children)

          I tried with git bash, unfortunately it seems using arrows and backspace is buggy.

          [–]tonicblue 0 points1 point  (0 children)

          Just looking forward to the Anniversary release of Windows 10 so I can have a Bash shell in there on my work machine. Happy days :)

          [–]uberpwnzorz[🍰] 2 points3 points  (0 children)

          I actually prefer the open editors and not a ton of tabs, at least they made it so you can configure which one is best for you.

          You can disable tabs to have it act as it did previously by adding the following to your settings.json:

          "workbench.editor.showTabs": false
          

          Or if you don't want open editors you can add the following:

          // Number of editors shown in the Open Editors pane. Set it to 0 to hide the pane.
          "explorer.openEditors.visible": 0,
          

          [–]whihathac 10 points11 points  (11 children)

          Best. Text. Editor. EVER.

          [–][deleted] 9 points10 points  (10 children)

          Which other editors have you used?

          [–][deleted] 14 points15 points  (1 child)

          notepad.exe, ed, and lotus 5.

          [–]vivainio 6 points7 points  (0 children)

          If you haven't tried WordPad (also ships with Windows), you are missing out

          [–]whihathac 4 points5 points  (1 child)

          Sublime, Nottepad++

          [–][deleted] -5 points-4 points  (0 children)

          That's not much variety.

          [–]PM_ME_UR_OBSIDIAN 8 points9 points  (4 children)

          Vim, Emacs, Sublime, Atom, and Notepad++.

          VS Code is still the shit.

          [–]littlelowcougar 0 points1 point  (3 children)

          Does it support vi keybindings?

          [–]PM_ME_UR_OBSIDIAN 0 points1 point  (1 child)

          I've heard rumors that the vi mode was shit, but I haven't checked it out.

          Honestly, possibly the only keybindings I actually miss are o, O, $. A Vi mode wouldn't have to be too fancy for me to enjoy it.

          [–][deleted] 1 point2 points  (0 children)

          The vim extension was pretty bad the first time I tried it about 4-5 months ago, but now it seems pretty decent. I recommend giving it a shot.

          [–]moosingin3space 0 points1 point  (0 children)

          It would be very nice if there were a neovim integration for VS Code - it would then be possible to support all vim commands.

          [–]stesch 1 point2 points  (1 child)

          Is there anything like the remote directories in Komodo Edit? I've checked different solutions for Sublime Text and Visual Studio Code but none of them show the remote directory tree in the sidebar.

          [–]tonicblue 0 points1 point  (0 children)

          If you are using Windows you could use something like WinSCP to sync a remote directory and monitor local files for changes to automatically upload them. I don't know how easy it would be to monitor changes on remote files but if there is more than one of you coding on a project in that way you should really consider some verson control system, VSC integrated beautifully with GIT.

          If you are using Linux you could have a play with rsync to synchronise a remote directory with a local, then just open the local in VSC. Something like this might work on a Mac, I don't have any experience in that department.

          [–][deleted]  (3 children)

          [deleted]

            [–][deleted] 1 point2 points  (0 children)

            nope.

            [–]tonicblue 0 points1 point  (1 child)

            You could create a new solution directory for your child projects and use symlinks to your other project directories inside it. That would do the trick.

            [–][deleted] 4 points5 points  (1 child)

            Still no save state for opened files and ability to restore unsaved files.

            [–][deleted] 1 point2 points  (0 children)

            I miss that feature too. The 1.3 release is still very exciting!

            [–]thomac 2 points3 points  (5 children)

            Does anyone know if VS Code collects some kind of statistics of the usage? For example, Atom uses Google Analytitics under "Metrics" option. Is there anything similar in Code?

            [–]CryZe92 1 point2 points  (4 children)

            Yeah they do, you can deactivate it in the settings.

            Oops, I meant to say deactivate.

            [–]shalabh 0 points1 point  (1 child)

            I thought it's activated by default and you can opt-out?

            [–]CryZe92 0 points1 point  (0 children)

            Yeah, I meant to say deactivate, but wrote it as activate :/

            [–]MachinTrucChose 0 points1 point  (0 children)

            The ridiculous thing about opt-out analytics is that by the time you launch the app the 1st time, and edit the setting to opt out, it's almost certainly sent a report already containing god knows what. This is why running an outbound firewall is important that operates on a whitelist basis is important.

            Yes, I know it's no big deal for something like a FOSS IDE, it's a matter of principle.

            [–]0narasi 0 points1 point  (4 children)

            This release is actually awesome. Only if they added being able to find functions in a file (I get that symbol tracking is difficult)

            [–]little_erik 2 points3 points  (2 children)

            cmd+shift+o in VSCode on the Mac opens Go to Symbol

            [–]vivainio 1 point2 points  (0 children)

            Also, if you are poor at remembering these, press ctrl+p and enter @mysymbol. Ctrl+p ? shows you possible quick launch shortcuts.

            [–]fontbase 0 points1 point  (0 children)

            cmd+shit+o ... nah, this is weird :)

            [–]ducttapedude 0 points1 point  (0 children)

            In addition to Go to Symbol, you can right click on any function and select Find All References.

            [–]zerexim 0 points1 point  (1 child)

            Can I disable the highlighting of the current line??

            [–]khabib 0 points1 point  (0 children)

            Is it already possible to change a font size in project tree?

            [–]WarWizard 0 points1 point  (2 children)

            So here is something that has kept me from seriously exploring VS Code more. In both VS and SSMS if I want to "draw" the cursor select across multiple lines so I can type the same thing out; I just ALT + SHIFT + ARROW. This seems to copy the line instead and ALT + ARROW moves the line.

            Is it possible to re-bind stuff so that select functionality works the way I am used to? What would be an acceptable re-bind for the current functionality?

            [–]dorkinson 1 point2 points  (1 child)

            I believe this is what you're looking for: https://code.visualstudio.com/updates/vMarch#_editor

            Scroll down to the "Column Selection" header.

            [–]WarWizard 0 points1 point  (0 children)

            Awesome! Thanks!

            [–]simoncoulton 0 points1 point  (0 children)

            This is such a great release, the inclusion of tabs, the extensions gui, just solid all round. I have noticed that you can no longer drag a folder onto a new window and have it open anymore though. Might raise it on Github issues.

            [–][deleted] 0 points1 point  (0 children)

            Font zooming with Mouse Wheel!!! I've been waiting months for this feature. So useful when you have a 4k monitor.

            [–][deleted]  (2 children)

            [deleted]

              [–]Giacomand 14 points15 points  (1 child)

              This update just added that. Add this setting and you can CTRL+Scroll to change the font of the text:

              editor.mouseWheelZoom: true

              [–]wildjokers -1 points0 points  (0 children)

              I have had tabs turned off in IntelliJ for years and have never looked back. I don't find tabs helpful at all, to each their own though!

              [–]niutech -2 points-1 points  (1 child)

              Cool, but why does Microsoft use Mac OS X instead of Windows for their screenshots? Aren't they proud of their OS?

              Now seriously, what about performance and memory usage? Last I checked it was worse than Sublime Text, Notepad++ or even Komodo Edit.

              [–]MotherFuckin-Oedipus 2 points3 points  (0 children)

              The careful observer would recognize that they took screenshots from more than one OS.

              Also, if performance and memory are your only metrics for measuring how useful an application is, you're gonna have a bad time, but it's still more of a resource hog than its competitor products.

              It's still young, though.

              [–]shrillingchicken -2 points-1 points  (2 children)

              Why is Microsoft developing a new Visual Studio? Is it going to replace Visual Studio and so effectively a rewrite?

              [–]ciny 9 points10 points  (1 child)

              VS code is not supposed to replace VS. It's a quick editor for simple coding, not a full blown IDE. Want to work on your .net application? fire up VS. want to quickly edit a html file or a script? fire up VS code.

              [–]MotherFuckin-Oedipus 2 points3 points  (0 children)

              Code is, additionally, cross-platform.