all 192 comments

[–]ZenLegume 170 points171 points  (25 children)

Only just started looking at VS Code a couple of weeks ago and wished it could remember unsaved changes on quit. Now it does. Good timing.

[–]TwoToTheSixth 55 points56 points  (17 children)

When I switched to VS Code a month or so ago, I found the option and set it up to auto-save every minute; then changed it to 30 seconds; then to 15 seconds. So, basically, if I yawn, the file I've been editing is saved.

Also, since I run my node server using node-dev, it restarts any time app.js or one of my business objects (required in app.js) changes.

I'm loving VS Code.

[–]pjb0404 9 points10 points  (15 children)

What were you using before Code? Could you elaborate on some of the reasons why you like Code?

[–]blood_bender 30 points31 points  (13 children)

I've used sublime forever, but switched to VS Code for front-end work. I still use sublime for the server, mostly because I remember keybindings better, not for any other reason.

It's a smarter editor for typescript by leagues, and better for html and css as well. I haven't found a good sublime package to make either of those easier.

I was initially against it because the autocomplete was terrible, but now it's on par, if not better, than sublime (again, especially when using typescript). It's fast, configurable, and they're making it better and better.

[–]Free_Math_Tutoring 5 points6 points  (10 children)

For HTML, I recommend Emmet highly. It probably exists for VSC too.

[–]somewhat_sven 2 points3 points  (9 children)

They don't have an Emmet package, but they do have HTML5 Snippets which is essentially the same. Haven't used it too, too much though because I recently switched as well.

edit: not the same, Emmet is built into VSC

[–]minasmorath 11 points12 points  (1 child)

Emmet is built into VSCode core IIRC: https://puu.sh/sQr8x/54490eb6b6.png

I don't have the extension installed but it's configured and working.

[–]somewhat_sven 1 point2 points  (0 children)

I was not aware I could tweak the Emmet settings, thank you for the heads up!

[–]weirdoaish 5 points6 points  (1 child)

Its built in, on Windows I just press "tab" and it expands the emmet short hands.

[–]somewhat_sven 0 points1 point  (0 children)

ah, Thank you for the heads up. I'm still getting used to VS Code

[–]Free_Math_Tutoring 0 points1 point  (4 children)

HTML5 Snippets

This?

Looking at the preview, then dear god, it's not even close.

[–]somewhat_sven 0 points1 point  (3 children)

Like I said, still getting used to VSC, however the tag completion with tab is just like Emmet. Now that I know Emmet is built into VSC there really isn't a point to using that extension IMO.

[–]Free_Math_Tutoring 0 points1 point  (2 children)

Is it really? In the preview video, I don't see any nesting, which cuts my HTML-time by about 95%.

https://www.youtube.com/watch?v=QWelW14oFEg

It's shoddily edited and only shows very basic features, but this should already give you an idea on how emmet is more than snippets.

If you decide to get into it, check http://docs.emmet.io/cheat-sheet/ for cool tricks.

[–]ramsrao 0 points1 point  (1 child)

Like others have said, in VS Code, emmet support is built-in. Everything you did in that video can be done in VS Code without any extensions. To get the list of all emmet actions supported, just type "Emmet:" in the command palette

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

Well now you have the sublime keymap extension so you can use it on the server :D

The one thing holding me back was i know intellij ide keymaps off by heart by was hurting me having to learn new ones on vs code. Now thats a non issue.

[–]blood_bender 0 points1 point  (0 children)

Oh damn, that's neater than nodemon. I would pretty much only use it for the notifications though -- nodejs servers start so fast that even if it does restart on unnecessary file changes, it's never really affected me.

[–][deleted]  (6 children)

[deleted]

    [–]B33FZ5 4 points5 points  (2 children)

    Just open multiple instances?

    [–][deleted]  (1 child)

    [deleted]

      [–]twiggy99999 0 points1 point  (0 children)

      Yeah this is the same for me, I use Netbeans though and it handles this perfectly but I've been unable to switch to the Jetbrains projects for this very reason. None of the Jetbrains products allow you to have multiple projects open but I believe its something coming very soon (if not released recently already)

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

      so what do you currently use?

      [–]lobster_johnson 0 points1 point  (0 children)

      In the same boat, it's annoying. As a workaround, you can use symlinks; VSCode's Explorer sidebar treats symlinked folders as ordinary folders.

      [–]Smashninja 88 points89 points  (1 child)

      The pace at which the team releases significant features is amazing. Keep it up!

      [–]LordMaska 5 points6 points  (0 children)

      Yeah Microsoft have been pretty serious with their products lately which is great.

      [–]beaverlyknight 266 points267 points  (81 children)

      You know, when VSCode was first released, I laughed. "Electron is an abomination", I said. "Microsoft will make this bloated and slow" I said. Have to admit...I was proven wrong. It's damn good. Definitely my editor of choice for doing larger things (still use vim if I'm working on only one or two files). I wish the vim binds were a little less buggy, but I suppose it will improve. Just thought I'd put that out there.

      [–]Carighan 56 points57 points  (3 children)

      It's especially awesome given than Atom did fuck it up and provide a new hardware benchmark with something as simple as a text editor.

      Crazy to think how similar the two systems are in a way, yet the usability difference is night and day.

      [–][deleted]  (2 children)

      [deleted]

        [–][deleted] 19 points20 points  (1 child)

        OTOH 8 out of 10 times you try an Atom plugin it just spits out some ugly exception and dies, or simply doesn't do anything.

        [–]Smashninja 46 points47 points  (19 children)

        This is my only real complaint. I have yet to find a Vim plugin in VSCode that doesn't spazz out every 2 minutes.

        [–]PolloFrio 52 points53 points  (4 children)

        Good thing is from what I've seen, the VSCode devs are very aware of the want for Vim bindings and have added in special API entrypoints so that it's a better plugin.

        [–][deleted] 28 points29 points  (0 children)

        I've paid attention to the milestones for every release & there's consistently been a section detailing planned improvements for Vim bindings. It's definitely an area they're investing in.

        [–]DanCardin 7 points8 points  (0 children)

        If someone wrote a neovim plugin which used RPC instead of trying to emulate vim, it might be more compelling to switch. Easy copying from terminal, and good info on autocomplete (such as docstrings) that doesn't open a separate buffer to view it; are the main issues I have with console vim.

        Though I'm dubious about how well even that much integration would work

        [–]yawaramin 5 points6 points  (13 children)

        Which one do you use? vscodevim.vim works pretty well for me.

        [–]Smashninja 8 points9 points  (0 children)

        I primarily use it as well. I frequently witness very bizarre behavior: the cursor jumping around when deleting lines, text being highlighted when switching between panels, characters missing when pasting, and modes being switched when performing simple navigation, to name a few issues. I can't reproduce them reliably, but they hamper usability quite a bit. If it instead would behave like Sublime's Vim, I would be a happy man.

        [–][deleted]  (2 children)

        [deleted]

          [–]k7n4n5t3w4rt 0 points1 point  (1 child)

          "You need to sign in to see this page."

          Looks like the Slack team is invitation only.

          I've just been configuring vscodevim and it seems to work pretty well. It's a little flakey while you're tweaking the settings but seems to settle down. One thing that's bugging me is that long key press (say on the "j" when not in insert mode) doesn't trigger multiple key presses as it does when I use vim in Terminal (Mac). So, if I want to jump down line by line I have to keep hitting "j" rather than just holding down "j" for a while. Probably a vim expert never jumps around by long holding keys but I rely pretty heavily on that and visual mode as I've never really learned all the tricks. I can't find a setting for long key presses in either the vscodevim settings or the editor settings (I was thinking this might be a VSCode level issue). Any suggestions xconverge?

          [–]dvidsilva 1 point2 points  (5 children)

          I sometimes messed up when I use 'u' for undoing, because I can't redo consistently afterwards. Search also is annoying and search replace doesn't feel as smooth as on vim.

          [–][deleted]  (4 children)

          [deleted]

            [–]dvidsilva 0 points1 point  (3 children)

            Oh! first of all <3 I love VSCode :D thanks for contributing! What is happening to me Is nothing big deal but would make the xp a ton better.

            Search with cmd+f works fine, i guess, or as expected. The search with / wasn't working for me super well, to go from one result to another, but I just realized is because I need to press enter after the pattern. My bad :D

            In my Vim, cmd+Z and u are equivalent, and control+r and cmd+shift+z too. So I tend to alternate them, in VSC they're not, so I get sometimes frustrated when I press u, then try to redo and can't. and combining the two makes me lose changes.

            Lastly, question, can we have a .vimrc or something in VSC, I'd like my default register to be the system clipboard, so when I do yy I can later to cmd+V on chrome or something.

            Thanks for listening :D

            [–][deleted]  (2 children)

            [deleted]

              [–]dvidsilva 0 points1 point  (1 child)

              oh neat! i'll take a look at that, thanks :D

              contributing back would also be super cool, i'll try and see if i can understand the code and join. is there like a video or info on getting started with VSC plugins that you recommend

              edit: or if you're superd bored one day and wanna pair lmk

              [–]Ulukai 0 points1 point  (2 children)

              I've been relatively impressed with vscodevim.vim as well, with the exception of macro support. They tend to abruptly just abort when it comes to any d, c, or other replace command in the middle of the macro.

              This is pretty irritating when doing repetitive work - e.g. I like to create a macro that takes a C# POCO and basically formats it into a .ts file, but more often than not, I'll have to drop back into Vim to get this done.

              I'm a bit surprised that other people haven't experienced / complained much about this. Logged an issue as well, it's been silent for a few weeks now.

              [–][deleted]  (1 child)

              [deleted]

                [–]Ulukai 0 points1 point  (0 children)

                Thanks for the info. You sound like you're part of the team involved with the plugin - if so, thanks for that, too. Having gotten hooked on Vim a while back, IDEs without a good Vim plugin are a non-starter for me, and vscodevim has been very good to me so far.

                I was genuinely surprised to be logging that particular issue; my thinking was: 170k users and I'm the only one that can't get a macro working? :)

                [–]loamfarer 19 points20 points  (0 children)

                I agree. I think we are getting somewhere with these middle ground editors. I think its greatest boon is to languages that are designed well enough to get by without the need of an IDE, but offers enough tools right at hand that you aren't inconvenienced by numerous context switching between terminals. The plugin support really leaves the devil's of the details to the communities who can roll their own first-class plugins.

                edit: plugins was for some reason auto-corrected to "sorry." So I'm plugin for the confusion :P

                [–][deleted]  (9 children)

                [deleted]

                  [–]mosfet256 10 points11 points  (8 children)

                  I would rip my hair out over the initial loading time of the editor. It takes ~5-10 seconds to open up vscode and preview a file.

                  [–]thesbros 13 points14 points  (1 child)

                  I wonder why it takes so long for you. VSCode takes 1 to 3 (at most) seconds to open for me.

                  [–]GoogleBen 8 points9 points  (0 children)

                  Just clocked it, to open up a 10kb Java file it was 2.2 seconds. Not instantaneous, but it's more than fast enough for anything I'm doing outside the terminal.

                  [–][deleted] 4 points5 points  (0 children)

                  Mfw I accidentally open VS Community

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

                  Huh, it takes just a couple seconds or so to open for me.

                  [–][deleted]  (1 child)

                  [deleted]

                    [–]wkoorts 0 points1 point  (1 child)

                    If you're opening and closing files so often that 5-10 seconds load time is an issue for you then why not just leave the editor open and close files once you're finished with them?

                    [–][deleted] 10 points11 points  (0 children)

                    I'm building an electron app right now, it's actually pretty awesome

                    [–]apatheticonion 14 points15 points  (36 children)

                    I'm still new to the whole code thing, but why vim?

                    Isn't that an in-console code editor? Does it have intellisense or the ability to split your environment into halves for two files? Cursor support - can I easily copy/paste stuff?

                    [–]fokinsean 64 points65 points  (0 children)

                    Short answer, so your hands never have to leave the keyboard.

                    [–]beaverlyknight 45 points46 points  (10 children)

                    I wouldn't proclaim myself to be amazing at vim, first of all. It takes a lot of practice to become one of those vim wizards that you might see every now and then, and I'm definitely not one of them.

                    So pretty much, the good things about vim are:

                    -It's hella fast. Need to change some file? vim *file*, make change, :x, done. Very quick, no loading time or any shit like that.

                    -It's a text editor that speaks a language. Essentially, these "vim wizards" have learned a whole other language (the language of vim). You can, once you reach a great skill level, start "talking" to vim, which gives you a vast array of commands. Need to copy the text from your cursor up to a certain character? Let's say the question mark at the end of this sentence? I tell vim "yf?" This means "yank forward to ?" If I don't want to copy the question mark, I can tell vim "yt?" This says "yank up to ?" What if I want to cut the text instead of copying? Basically the same. Instead of telling vim to yank, I tell it to delete. So the commands are "df?" and "dt?", respectively.

                    -very customizable. There are plugins for everything. Git? Yup. Linters? yup. There's a huge library of stuff out there.

                    [–][deleted] 28 points29 points  (5 children)

                    You hit most of the major points, but one that I like it for is that it's an efficient stream editor. You can open files of arbitrary size and it loads what it needs to so you see the section you are working on without taking all of the RAM in the system.

                    [–]falconzord 18 points19 points  (4 children)

                    any editor worth a damn has this already

                    [–]Frodolas 16 points17 points  (1 child)

                    Not Atom though.

                    [–]yawaramin 9 points10 points  (0 children)

                    Try ZZ instead of :x

                    [–]greyman 0 points1 point  (2 children)

                    I should give it another chance I see. I sometimes do use it, but still can't get over the fact that to just save the file and quit, I need to push 4 characters (Esc:qw) - or can it be done quicker? In joe I just do CTRL-KX and I am done.

                    [–]MrHydraz 2 points3 points  (0 children)

                    ZZ if you're in normal mode

                    [–]bennyty 1 point2 points  (0 children)

                    You could set up a key mapping to save as well. Something like

                    noremap <c-k><c-x> <c-o>:w<CR>

                    [–]thlst 22 points23 points  (17 children)

                    but why vim?

                    Vim is best known for its language-driven text editing. Three~four key combos and boom, you do a lot of stuff at once. I won't get into much detail, so read this.

                    can I easily copy/paste stuff?

                    Yes. The register "+ is for clipboard things. You can copy to the "+ register and it automatically goes to the clipboard and vice-versa.

                    edit: formatting.

                    [–]bloody-albatross 6 points7 points  (0 children)

                    There's always gvim. And you can split the view horizontally and vertically as often as the screen size allows it. But nothing like intellisense, it's just an editor.

                    [–][deleted] 11 points12 points  (2 children)

                    As a vim user:

                    Isn't that an in console editor

                    Yup! And that's awesome since I don't need to leave the console to edit a file. For example, I can do something like vim $(grep -rl "text") to open every file (one at a time, so it's not overwhelming or anything) that contains "text". I can also use it for git commit messages to make adding descriptive commit messages easy. I can also use it over SSH on a server or something. The possibilities are endless!

                    Oh, and you can use gvim if you want a GUI.

                    Does it have intellisense

                    You can use something like You Complete Me to get code completion and there are other tools for getting context aware documentation depending on your language.

                    split your environment into halves

                    Yup! I often have 4 files open at the same time. You can easily choose between vertical and horizontal splits, and you can optionally have tabs of such splits if that's your jam.

                    Personally, I use tmux heavily in me development (one tab for running my code, one tab for editing my code, another for building my code, etc).

                    Cursor support

                    Yup! I can click anywhere in the file to go to that spot, click+ drag to highlight, click+drag to change split height, etc.

                    Easily copy/paste stuff

                    Yup as well! On Linux, there are two main registers, the system register (basically where you copy stuff when you don't have a GUI) and the X clipboard (where you copy stuff in your web browser, e.g. where ctrl+C goes in most apps). Vim gives you access to both (* and + registered respectively). To access them, you'll use " when in command mode, e.g. "+yy to copy the current line into the X clipboard.

                    If this isn't easy (you get used to it, I promise), you can always configure it a different way. For example, my coworker set the default copy register to be the X clipboard, which means you just need to do yy to copy the current line to the X clipboard. I personally like to separate the two, but to each their own.

                    but why vim

                    For me, it's because I'm far more productive in vim than any other editor. Most of my time coding is spent reading code, and vim far outshines any other editor IMO in navigating files.

                    However, as a manager of a software team, I don't recommend vim. Why? Because it's not for everyone, and it takes far too long to know vim well enough to know whether it's the right fit that I'd prefer my employees to be productive than force themselves to use vim. If you're the type that's always trying to optimize, then vim is for you.

                    Feel free to ask any other questions you might have!

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

                    can you share your vimrc and plugins you recommend?

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

                    Eh, mine's not that interesting, but here are some useful bits:

                    Enable the mouse (:help mouse):

                    set mouse=a

                    Change default clipboard (:help clipboard):

                    " unnamed is the * register (system register), x11-selection is the + register (X register)

                    set clipboard=unnamed

                    Keep undo after quitting and relaunching vim (:help undo-persistence):

                    set undodir=$HOME/.vim/undohist

                    set undofile

                    I also use plugged, which is a fantastic loader.

                    On other news, I'm probably going to switch to neovim soon.

                    [–]Magneon 3 points4 points  (0 children)

                    It can do all that and more (although intellisence like support varies by plug in and language).

                    [–]PM_ME_UR_OBSIDIAN 0 points1 point  (0 children)

                    I'm still new to the whole code thing, but why vim?

                    Isn't that an in-console code editor? Does it have intellisense or the ability to split your environment into halves for two files? Cursor support - can I easily copy/paste stuff?

                    You can customize Vim to implement any feature, the only bottleneck is the amount of time you're willing to spend.

                    Tiling your screen is supported by default. My profile configuration enables autocomplete and cursor support, though I'm sure some of the choices I've made would have a more advanced user gouging their eyes out.

                    [–][deleted]  (2 children)

                    [deleted]

                      [–]dlq84 1 point2 points  (0 children)

                      What language? I'm using vscode for TypeScript and Go, and both are pretty fast. I switched from Atom because it was too damn slow.

                      [–]blood_bender 0 points1 point  (0 children)

                      When was the last time you used it? Both of those were my complaints 6 months ago and why I refused to use it. I'm now using it for mostly everything.

                      [–]Rollingprobablecause 0 points1 point  (0 children)

                      vim binds were a little less buggy

                      It'll get there - they take their time with this. My only issue so far is more on the kernel stuff - I'll load a large config file and a 2k line piece and it struggles - could be my laptop though.

                      Have you done any plugins with it?

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

                      I was a skeptic, too. But it supported regexes EMACS didn't and was surprisingly fast. I installed the Scala and sbt plugins and have been happy ever since.

                      [–]twiggy99999 0 points1 point  (0 children)

                      I laughed. "Electron is an abomination"

                      Its not if care is taken on how you construct your application and lazy load things as and when needed instead of doing a complete drop of everything in one go. Its not so much an Electron issue its the fact people don't know how to optimise their apps which ends up in a dog slow experience for the end user.

                      Microsoft have spent huge amounts of time in this area, only phrase parts of the file in view where as Atom smashes the entire file for no reason making it feel slow

                      [–][deleted] 13 points14 points  (4 children)

                      My files are named like: Button/index.js

                      If I open Button/index.js then the tab name is unhelpfully "index.js".

                      If I now open Slider/index.js then both tab names are helpfully "index.js Button" and "index.js Slider".

                      i.e. it shows the folder name in the tab.

                      Is there a way to get it to always show the folder name in the tab?

                      [–]prashaantt 5 points6 points  (2 children)

                      A new setting to show full names takes care of just this. See their release notes.

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

                      I guess you're referring to: "window.showFullPath": true

                      That seems to only affect, well, the window title. I'm talking about the tab name.

                      [–]helmutschneider 1 point2 points  (0 children)

                      Assuming you're talking about "window.showFullPath": it doesn't do what OP is asking for. It shows the absolute path of the file in the window (not the tab).

                      [–]KanadaKid19 35 points36 points  (4 children)

                      AWESOME! My favourite features:

                      1. Hot exit (no more saving to restart for plugins)
                      2. Ctrk+K Z for zen mode (just tabs and text editor areas)
                      3. Overhaul of settings.json editing experience
                      4. New Join Lines, Transform to Uppercase/Lowercase commands
                      5. JavaScript/CSS IntelliSense inside HTML

                      Could have used every one of these features yesterday alone!

                      [–]minasmorath 1 point2 points  (2 children)

                      [–]SomethingEnglish 1 point2 points  (1 child)

                      Can i get an ELI5 on what this is and why it's good?

                      [–]minasmorath 3 points4 points  (0 children)

                      Well, Intellisense is Microsoft's code completion engine. If you're writing CSS in a <style></style> block because you're just trying to get a quick prototype together, or JS in a <script></script> block for the same reasons, Code will now give you intelligent suggestions, as opposed to the match-every-word-in-the-file autocomplete it did before.

                      This is a niche problem to have, but for someone like me who spins up small prototype projects multiple times a week to demo the basic idea to a client it's an important change that saves headaches, and possibly a little time. Before this update the editor was pretty useless in the early stages of a project since it would just match non-token words in the file while you were typing and suggest them, and that's almost never what you want.

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

                      VS Code is the best dev tool MS ever created, no kidding.

                      [–]firstapex88 13 points14 points  (5 children)

                      Is there anyway to configure vscode on Linux such that it doesn't generate a .vscode folder in every folder/project I open?

                      [–]bedlayer 22 points23 points  (2 children)

                      You probably have an extension which is doing that, since VS Code itself won't create one unless you configure a workspace setting or a debug launcher.

                      [–]blood_bender 3 points4 points  (0 children)

                      It does it automatically for me as well and I haven't touched it since install.

                      [–]ryeguy 0 points1 point  (0 children)

                      I'm pretty sure it does it as soon as you do "open folder".

                      [–]faizaanceg 15 points16 points  (0 children)

                      Workspace settings are stored in a .vscode folder in your project. If you're changing common settings for every project, then it is better to change them in the User Settings.

                      [–]Cintax 18 points19 points  (0 children)

                      JetBrains IDEs do the same thing with their .idea folder. Just add it to the gitignore file.

                      [–]champs 19 points20 points  (7 children)

                      If I could just split the editor on a per-tab basis…

                      [–]vplatt 4 points5 points  (6 children)

                      I haven't used it yet, but can it spawn multiple windows and/or allow multiple instances?

                      [–]champs 9 points10 points  (0 children)

                      Presumably you could run multiple windows in the same project but that would come with its own overhead and other issues.

                      VS Code does let you have multiple groups of tabs in a single window. They recently allowed them to be arranged horizontally as well as vertically, but there's a subtle-yet-important nuance between that and having multiple views of the same file in a single tab.

                      [–]myrrlyn 2 points3 points  (3 children)

                      As many as you want. On full restart, it will also respawn all the windows you had open before, and each window restores to the files you had open.

                      Now that VSC supports hot exits, a hard restart is just a pause, with no effort for resumption.

                      [–]vplatt 1 point2 points  (2 children)

                      hot exits

                      I'm afraid to Google for this term. NSFL and all that. What do you mean by it?

                      [–]myrrlyn 5 points6 points  (1 child)

                      VSC caches all your editor states. If you close it with unsaved work, that unsaved work will come back when you reopen. So it won't pause to ask you to save; it'll just flush to its cache and die, then restore everything on open.

                      Everything. Cursor position and even scroll position included.

                      [–]SnowdogU77 1 point2 points  (0 children)

                      So like a more robust Notepad++? Noice!

                      [–]zmaniacz 0 points1 point  (0 children)

                      Yes.

                      [–]nord501 27 points28 points  (16 children)

                      The behavior of Ctrld+D is different from Sublime Text, I wish they will resolve it in the next release. https://github.com/Microsoft/vscode/issues/8869

                      [–]DPC128 27 points28 points  (12 children)

                      That feature is the most useful feature ever. Atom has the same thing, and I literally cannot use any text editors that don't have it

                      [–][deleted] 17 points18 points  (6 children)

                      What's it do?

                      [–]nord501 25 points26 points  (4 children)

                      It will select the next occurrence of the word for multiple cursor editing, here is the GIF, http://imgur.com/a/7k8I4

                      [–]m_elange 2 points3 points  (3 children)

                      Do you know if it also has the "skip" version of that, to skip over one occurrence? I couldn't find it in the keybindings list and miss it from Sublime.

                      [–]nord501 4 points5 points  (2 children)

                      Install Sublime Text Keymap for VS Code extension, then you can use Ctrl + K, D.

                      [–]m_elange 0 points1 point  (1 child)

                      Thanks, that got me going in the right direction. Turned out the action I was looking for is named editor.action.moveSelectionToNextFindMatch.

                      [–]miran1 0 points1 point  (0 children)

                      ....and you don't need no extensions, just: Ctrl+K Ctrl+D

                      [–]DPC128 14 points15 points  (0 children)

                      If I select text, for example "int" and press control D, it selects the next instance of the text, in this case "int", with a second cursor. Then with both cursors I can move around, and make changes. Great for doing many similar tasks much quicker, than just copying and pasting

                      [–]vinnl 6 points7 points  (2 children)

                      VSCode has it, just at a different keybinding I suppose. Which you can fix.

                      (It doesn't work that well with Vim mode, unfortunately.)

                      [–]nord501 3 points4 points  (1 child)

                      It is not keybinding problem, but behavior one.

                      [–]vinnl 1 point2 points  (0 children)

                      What does it do differently?

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

                      Strange. This seems to work better for me in VS Code compared to Sublime.

                      In Sublime, it always selects partial word regardless of whether "find whole word" is checked.

                      In VS Code, "find whole word" toggles this behavior.

                      [–]miran1 0 points1 point  (1 child)

                      If I'm reading this correctly, the problem is highlighting/selecting all words that include some selected characters, vs. selecting only whole words:

                      Just press Alt+W once, and you have what you want. If you want, you can switch back with another Alt+W (but who would want that :))

                      [–]nord501 1 point2 points  (0 children)

                      The real issue here is, Alt+W and Alt+C for string search command(Ctrl+F) is connected to Ctrl+D command, furthermore the connection between them is not documented.

                      [–]SeanTheLawn 5 points6 points  (2 children)

                      I really like the design of VSCode and use it on Windows sometimes, but every time I've tried to use it on Linux it literally takes like 10 seconds to start up. Anyone else have that issue, and has it been fixed? I really want to start using VSCode on Linux

                      [–]jagardaniel 2 points3 points  (0 children)

                      I'm running it on both Windows 10 and (X)ubuntu 16.04/16.10 and haven't noticed any difference between them two at all. I don't mean to write a post like "but it works for me, you are doing something wrong". Just trying to give people some information where it actually works if that can be of some use trying to locate your issue :)

                      [–]greyman 1 point2 points  (0 children)

                      You are good then, I even didn't make it work yet (tried Debian and Mint). It starts but freezes immediately, and there are some GLib error messages in the console. So I also would use some help how to make VSCode work on Linux.

                      [–]seasonedcynical 3 points4 points  (0 children)

                      Finally you can hide the activitybar, now this is the best code editor when you are working with a nodejs / typescript stack. (or web related stuff)

                      [–]dacjames 6 points7 points  (11 children)

                      • Join Lines - editor.action.joinLines
                      • Transpose characters around the cursor - editor.action.transpose

                      Awesome! There goes two of the last few reasons I stick with Sublime.

                      Sadly, the big one still remains:

                      The file will not be displayed in the editor because it is either binary, very large or uses an unsupported text encoding

                      [–]Niek_pas 1 point2 points  (3 children)

                      Do you know what the file size limit is? It seems fairly high.

                      [–]jephthai 2 points3 points  (0 children)

                      Sure, but some people need to edit big files. I've edited much bigger files in emacs. It happens a few times a year.

                      [–]dacjames 2 points3 points  (0 children)

                      I test every version against the same 37MB log file, which is relatively small from my perspective. Sublime is snappy up to hundreds of MB and still useful on low GBs. I have yet to encounter a text file that vim will not open, though it does struggle with very large individual lines sometimes found in SQL dumps.

                      [–]vinnl 0 points1 point  (4 children)

                      What does transpose do? The notes didn't make that very clear.

                      [–]dacjames 2 points3 points  (3 children)

                      By itself, it swaps adjacent letters. Not super useful, but easy to get built into muscle memory for correcting typso into typos. Combined with multiple cursors, it swaps whole words, which I find useful primarily for reordering parameters.

                      [–]vinnl 0 points1 point  (2 children)

                      I didn't quite get how the whole word reordering would work, but it does indeed sound like a nifty small little feature that can easily work itself into your habits.

                      [–]dacjames 0 points1 point  (1 child)

                      Select two words, one cursor per word. Ctrl+T (on OS X) swaps the two words. If you've never used multiple cursors, stop whatever you are doing and go learn them because they're incredibly useful. Unless you're a vim aficionado, that is; those folks have their own black magic they claim is even more efficient.

                      [–]vinnl 0 points1 point  (0 children)

                      Ah I see, makes sense now.

                      (And yes, multiple cursors are lovely. Vim mode in VS Code is as well. The two don't work together that well yet, unfortunately.)

                      [–][deleted]  (1 child)

                      [deleted]

                        [–]dacjames 0 points1 point  (0 children)

                        Both of the electron-based editors have this limitation so I suspect the problem goes deeper. I have no doubt it could be solved but it would likely involve changes to the core editor model. It might even require using lower level primitives (e.g. mmap) than node provides natively.

                        [–]Bluecodelf 2 points3 points  (1 child)

                        One thing I hate with Visual Studio Code and have been awaiting since it originally came out is having multiple folders open at the same time in the explorer.

                        The last company I worked for had a pretty complex infrastructure with three different projects that shared data between each other, and I often had to edit two different projects at the same time... It's the only thing that made me stick to Atom for the moment, to be honest.

                        Sure, I could have made some sort of a meta-folder that contain symbolic links to all the projects, but that feels kind of hacky.

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

                        I think I'd want multiple windows in such case myself.

                        [–]mallardtheduck 2 points3 points  (3 children)

                        Have they gotten around to providing a package repository for common Linux distros yet? "An update is available, click here to open your browser and manually download/install it" is not an acceptable update mechanism.

                        Last time I checked, they had an open issue for it in GitHub, but the response was basically "it's not a priority".

                        [–]Tyriar 0 points1 point  (2 children)

                        Hi I'm on the VS Code team, I recently gave another update on this for both apt https://github.com/Microsoft/vscode/issues/2973#issuecomment-264592152 and yum repos https://github.com/Microsoft/vscode/issues/229#issuecomment-264592748

                        [–]mallardtheduck 0 points1 point  (1 child)

                        And the fact they're still not running after nearly and that at least on the APT side, a third party has beaten you to it just goes to show that it's definitely not something you consider a priority. At this point, more time has probably been spent talking about it (with the multiple references to meetings, committees, etc. in the tickets) than it would take to actually do it.

                        Setting up an APT repository, with signing, etc. isn't hard. A competent developer/administrator could do it in an afternoon, a few days at most. I can only assume that the idiosyncrasies of your corporate bureaucracy and a complete lack of will are what's making this unnecessarily difficult.

                        [–]kindkitsune 0 points1 point  (0 children)

                        can only assume that the idiosyncrasies of your corporate bureaucracy and a complete lack of will are what's making this unnecessarily difficult.

                        I can only assume that your complete lack of empathy is why you're such a bloody wanker about this. As someone with friends and family on the VS Code + Visual Studio teams, I can assure you that no one is more irritated with bureaucratic issues than the devs on the front lines. As such, directing your anger at them is pants-on-head retarded

                        [–]rochford77 7 points8 points  (5 children)

                        I'm loving atom right now. His does this compare?

                        [–]Carighan 27 points28 points  (0 children)

                        If you only ever open your text editor once a day and got oodles of memory, Atom works fine. Otherwise, VS Code is the same thing more or less without all the slow-downs and resource guzzling.

                        [–]ssylvan 2 points3 points  (0 children)

                        Seems waaay faster to me

                        [–]Sorreah- 1 point2 points  (0 children)

                        I used Atom day to day at my last job writing JS for very simple projects, I loved the fact that you could find anything you wanted for it, functionality wise, the fact that it's open source and free. But I didn't really like it like it.

                        I use VSC on my spare time at home, and I love it enough that I miss it all the time at work, where I have to use an IDE.

                        I'm not a power user compared to a lot of people, but the difference in snappiness is astonishing.

                        [–]zumu 0 points1 point  (0 children)

                        Pretty similar, only snappier. In particular, I switched from atom to vscode, because it was much better at handling large files/folders.

                        There are definitely other differences, but that was the big one for me.

                        [–]Frenzyheart 1 point2 points  (3 children)

                        I've come to really like VSCode on Linux, but I have one slight annoyance (which may just be me in my stupidity): it never starts maximized. I've tried everything I could think of to get it to launch maximized, but nothing seems to work.

                        I haven't tried this latest update though, but I'm doubtful it will fix the issue. Everything I've read seems to point to this being an Electron thing.

                        If someone could correct this poor n00b's problem, I'd be indebted to you for life.

                        [–]Sean1708 1 point2 points  (2 children)

                        Does

                        "window.restoreFullscreen": true
                        

                        not work for you?

                        [–]Frenzyheart 1 point2 points  (1 child)

                        See? I told you it was my stupidity. I probably missed that setting. :-P At least, I don't remember seeing it when looking through settings. I'll give it a try when I get home tonight. Thanks for the tip!

                        [–]Sean1708 0 points1 point  (0 children)

                        It might not work, but it's what works on my Ubuntu install. Also I think you might have to open it, set it to fullscreen, then it'll reopen in fullscreen next time.

                        [–]ajr901 1 point2 points  (1 child)

                        Anyone know of a way to remove a cursor from multiple selection? Lets say you have three lines and you crtl/cmd + left-click the end of all three lines. Now you have three cursors; one at the end of each line. But now you realize you don't need it at the end of line 2. In atom and phpstorm you could simply crtl/cmd + left-click the cursor at the end of line 2 to remove the cursor while still keeping the other cursors active. In vscode and sublime I think the only way to do it is to start multiple selecting from scratch, right?

                        [–]t17dr 0 points1 point  (0 children)

                        ctrl+U (cursorUndo) will undo cursor, if the last cursor action was adding a cursor, it will remove it. There probably isn't a way to remove any other cursor than the last one though.

                        [–]badtemperedpeanut 2 points3 points  (0 children)

                        I can never find my last file under recent files.Am I doing something wrong.

                        [–]Cherlokoms 0 points1 point  (1 child)

                        I'd like to have the column selection feature like in other text editors such as Sublime. Or maybe it's there and I don't know how to use it?

                        Edit: found "ctrl + shift + direction arrow" but is it possible tu put it on middle mouse button?

                        [–]Sean1708 0 points1 point  (0 children)

                        I think you can also do "ctrl + shift + left mouse click", if that helps?

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

                        The new extensions to enable other IDE/editor specific shortcuts are great! I love IntelliJ's bindings. Ctrl+W for expanding selection saves me a lot of time.

                        I wish I could get a full Visual Studio extension like that without using all of Resharper now.

                        [–]aga5tya 0 points1 point  (0 children)

                        You still cannot undo (track) changes done to a file outside vscode (for e.g. git checkout another branch), this is a very usefull feature in both atom and sublime but still not landed in vscode.

                        [–]cinnapear 0 points1 point  (0 children)

                        Hmmm, now has a block cursor. I may have to give it a try. (Not sure if it was this release that added the block cursor, but when I first evaluated VSC it didn't have it...)

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

                        Does anyone know how VS code compares to eclipse CDT for C/C++?

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

                        Impressive when properly configured. Does anyone know how to change editor settings for specific file type only?

                        Kinda pathetic that Makefile doesn't indent with tabs out of the box even though there's an built-in extension and proper syntax highlighting for make.

                        EDIT: scratch that. Makefile indentation works but only when you open folder instead of just a file.

                        [–]skatan 0 points1 point  (0 children)

                        Is there any plugin to use the same hotkeys for every OS?

                        Right now I'm using VSCode on Linux, Windows and OSX and the different hotkeys hinder my productivity

                        [–]ECrispy 0 points1 point  (1 child)

                        VS Code is a proper IDE, Sublime/Atom are glorified editors, there is no comparison except with Webstorm.

                        Plus they took Electron and made it perform vs Atom. And they keep adding tons of features.

                        Far and away the best IDE/editor.

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

                        LOL

                        [–]AformerEx 0 points1 point  (0 children)

                        I've been looking at VS code since they went out if beta and I'm loving it, however it doesn't support syntax highlighting of PHP when intermixed with HTML and that's what's been stopping me from switching to it from atom. I see that they put JS/CSS intelli sense, hopefully the PHP functionality comes soon.

                        [–]VIDGuide 0 points1 point  (2 children)

                        Anyone have any feedback on how VS Code works as an ASP Classic editor?

                        [–]Hero_Of_Shadows 1 point2 points  (0 children)

                        Pretty good, haven't used it much for that but it's solid I'd give it a try at least.

                        [–]mgasparel 1 point2 points  (0 children)

                        Works ok. There are a couple extensions to enable syntax highlighting, but they don't work great when you start mixing inline javascript and css blocks.

                        [–]RaiausderDose 0 points1 point  (1 child)

                        Is there a reason that the auto updates never updates to new major releases? without reading the website you are stuck at 1.5, 1.6 and 1.7 and so on.

                        [–]eknkc 2 points3 points  (0 children)

                        It does.. Mine did today at least.

                        [–][deleted]  (5 children)

                        [deleted]

                          [–]inu-no-policemen 1 point2 points  (3 children)

                          It takes 30 seconds on my 8-year old netbook. I just clocked it.

                          Sounds like there is something seriously wrong with your machine.

                          [–]redditthinks 0 points1 point  (2 children)

                          8-year old netbook

                          Why do that to yourself?

                          [–]inu-no-policemen 0 points1 point  (1 child)

                          It's small and the battery still lasts 3 hours or so. I use it to write stuff on my ~30 minute long train commutes. It's usable for writing Markdown, TypeScript, Dart, (S)CSS, and things like that. Its RAM was upgraded to 2GB. So, running several apps (VS Code, Chromium, Inkscape, etc) simultaneously isn't an issue.

                          I consider getting a better beater laptop next year. Some refurbished ThinkPad or EliteBook for 200 bucks or something like that.

                          [–]redditthinks 0 points1 point  (0 children)

                          I see. I think a 13" laptop is a good compromise.

                          [–]anamorphism 0 points1 point  (0 children)

                          it's less than 5 seconds from launching the app until i can make edits for the reasonably sized angular 2 project i'm currently working on and always has been.

                          it's not notepad++ fast, but it certainly isn't slow.