I have been using VS Code as my full-time editor for a few months now and couldn't be happier. Originally I was only using it for TypeScript projects, where the language integration is top-notch, but eventually found myself using it all the time. I use the vim plugin, which is surprisingly good although it does have a few issues still.
The best thing about VS Code (and Microsoft's other big open source project, TypeScript) is the steady stream of releases. Because of the regular release cadence, small but important improvements never get blocked by some big feature that took longer than anticipated. As much as I wouldn't have believed this 10 years ago, Microsoft does open source better than almost everyone.
VS Code: developed on GitHub, written in TypeScript, great extension API, clear roadmap and regular releases. I am a very happy user.
I'm currently switching from gvim to vscode and back again every five minutes, in order to use vscode's debugger --- it's gdb integration is the best I've seen bar none [1][2]. If the vim emulation was good enough, I'd switch in a moment. Which, unfortunately, it's not, for me: the biggest omission is shift-Y/shift-P for yank and paste, which I use constantly, but there's holes everywhere.
(Also, the way the vscode's autopopup thingy grabs the escape key is really annoying, but I'm sure that's configurable.)
Two minor nitpicks:
[1] I haven't figured out how to make the debugger show a pointer as an array yet.
[2] I used to use ddd. By modern standards it's pretty rough, but it's data visualiser was unparalleled brilliance. (It allowed you to lay out structures on a canvas as boxes with arrows representing pointers.) I'd love to see that in vscode.
Hi! I'm one of the core developers of VSCodeVim. Shift-Y and Shift-P absolutely work for me, so please report on our issues page if they continue to not work for you: https://github.com/VSCodeVim/Vim/issues
I would also be really interested to hear about the other holes that you're running into. Always trying to make a better Vim experience for you :)
I don't wish to derail the thread, but while I have your ear: is there any hope for using the neovim over its msgpack interface instead of implementing vim bindings from scratch?
Whoa. Never even thought about this, but it would be completely awesome.
Speaking of Neovim, it sure would be nice to have a special mode specifically for yielding to an IDE so that all of the IDE's default keybindings can remain intact.
Just installed VS Code with the Vim extension and everything seems to be working pretty well for me, including yy and shift-P. I had to set "vim.useCtrlKeys": true to enable some of the keybinds that override VS Code bindings.
The parent is correct though, Y doesn't work. I thought it did, so I opened it up to check, and turns out that I didn't realize this because I tend to do Vy instead of Y.
Hi! I'm one of the core developers of VSCodeVim. Shift-Y works for me, so if you can't get it to work for some reason, could you report that here?: https://github.com/VSCodeVim/Vim/issues
If you have any other problems, please let me know. :)
Will do, and thanks for your work here. I have always wanted to try more editors, but vim plugins are (almost notoriously) full of holes, so there's always _something_ someone uses that's broken. Yours is the best I've ever come across. Seriously, thanks. Oh, and that reply to me down-thread from Tom is really heartening as well, kudos.
(I swung by the slack and mentioned the other issue I had, and have meant to open a bug about it too, I'll get on that.)
Curious, which of the five-or-so Vim extensions are you using?
I've heard there's a bit of drama in which the top-downloaded Vim extension is poorly implemented and poorly supported by the dev, and that some of the lesser-known Vim extensions are far better.
Hi! I'm one of the core developers of VSCodeVim. I think what you've heard is pretty out-of-date - we've been crazy active over the last couple of months. You can check our github page to confirm, if you want - https://github.com/VSCodeVim/Vim :)
Let me know what you think if you do try to use it.
VSCode's C++ plugin supports both gdb and lldb (at least on macOS). As for what to learn--I'd learn GDB. Pretty much every architecture on the planet has a GDB port.
Which would you recommend I start with as a newcomer to the low-level debugging world - gdb or lldb? I have some experience debugging assembly in x86 real mode (yep, my class was outdated!).
I have little experience with both, but the developers of LLDB have a goal of making more informative error messages. This was successful enough that GDB devs were compelled to mimic this behavior, making their error reporting more accessible. As far as I know, LLDB still has the advantage in this regard.
You must be confusing LLDB/GDB with Clang/GCC. LLDB and GDB are debuggers, they generally do not produce many error messages. Clang has/had better error messages than GCC.
:h Y
["x]Y yank [count] lines [into register x] (synonym for
yy, |linewise|).
:h P
["x]P Put the text [from register x] before the cursor
[count] times. {Vi: no count}
"As much as I wouldn't have believed this 10 years ago, Microsoft does open source better than almost everyone."
This. They are treating vscode like its a core (cash cow) product. I'd say google embraced/adopted open source early on and now microsoft is playing catchup while now becoming one of the very best to do it.
Name one entity whose open source efforts are not a means to an end. Even OSS nuts like Stallman have their motivations (in his case, furthering his ideology).
They've been making so much progress on the vim plugin. I was recently at a conference, and was talking to someone who works on Code. The conversation went something like this:
Me: "I wanted to use Code, but the vim integration wasn't good enough."
Her: "Oh yeah? What issues did you have, specifically?"
Me: "Let me just reinstall real quick and I'll show you."
Most "vim emulation" plugins suck, because the vim way of thinking about things is so different from the typical GUI editor. Because of this, extension APIs often have to be wildly abused just to get even moderately decent parity with vim. Bugs and inconsistencies abound and are often impossible for the plugin author to fix.
That's why it's been extremely heartening to see releases of VS Code that explicitly add extension points to enable features for the vim plugin[1]. It's not perfect now, but given that the VS Code team seems to be making it their mission to offer an extension API robust enough to make it perfect, I'm willing to deal with the quirks for now.
Man oh man, as a long time Sublime user I downloaded it just out of curiosity and really not expecting to switch. Now its a few months down the line and its the only text editor I use, and once a month I see a new release at the top of HN and get excited. It is one of the few things where I actually read all the release notes. I feel like a fan boy.
When they delayed the tabs I was a bit bummed, but then the next release with the tabs came so fast, I found it funny that they even mentioned delaying them.
I agree, and like a child comment here, used to switch back and forth between other editors(sublime, atom) and Microsofts push to win developers is working.
Huge swathes of code released, azure implementing innovative things around blockchain-- not to mention the linux offerings & other oss plugins. Even porting out powershell as well as bash integration, chakra ect.
To touch on the parebt comment, the vscode editor is one of the MS products i use most often and am most familiar with. The release cadence; compared to the very similar Atom editor, is much different in philosophy.
Atom was first(i think it even came out before vscode) to have all of the features desired in aneditor. They came at the high price of horrible petformance and a wildly unstable product.
Vscode team knew everyone wanted tabs, but they worked releasing tons of things in parrallel and rolled tabs out when they worked properly.
I wouldnt say MS has won my trust, but this product has. I trust the editor will behave as expected and continue to offer awesome plugins and a greT ecperience. I can't afford to have my editor lag snd crash, as well as overwrite or delete data.
Vscode is pretty great and has virtually everything I need with only very minor things.
i install every new release of vscode because i think it has the potential to become a good editor but the vim plugins are still far from good enough for me to use on a regular basis.
Hi! I'm one of the developers of VSCodeVim, and I'd really like to know about the particular pain points you're running into when you're trying to use the extension. You can tell me here or open up issues on github - https://github.com/VSCodeVim/Vim/issues - whichever you prefer.
Just to clarify this. I really meant this in a positive way. It made me think about giving it a try which is kind of insane since I'm a very very devoted (n)vi[m] user.
I always had Visual Studio for .Net development and for everything else it changed. First Notepad++, then Brackets, Atom, then Sublime Text and since 4 months it's always been Visual Studio Code.
It's nuts how fast Visual Studio Code is evolving. Good job Microsoft, developers and the community.
My only fear is that the application would become bloated, but for now it's still blazing fast. Even when i have to much extensions on :p
I am not sure if you are talking about Visual Studio Code or Visual Studio ( which is still updating)
I'm not talking about the IDE, the IDE runs great. Referencing Visual Studio as bloated was not my intention, i was afraid that Visual Studio Code got bloated. The only thing is that Visual Studio updates always take a long time, that's probably the only thing that is troubling me sometimes. It's been 2:30 hours updating now : https://gyazo.com/b8718354c629fbd6e0c4867dfb95e0eb
I also know Visual Studio is a very big application ( i personally use mostly Asp.Net in combination with c# and Cordova) with many developers ( i heard 1200 developers in a talk with a Product Manager of Visual Studio). But 2:30 hours updating is just a very long time :)
I don't know, every time I see a new release of Atom or VS code and people praising it in comments I go ahead and download it and open the project that I am currently working on in Sublime for side by side comparison. And what strikes me most is how smooth Sublime is compared to Visual Studio Code or Atom (at least on my mac, I dont know about windows experience). Scrolling is much slower in VSC and searching through files is much much worse than in Sublime. Those little things are what makes an editor a winner, it just does not slow you down and annoy you. So once again Visual Studio Code failed to lure me away from Sublime, I dont even know why I am still trying to...I love Sublime Text.
I'm on a 2014 MacBook Air and I open files with !5K lines long and it's smooth to scroll. My only knock would be a slow startup time, but I open my project in VSCode and leave it open for weeks at a time...
Here's a good test: Do you want a text editor, or do you want something that's close to an IDE?
Atom/VS Code exist to be IDE-y, not as thought experiments on text editors in the browser. Their advantages are in the ease of developing extensions and tools that aren't part of the core package.
The difference is similar to Vim/Emacs. Of course Vim has some IDE-y plugins, but they're rarely as rich as what ends up getting built in Emacs.
VS Code, at least on Windows, doesn't have smooth scrolling enabled. Is that what you mean by choppy? It's definitely bad UX, lines just jumping around. I haven't found a way to enable it (very quick google told me nothing either).
I've been working lately on getting Visual Studio Code to compile for ARM. Its working fairly reliably but Travis doesnt support the toolchain so Im having to use Gitlab CI in the meantime.
I want to give this a little more polish before I release, but can I gauge from the folks here if there would be any interest in ARM nightlies for Raspberry Pi (and other ARM SBCs)/ARM Chromebooks?
If so, I'll move some things around to get it done in the next few days.
Works really well on Chrome OS with Crouton, owing to the integrated terminal:
Not so sure about a Raspberry Pi, it'd probably just be a novelty there, considering how slow the Pi is running Chromium and the like. (Though the Pi 3 might be able to handle it better).
Chromebooks on the other hand, sound like a great idea.
I love VSCode. Sublime still trumps it in two places though - multi-cursor support in VSCode isn't quite as powerful as Sublime I particularly miss the middle click, drag, select rectangle [1].
The other area is that global search/replace isn't as powerful or nearly as quick.
I'm hoping both of these are things they fix in time.
I love VS Code (we're pretty invested in TypeScript, so it was a natural fit), but the one thing I really miss from Sublime is that code preview thing that shows a bird's-eye view of the current file and lets you click around to any part of it. Any idea if there is or will be a way to enable the same functionality in VS Code?
Edit: Apparently this is called the "minimap" and is a popular feature request, so guess that answers that.
I've recently switched to VS Code full time for C# and Python development and I couldn't be happier. While I miss some of the more intelligent intellisense from full VS, I love that I can do all of my dev on OS X. Its integration with .NET Core makes my life easy; really can't complain at all.
I wish it did a bit more in the way of completing methods on objects (it sometimes will, but only in super clear-cut situations), but outside of that it's solid. Completely replaced Sublime for me, outside of the subl command line.
Really, for c#? I assumed that the type-inferencing in and extension methods would make proper IDE support of C# on a "light" platform like vscode impossible. How do you manage your vcproj file?
I figured the same! But it handles type inference, extension methods, using static, etc like a champ. Even does completion for project.json. I don't use vcproj since I just use dotnet core.
Don't recall ever hearing it got mothballed during development - though I do believe they've bent over and are going to support csproj files with .NET Core in the future as well.
Seconded, I've been writing c# with asp.net core solely on OSX for a few weeks now, I've not run into a single thing that I miss from full Visual Studio yet, living the dream!
I switched from Atom to Visual Studio Code for my new project (TypeScript frontend and Go backend) and I am really impressed.
Although the Go support is really good in Atom (missing a few things like debugging and jump to definition via mouse), the TypeScript support is significantly slower than in Visual Studio Code.
There are few things missing Visual Studio Code though: Multiple top-level folders, customizable UI (font size in particular), a few essential extensions that Atom has and probably other things I forgot.
You can customize the font face and font size. It even supports proportional fonts!
You just have to hand-edit settings.json to do it. Go into File/Preferences/User Settings and copy the editor.fontFamily and editor.fontSize lines from the left panel to the right and edit them to what you want.
What bothers me about the font rendering, though, is that for some reason they have disabled ClearType! Everything uses grayscale antialiasing instead of subpixel antialiasing. So for my eyes the text is harder to read than Visual Studio and all my other apps.
I know a lot of people don't like ClearType, but I took the time to go through the ClearType tuner and adjust it to my taste - mostly going with darker, heavier rendering than the default - and now ClearType text looks wonderful on both my high-DPI displays.
Yes, the editor font can be changed. The interface font (menus, sidebars) not so much. The only thing you can do is scale the whole UI which feels awkward at best.
debugging is the best I've ever experienced. Webstorm debugging was problematic for me a year and a half ago. Visual Code has surpassed Atom by far as well, which weirdly does NOT support client side debugging for javascript (and that's a major mistake on Atom's behalf). In VSCode debugging is of course provided by 3rd party packages, but their API and rich debugging GUI seems to make it extremely easy to hook into it. In short, if you're using webpack-generated sourcemaps, VSCode is the way to go. Being able to finally debug in your actual code (rather than Chrome devtools) is a dream come true! Otherwise I love their built-in linting and git support.
I've submitted several bug reports to its creator (a developer at Microsoft) and received prompt response as well as fixes! It lets you attach to running browser windows or launch a new one.
Next and perhaps more importantly, there's a debugger for React Native!:
And it works flawlessly, and brings along IntelliSense for React Native elements/apis, etc.
If you're a javascript developer, drop what you're doing / what you're using, and make the shift to VSCode. If you're using Atom currently, you can likely find your same themes in the VSCode extension directory, which--for me--made the shift almost seamless (the feel shares a lot in common with Atom because of its Electron roots).
Same here, but for Firefox (which I prefer for WebDev). Just switched to VSCode because it's the only editor[1] that has a working JS Debugger for it:
https://github.com/hbenl/vscode-firefox-debug
[1] Though other editors might follow. Just saw that the Firefox Debugger team would be interested in integrating their new react/redux based debugger into Atom: https://twitter.com/clarkbw/status/783358566858010624
Would you say the Firefox debugger works equally well as the Chrome variant? (In terms of responsiveness, integration, overal experience). I really fancy the JS debugger of VSCode but I'd hate to drop Firefox for that.
> Would you say the Firefox debugger works equally well as the Chrome variant?
Are you talking about the native debugger. Not sure. I only use the Chrome debugger from time to time, but mostly use the Firefox debugger. So it's ok, but since I use it all the time, I know it has its warts...
> (In terms of responsiveness, integration, overal experience).
As said I use it (firefox and vs code) all the time as a JS developer.
> I really fancy the JS debugger of VSCode but I'd hate to drop Firefox for that.
That's the part I really do not understand. I do use Firefox (and its native devtools), and I do use VSCode plus its Firefox extension. So no reason to drop Firefox ;)
I tried VSCode shortly but switched back to Webstorm mostly because I couldn't find comparable refactoring/renaming options in VSCode. Also js debugging options were not as feature rich as in Webstorm.
One nitpick I have is, it's not an editor. It sure does contain an editor, but calling it just editor creates some confusion (as can be seen in the comments here). Editor should be usable to just edit files, which VS Code really isn't (starting an instance and loading the file takes ages).
Just got the prompt to install, so I figured I'd check HN while it was rebooting and this was on the front page. I switched to VS Code from Atom about 2 months ago and I couldn't be happier!
I switched from _years_ on sublime (paid) to vscode in a hot minute for Go development. Awesome jump to declaration and linting. There is one thing it has trouble with and that is auto-complete from within sub-packages. Not sure why yet.
I'm on LiteIDE for Go - have you tried it? If so, do you know how VS Code compares to it?
I have a very multilingual project so i'm resigned to using multiple IDEs anyway (LiteIDE for Go, VS for C#, Qt Creator for C++/Qt, Eclipse PDT for PHP, Notepad++ for bash...)
I've not tried LiteIDE since it first came out. I did not enjoy the experience at the time. The toolchain in VSCode is really nice. You can run tests from your cursor, the file, or the package. There is a built in terminal if you want it. Jump and peek definition for stdlib and imported packages. GoImports works, but so does a cmd+p prompt where you can ">Go: Add Import" and specifically add the import you want so autocomplete just starts working for it. The linting catches me all the time when I type fmt.Println instead of fmt.Printf or have the wrong format types in the string. You have to mouse over something to get its method signature or type, but I've gotten used to it. I even have found myself using its git diff viewer. It also has delve debugger integration, but I've not had the chance to use it yet.
I also use VSCode for bash, python, perl, HTML, markdown, and probably a few others that I'm forgetting. However, I primarily use it for Go.
Nothing beats LiteIDE's integration with the Go toolchain IMHO. However it's not a very good editor in other aspects. Plus it's so ugly it hurts my eyes.
In general a linter is a syntax checker, and usually one that tries to flag code quality issues well as illegal syntax (e.g. "don't declare a function in a loop!").
Why would you rewrite already-working services written in an expressive and battle-tested language to a fad 1970s-style language?
It's like being in the late 90s and replacing your existing infrastructure with Java hype, except with a language somehow worse but justified with Rob Pike's pseudointellectual bullshit.
Haha fair argument. As someone pointed out - it's very easy to incur technical debt in Perl. It's a dynamic language with virtually non-existant dev tools and lacking open source community. I personally can't wait to go back to a static language for our backend. We're looking at NodeJS (of course...), JVM, and Go. Arguably you can fake typing in NodeJS with TypeScript, Flow, etc, but my team isn't too excited about JS for our backend, I personally have an allergic reaction to Java for backend and I really want a static language, so by process of elimination, Go wins.
Fair, and good response. I was kind of just venting about my general dislike for Go there….
I do think Go has a decent niche for backend services similar to Erlang but with a much easier learning curve (and more available talent). Sounds like you're actually using the right tool for the right job.
depending on technical debt in Perl code (which is quite easy to incur) it might make sense if you're still making changes to the project. also single-binary deployment is always nice, though in the world where docker exists not as big of a deal as it used to be a few years ago.
What I find to be hilariously missing is drag & drop for the selected text. I tried switching to VS code a couple of days ago and realized I couldn't do such a basic thing.
That and a decent FTP extension. No one wants to sync their entire project just to upload a single file. ugh.
I don't think I've ever dragged and dropped selected text in my entire life. I didn't even know that was a thing one could do in any editor. Does dragging and dropping move the text, like a cut/paste, or does it copy the text? When would you use that? Is it faster/easier to use the mouse for this than Ctrl-C/Ctrl-V (or y/p in vim)?
Ctrl-DragSelection (Windows) duplicates the dragged text without overwriting the clipboard text, which is sometimes handy. It's Alt-DragSelection on OSX.
Ah, that's a nice thing. Back when I used a mouse most of the time (back when I mostly used a desktop rather than laptop), I really liked middle mouse button paste in X, as merely selecting text wouldn't overwrite the clipboard. I used it all the time and it was probably the biggest single thing I missed when I had to use Windows or Mac. It's super handy, IMHO.
For non-X users who have no idea what I'm talking about: In the traditional mouse button setup for X Window System, you can select text, and then paste it by clicking the middle mouse button.
I don't know if I can train my hands to be able to select/drag with a trackpad quickly...just trying it now seems very clumsy and time-consuming. But, I do often wish for the ability to copy without overwriting the clipboard.
Depends upon the key combination. It's muscle memory since I discovered it, but I believe holding Ctrl will replicate a copy/paste, but otherwise a cut/paste.
You use drag and drop of selections? I don't think I've ever done that on purpose --- every time I've ever dragged selected text has been by accident, followed by much cursing as I try to fix my mangled document.
Likewise. And the support for DnD of text really hinders usability in tools like Google Docs. If you select a wrong piece of text, it would be so much nicer to just start selecting the correct piece instead of first clearing out the selection elsewhere to avoid triggering drag event.
I used that sometimes while holding ctrl/option for copy-pasting text without altering the clipboard, is actually a feature I missed in Atom and VSCode as well.
Gotta say, I'm with the rest here in that I have never done that on purpose. When I'm in the editor, having to switch to the mouse for something as simple and cutting and pasting feels like such a drag. I didn't even know it was a common feature :|
I see lots of the responses are surprised people actually use drag'n drop for text. I just want to chime in that I use it a lot, although I can't really give any concrete scenario when I do it. Sometimes it just makes sense.
I've just got a gulp ftp task for syncing the ftp server I'm sure you can do similar without much trouble to run from vscode. I run that as a post-commit to production.
Never used atom, I use sublime. Also can't find any extension named sshfs. I don't want to install another FTP program and then open it up every time I want to make a change.
There's also CurlFtpFS (or GVFS's FTP support) that mounts regular FTP. There really isn't a good reason a text editor should implement remote file protocols themselves. Let it be handled at a lower-level!
If any of the VS Code developers are reading this, I have a few suggestions:
When I open a single code file with VS Code, I'd like the workspace to automatically get populated with the other files in the same folder, or at least have a simple option to do so. I like that VS Code use the folder structure instead of a special project file like .sln, but this is a small annoyance since I often open single files before deciding that I want to continue to work on the whole project.
Make it easier to run Python code. I don't think there's an easy way to run my script and see the output in a terminal without filling in some json file? Please correct me if I'm wrong.
I'd really like support for Jupyter notebooks. They're already web based, so it makes sense.
For new users or users that only use it rarely it seems a bit opaque with json based settings, and a lot of things hidden behind a command palettes. It's great to be able to do everything with the keyboard, but maybe surface some of the things in a GUI too?
Visual Studio with Python tools are my IDE of choice for Python, so there's every chance the VS Code will become a great Python development tool too.
> Make it easier to run Python code. I don't think there's an easy way to run my script and see the output in a terminal without filling in some json file? Please correct me if I'm wrong.
I've honestly never found a practical use for that. But then, most of my code files are either at most 2-3 pages long, or things like long .json files in which a minimap doesn't really help much.
The Python coding experience in VS Code is very nice. Regarding to debugging Python code, can't say much about it just because I started using it yesterday. Even so, was a pleasant experience too.
Switched to VS code from atom and loving it already. This is what Atom should look like. Atom has become so bloated it's a pain to use now. But there was a previous comment online maybe on HN or Reddit about an issue in the privacy policy or license in VS code. Any idea about that??
While this editor really attracts me, (it has that Emacs-y vibe, where it integrates many external tools in nice cohesive interface) I still cannot overcome that it is still basically an electron app. Atom is just a no go, despite all the candy looks and nice little plugins, I cannot justify energy and memory usage. I heard VSCode is totally different story, but I have yet to find js developed desktop app that doesn't make me cringe! Previously I bothered, and tried many of them. Now I just don't even try, just skip. And VSCode looks sweet, really sweet! And I would like to try it if, but the way and nature of application is pushing me away. Maybe if some of you folks convince me I'm wrong I'll give it a shot. :)
I despise Electron and the culture it encourages of huge, slow applications.
I do have to say, that VS Code is entirely different, and the first time I played with it, I didn't realise it was using Electron.
It is really solidly engineered, with an insane amount of time and effort by great people working on the best of features for what an IDE needs, rather than the next shiny feature. (Scrolling, Time Travel Debugging, functional end points within to better allow for Vim and Emacs style integrations).
My upshot? Give it a chance.
This isn't something insane created by someone convinced Electron solves all their problems for them.
Its experts in TypeScript using what they know, inside and out, to make something deserving of the expert's attention.
The installer is 30ish MB, unliked the 200ish I've seen from a ton of Electron applications. gVim takes up the same amount of space on my system.
> I do have to say, that VS Code is entirely different, and the first time I played with it, I didn't realise it was using Electron.
This. I didn't like Atom's performance on my MacBook Air, but Code was running beautifully. "Finally," I thought, "a native code text editor that has all the features I want instead of some bloated Electron crap."
Oh. Oh you sweet summer child.
And the best part is it doesn't matter that I was wrong; I got what I wanted: a nice, free, performant text editor with Git integration.
This was kind of post that I was hoping for! I will install it and configure it this noon, just to finish with studies. Thank you for taking your time!
Edit: Oh my god. Just installed it! This thing flies! It is first electron app that is light and fast! Mark me impressed! Good job Microsoft!
This might sound like a weird question, but after a lot of search I found no keyboard shortcut to toggle between the editor and integrated terminal.
It sound like a I'm picky but it's a bit of a timewaster to have to pick up the mouse just to switch from editor to the integrated terminal.
A most I could use an external terminal window but that kinda defeats the purpose of having an integrated one I think.
Is there such a key binding?
Other commenters aren't answering this. ctrl+` hides or opens the terminal. If you want to leave it open there's no command to toggle only your cursor focus from editor to terminal.
edit: I take it back, It's just not bound.{"key": "ctrl+#", "command": "workbench.action.terminal.focus"}
But you can't move the focus back with that toggle.
Yes, thanks very much! I actually had those too, as a backup but I think different combinations for opening and closing (or in this case toggling into terminal, and back into the editor) are more cumbersome than simply opening/closing.
What you're really looking for is exactly 1 shortcut: cmd+shift-p (or ctrl-shift-p, depending on the platform) for the command palette, where you can fuzzy search for every available command.
If a command has a keyboard shortcut (toggle terminal has one), it's in that list. It even shows your custom shortcuts.
Are there any VS Code users around who used to use either Emacs or Vim who might share a few things they feel VS Code does better? I'm curious about these modern editors and sometimes wonder what they have to offer besides possibly being easier to learn (an advantage I'm not interested in).
Vi/Vim user since 1992. Flirted with emacs every so often. I haven't used Vim in 9 months since installing VS Code. Here's why:
1. IntelliSense support is the best outside of Visual Studio itself.
2. Integrated debugging (currently use C#/mono and Python debuggers a lot)
3. Great git integration. Best "GUI" client around. (advanced git features are not provided, but everyday stuff is really well done)
4. Visually appealing. Not saddled with a terminal heritage.
Just to name a few. Yes, Vim and Emacs have all of these, to some degree. But VS Code does them all better (IMO).
It's fun to use. There's a lot to discover, but there's enough there to be productive right from the start.
Thanks! It seems that most of those advantages are not directly about text editing but more about being a better IDE. I guess that for someone like me, that uses Emacs mostly for writing prose and for file management, and only occasionally for programming, the things you mention don't sound as attractive (and when coding I never use a debugger, which is probably a mistake on my part).
Yes, I have used magit while trying to find some love for emacs. It's fine. But I still prefer VS Code's git integration. It's the simplest client I've seen. I don't mind using the command line for git, but if I'm in the editor, I can do anything I need to do for my daily workflow with keyboard commands or point and click, whichever mood I'm in.
And as far as text editing, there is a lot that VS Code provides for getting around and moving around text and windows and files. Multiple cursors and syntax-aware selections provide me what I loved about Vim (macros and text objects). And now I don't drive myself nuts hitting the escape key in every other application where I type some text.
It's the only GUI editor that's ever "stuck" for me, having bought Textmate, tried Sublime, etc. Always go back to CLI Vim. I'm coming from the perspective of someone that hates IDEs, and only wants a bit more than what Vim provides in terms of battery inclusion. I think VSC's level of Git integration, for example, is perfect for me. Handle the common stuff, drop to the CLI for the rest. Extensions, especially relative to Sublime, also perfect for me.
The rate of improvement, while obviously a draw, only manages to give me fear that it's going to turn into IDEA or whatever, nested menus upon menus of corner-case features that I will never, ever use. My brand of minimalism actually makes me wish they would slow down :P
There's no support yet for non-git version control systems, right? I gather they want to add support for this via extensions, but the underlying APIs aren't there yet.
Does anyone know if there's an ETA for this? (I'm a Mercurial shop.)
I don't have any scaling issues on my Win10 4k 175% scaling setup. But unfortunately text rendering is still blurry compared to native editors due to the underlying Electron/Chromium renderer. Hope this will get resolved soon :'(
I guess that's what they meant. While the scaled-up result has the correct size and avoids other artifacts of broken high-dpi rendering, it's, well, blurry.
However, I suspect that this is more a Chromium/Electron issue than one for VS Code and other applications built like that. Heck, not even Chrome scales properly on high-dpi displays, which is pretty poor in my eyes.
Hmm, Chrome looks perfectly fine on my high-DPI display (4k 150%), but both Atom and VSCode have major issues. Possibly an Electron issue I suppose, but I can't say for certain. Pretty ridiculous that almost every other app I run scales perfectly now, but text editors don't. Of course, Emacs, Notepad++ and Sublime all work perfectly so it doesn't impede me much.
It works okay on my X1 Carbon, but it's still not perfect because the interface font size cannot be changed. That means you have tweak your editor font size and zoom factor to get a good result.
Can I use VS Code to work with remote files? I almost always work with remote files for development at my day job and would like to switch to VSCode for its better JS support. Right now I am using SublimeText3 with the rsub plugin to edit remote files.
What workflow do you guys use when working with remote files?
We use Unison[1] to keep a local copy in sync with remote, then just pop open the local copy in any editor.
It sits and watches both the local and remote filesystem for updates, it's fast and efficient, even in large projects. Downside is that it needs to be installed on both ends for the filesystem watching to work.
I stopped doing that in the nineties. Are you working life on production systems, do you need some really special dev environment, or why wouldn't you work locally or at least in a local VM?
That's a good question. I usually use remote drives."sshfs" is usualy the easiest option to setup on a linux box. And when well configure the speed is great
I'd like to switch from Atom but a few little niggles make me keep going back. I like how Ctrl+K has the emacs-style behavior in Atom, and there's an annoying bug in VSCod's tex mode which stops commenting and uncommenting of lines from working.
But not key/mouse combinations, unfortunately. I'd like to remap the insert-additional-cursor action to cmd-click on a Mac instead of alt-click (I think it's cmd-click in both Sublime and Atom, but not VSCode), but they left click events out of the keyboard remapping (at least so far).
Thanks, that is what i was looking for. Feel a bit silly for not noticing it, but it seems like an unusual behavior to associate with the 'cut' shortcut.
You can set the http.proxy option in your settings.json. I have to use just "http.proxyStrictSSL": false because we MITM traffic and the bundled node doesn't check the windows cert store.
Now MS just have to seamless integrate their Ubuntu Bash filesystem with the Windows filesystem so I can create files in VSCode and access then in the ubuntu shell. They will build the best dev environment.
What are you missing specifically there? The windows filesystem is already mounted in bash for windows, so you can access files created from Code there.
However I didn't found that of too much use since I can't run windows executables from there and so WSL is pretty isolated. Instead I still use msys/cygwin for the shell which has it's quirks (file path magic) but works. In combination with docker for windows and volume mounts there I can even cross compile Linux executables on the windows shell, which is pretty cool.
I want the appearance of the bracket matching to be specifiable as a preference, so I can make it as visible as I want to make it and not have to just live with what someone decides is best for me and hardcodes.
for js editing vs code is great and even for small java projects you can use vs code. a better maven integration in the redhat java extension would be great, though
The best thing about VS Code (and Microsoft's other big open source project, TypeScript) is the steady stream of releases. Because of the regular release cadence, small but important improvements never get blocked by some big feature that took longer than anticipated. As much as I wouldn't have believed this 10 years ago, Microsoft does open source better than almost everyone.
VS Code: developed on GitHub, written in TypeScript, great extension API, clear roadmap and regular releases. I am a very happy user.