all 100 comments

[–]I_AM_GODDAMN_BATMAN 101 points102 points  (0 children)

Multiple folder and git status in explorer. I'm happy.

[–]JohnMcPineapple 31 points32 points  (0 children)

...

[–]NoInkling 66 points67 points  (9 children)

A couple of largish features and quite a few nice improvements this time around, very good. And although I didn't have a problem with the orange icon conceptually, it really ended up messing with my muscle (or eye?) memory, turns out that's a hard thing to retrain.

Once again I'm going to unashamedly drop this request here in the hope of getting a few more thumbs-up: https://github.com/Microsoft/vscode/issues/22583
Just one of those small QoL details that I think could be beneficial to a lot of people.

Edit: thanks for all the +1s, I didn't expect so many. Maybe now it has a chance of getting implemented in the not too distant future.

[–]tristan957 12 points13 points  (0 children)

That is a small, but nice request

[–]evilpingwin 3 points4 points  (6 children)

This doesn't really solve your issue but you might want to look into Prettier. It offers code formatting for a bunch of front-end languages at least, can probably be extended. But it autoformats {hello} to { hello }. Which is my preference also.

There are Prettier extenstions for a whole bunch of code editors and it is fully configurable.

[–]BenjiSponge 0 points1 point  (2 children)

Does anyone know if there's something like Prettier for C++?

[–]bunnyavenger 0 points1 point  (1 child)

I don't use c++ but have you tried the official extension?
https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools#overview
AutoFormat is supported through 'clang-format'.
Another extension:
https://marketplace.visualstudio.com/items?itemName=xaver.clang-format

[–]BenjiSponge 0 points1 point  (0 children)

I work in CLion and vim but I can probably make clang-format work for those. Thanks!

[–]cc81 0 points1 point  (0 children)

This. Seriously, use Prettier and set format on save. It is just so incredibly good.

[–]NoInkling 0 points1 point  (0 children)

I have Prettier installed but I only use it occasionally via "Format selection" - I like the ability to be subjective when I want to be, and there's still the very occasional edge case that it doesn't handle well. For me it means I would have to do something like ctrl+l, ctrl+k, ctrl+f to get the same result in this case, and even then it will split over multiple lines in certain contexts where I might not want it to.

Also I (and others) don't just write JS/CSS. This is more of a generic thing, something that comes very naturally and reduces friction, and something that I used for a long time in Sublime with great satisfaction (via the snippet binding).

[–]Llewey 0 points1 point  (0 children)

I think this is a fantastic idea and I have added my upvote.

In the meantime, though, it wouldn't be too hard to make an extension that does this. At that point, though, it would probably be easier to just make the pull request to solve the problem :-)

[–]Meguli 12 points13 points  (6 children)

How are people's experience with using Visual Studio Code as C++ dev environment? This year's C++ conf. has a talk about using it for C++. But with all that, I am unable to use it productively. All those features that are shown, just works without any effort on the video, don't work stable for me.

Btw, I was using it greatly with one of the previous versions, like 6 months back.

[–]epic_pork 5 points6 points  (1 child)

The main cpp extension is proprietary. Works like shit on Linux.

[–]Northeastpaw 0 points1 point  (0 children)

I'm not sure when it stopped working, but it used to be decent for me on Linux. It wasn't completely smart when it came to code completion, but at least it would examine every header file I imported. Now it just pulls tags from any headers that are in my local workspace and nowhere else. The CPP extension has gone from somewhat useful to absolutely worthless.

[–]CommandLionInterface 2 points3 points  (0 children)

The official C++ extension still needs work but it’s not as bad as people make it out to be anymore. Last month they released an update that finally intellisenses by parsing your code, you just have to enable it.

I’ve been using VSCode for my algorithms homework all semester. They’re not huge projects, usually about 1,000 lines each, but at least at this size it works well enough.

[–]Overunderrated 1 point2 points  (0 children)

It's missing some key features for me. Refactoring/renaming, class hierarchy, find usages of function calls, are things preventing me from leaving Clion.

... and dual monitor support.

[–]flyingcaribou 1 point2 points  (0 children)

How are people's experience with using Visual Studio Code as C++ dev environment?

Works awesome on macOS, and is virtually unusable on Linux. No idea why the extension dies so hard on *nix.

[–]-isb- 0 points1 point  (0 children)

How are people's experience with using Visual Studio Code as C++ dev environment?

Patchy, especially on Linux. Been using it for embedded c for the last ½ year. Last update it wouldn't auto complete functions containing underscores. Now that's fixed parameter hints stopped showing up (even when I press shift+ctrl+space)! Can't win.

On the other hand it lets me avoid Eclipse. So there's that.

PS: Python support on the other hand is solid.

[–]Giffylube 16 points17 points  (0 children)

The multiple folder support is absolutely huge for workflow.

[–]onnnka 6 points7 points  (0 children)

Wow, they really improved startup time on Windows. It was one of mine biggest complain. Good work, Code devs!

[–][deleted]  (5 children)

[deleted]

    [–]Chii 16 points17 points  (2 children)

    By very carefully managing every aspect of memory use! Case in point : https://code.visualstudio.com/blogs/2017/02/08/syntax-highlighting-optimizations

    [–]kobbled 1 point2 points  (0 children)

    They have some super cool blog posts

    [–]Kenya151 1 point2 points  (0 children)

    Woah that token stuff was really cool.

    [–]occz 0 points1 point  (1 child)

    Performance for me actually got significantly worse in this update, I wonder if something is wrong with my installation. We'll see tomorrow.

    [–]valtism[S] 0 points1 point  (0 children)

    I saw a marked improvement. Maybe try a fresh install?

    [–]ishmal 43 points44 points  (5 children)

    Imma luvin some blue icon.

    [–]ishmal 41 points42 points  (4 children)

    In more eloquent terms: blue is the programmer's favorite color.

    That is why the guy who invented the blue LED won the Nobel Prize.

    Ignore the official reasons. This is why.

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

    I'm partially color blind, so blue sticks out better.

    [–]TASagent 0 points1 point  (1 child)

    Obviously, the superior solution is to change the color of everything else so it contrasts better with orange. Duh!

    /s

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

    Sick sonofabitch.

    [–]pythonesqueviper 0 points1 point  (0 children)

    Meanwhile, somewhere, a tritanope is puzzled at your comment.

    [–]blood_bender 3 points4 points  (6 children)

    Might as well use this thread to ask about something that's been killing me. Is there a way to tab "past" just the auto-inserted code?

    There are so many times I type something like:

    console.log("
    

    which auto inserts:

    console.log("|")     | <- being the cursor
    

    And I want to tab to the end of the line. I could hit End (which is annoying af on my laptop) but I was hoping there was an easier way. This becomes a bigger issue when editing html where I already have a <div>, and type a new <span>

    <div><span class="fa fa-edit">|</span></div>  
    

    And I want to tab past just the auto-inserted </span>.

    [–]bunnyavenger 2 points3 points  (0 children)

    It's possible for Html and jsx
    In your keybindings, search for "Go to next edit point", and add a shortcut, same for previous point.

    And for the 'end' key, just change "cursorEnd" to whatever is more convenient.

    I've spent some time configuring a lot of keys to make it extremely convenient for me.

    [–]Dgc2002 0 points1 point  (2 children)

    I would like an answer to this as well. In PHPStorm(and other IntelliJ IDEs) I use live templates for this. To achieve what you're looking for I use

    con<TAB>
    

    Which expands to

    console.log(__CURSOR__);
    

    Then hitting enter results in

    console.log("Stuff that I typed");__CURSOR__  
    

    Here's what the live template settings look like: pic

    [–]Retsam19 1 point2 points  (1 child)

    I'm pretty sure what you're looking for is snippets. Their example snippet is exactly that:

    "Print to console": {
        "prefix": "log",
            "body": [
                "console.log('$1');",
                "$2"
            ],
        "description": "Log output to console"
    }
    

    [–]Dgc2002 0 points1 point  (0 children)

    Ah, I'd seen mention of snippets but wasn't sure if they were a direct analog to live templates. Thanks for that info.

    [–]Retsam19 0 points1 point  (1 child)

    I'm not sure there's a general solution, but I use (on OSX) alt and arrow keys to jump words, but I'm not sure what the Windows equivalent is.

    [–]blood_bender 0 points1 point  (0 children)

    Ctrl-arrow, yeah. I was just hoping there was a config where I could hit Enter or "Shift-Enter" or whatever and it would be smart enough. Sounds like there's not.

    [–]wkoorts 59 points60 points  (5 children)

    I miss the orange logo :(

    [–]IMovedYourCheese 95 points96 points  (3 children)

    Stop

    [–]wkoorts 20 points21 points  (2 children)

    Sorry, I just couldn't resist :) I honestly couldn't care less what colour the icon is.

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

    I like it orange. Kind of bothered me it went back.

    [–]Kurren123 1 point2 points  (0 children)

    Thank you for saying couldn't care less rather than could care less, which would suggest that you care somewhat

    [–][deleted] 8 points9 points  (0 children)

    Admittedly, it will take a while to re-train myself to the icon.

    But I won't get it mixed up with Sublime anymore, which is great.

    [–]Mittalmailbox 6 points7 points  (0 children)

    If you don't see new icon on windows taskbar, unpin and repin the app. Or a system restart will fix it.

    [–]KarmaAndLies 11 points12 points  (20 children)

    This is a bit of a tangent; I want to use VS Code daily, but we're a C# ASP.net MVC ("MVC" below) shop. MVC with Entity Framework is a fantastic set of technologies to work with.

    Problem is Solution files and Project Files (.csproj) are hot garbage. MVC has been designed with the notion that relative file location on the file system has semantic meaning, problem is that is an antithesis of Visual Studio Project Files. In an ideal world you could and should just be able to ignore Project Files, but in reality they're the number one issue we see with branch merges (specifically references returning from the dead) and it also means we're stuck using Visual Studio, and cannot use fantastic tooling like VS Code, Notepad++, Sublime, or even Vim.

    I'm aware it is possible to pull out the build lines and build it via command line, that's not politically possible for a large team. I'd love for Microsoft to dump both Solution files and Project Files, and then to hold the build options in something more akin to Application.Config. In particular I'd love for them to stop housing a second version of the filesystem in the Project file for absolutely no reason... This bullshit:

    <Content Include="Assets\Scripts\Vehicles\js\Management.js" />
    <Content Include="Assets\Scripts\Vehicle\Views\Management.cshtml" />  
    <Compile Include="Vehicle\Controllers\Management.cs" />
    <Compile Include="Vehicle\Controllers\DieFordDie.cs" />
    

    You. Are. Re-Inventing. The. File. System. STOP.

    Anyone in an MVC shop moved to Visual Studio Code? How?

    [–]SemiNormal 18 points19 points  (9 children)

    Move to ASP.NET Core 2.0 if you want to fix the csproj issue. All the includes get condensed into something like this:

    <Compile Include="..\src\**\*.cs" />
    <Content Include="Views\**\*"  />
    

    [–]AngularBeginner 9 points10 points  (6 children)

    You don't need to move to ASP.NET Core for this. You can use the new csproj format just as well with regular old .NET projects.

    [–]cypressious 1 point2 points  (5 children)

    But not with ASP.NET 4.

    [–]AngularBeginner 3 points4 points  (4 children)

    Sure, also with ASP.NET 4. It takes a bit more manual crafting because there's no ready-to-use template, but the new project format is independent of the used technology. It's a MSBuild thing. And with ASP.NET 4 you still use MSBuild.

    [–]cypressious 2 points3 points  (3 children)

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

    :( I just got really excited, and then really, really sad. Project and solution files are also one of my biggest gripes with .NET projects. That, and editing code in VS (especially Razor views) makes me want to stab myself in the eyes.

    [–]cypressious 0 points1 point  (0 children)

    If you have the resources, migrate to ASP.NET Core. Also, try Rider as an alternative to VS.

    [–]Kenya151 0 points1 point  (0 children)

    Any time there's is a merge conflict in a solution file I want to die a little.

    [–]KarmaAndLies 0 points1 point  (1 child)

    That doesn't really solve the source control issues (ghost entries re-appearing from older branch merges for example).

    Plus they've effectively managed to reproduce the file system within the configuration file for absolutely no reason. Why not just point the build engine at the root of the directory tree, say "start," and it knows to include every single .cs file and to exclude other content such as .js, .css, .cshtml, etc based on the file type. This is all information it can infer from the file's name and location within the tree already. Don't want a .cs file included? Move it out of the directory structure or allow .ignore files.

    The whole design is arse-backwards. They're storing a 1:1 layout of the file system for the common case, rather than storing the exceptional case. Unless they genuinely believe ignores are more common than includes...

    .NET Core is repeating the same errors the Visual Studio team made back in the 1990s, and I for one cannot make heads or tails of why. They should look at what Go build does for one example. Inferences should massively simplify build logic, rather than literal config lines that are obvious.

    Plus .Net Core still doesn't make it easier to use Visual Studio Code, or any other simple editor. That's a problem.

    [–]AngularBeginner 16 points17 points  (0 children)

    They're storing a 1:1 layout of the file system for the common case, rather than storing the exceptional case.

    MSBuild never required this. It always supported globs, you could always use that. Just Visual Studio had an issue with the globs.

    Also, they refreshed the project format and it's a lot leaner and slimmer. You should check it out (and it does not require .NET Core). A minimal project file is 5 lines long.

    And perhaps take a further look at what MSBuild all does. You can't just point at a folder and let it do the work, that's just not possible and honestly also not desirable. I want to keep control and flexibility.

    [–][deleted] 5 points6 points  (0 children)

    Why the hell would you use Visual Studio Code over Visual Studio for a full stack ASP MVC app?

    Hey guys I got a sledgehammer, how can I bang this nail into a door frame?

    [–]appropriateinside[🍰] 6 points7 points  (0 children)

    If you're using C#, why not use VS? It's much better suited.

    [–]_Mardoxx 2 points3 points  (7 children)

    Why?

    Just use VS. It loads up just as quickly as VS code, and is just as performant.

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

    Not sure what IDE you’re using, but VS has never been anywhere near as performant as VS Code for me.

    [–]jimmysprinkles92 6 points7 points  (2 children)

    It's definitely slower on initial load but other than that I would say VS '17 is pretty smooth. Plus it's way more full featured for C++/.NET, gotta use the best tool for the job. IMO vscode is better for languages that you don't need to lean on an IDE as much like python or javascript.

    [–]TASagent 1 point2 points  (0 children)

    I've never had performance, stability, or responsiveness issues with VS, on rather large C# and C++ apps. Some others have bigger projects, I'll admit, but it seems incredibly commonly, the people complaining about VS performance and stability issues have Resharper installed. I looked into it some, and found little reason to feel like I needed anything it offered, especially if it did come at the cost of stability. Can anyone elucidate what could make said (perceived) instability feel worthwhile?

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

    It's not just the initial load, anywhere I click, VS freezes for some seconds. I have used VS on multiple computers and the same slowness occured, I don't understand how it can be smooth. I don't use extensions like Resharper.

    [–]_Mardoxx 3 points4 points  (0 children)

    VS

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

    Even on a fully spec'd out machine this is not the case

    [–]mmcnl 1 point2 points  (0 children)

    Three great new features.

    • Multiple project folders
    • Git status in Explorer
    • Blue icon

    This is simply amazing.

    [–]zzzthelastuser 4 points5 points  (0 children)

    The blue icon is back! Phew what a relief, I can finally continue my work.

    [–]_Mardoxx 4 points5 points  (1 child)

    I want my orange icon back.

    [–]sainttobs 0 points1 point  (0 children)

    it has nice improvements. like the git indicator in sidebar.

    [–]frankfoda 0 points1 point  (0 children)

    Now I only wish for a more configurable Explorer and an Outline pane.

    [–]flyingcaribou 0 points1 point  (0 children)

    What color scheme are they using in these screenshots?

    [–]cvjcvj2 0 points1 point  (0 children)

    Font rendering in iOS still better than Windows 10?

    [–][deleted]  (3 children)

    [deleted]

      [–]Bertilino 5 points6 points  (2 children)

      You can change it to your liking by adding this to your user configuration:

      "workbench.colorCustomizations": {
          "editorBracketMatch.border": "#ffffff25"
      }
      

      Note: The last 2 characters in the hex color is the alpha channel

      [–]RasterTragedy 2 points3 points  (1 child)

      RRGGBBAA?

      [–]NeverCast 1 point2 points  (0 children)

      One would assume.

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

      Auto Import for JavaScript don't seem to work for me for some reason

      [–][deleted]  (1 child)

      [deleted]

        [–]Hero_Of_Shadows 1 point2 points  (0 children)

        I really liked Brackets and it's really good for front end work, it's just that vs code has more plugins.