Visual Studio Code 1.6
code.visualstudio.com
code.visualstudio.com
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.
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.
(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.
Are you kidding that is an awesome skill to have. Everyone "should" learn assembly and write a small program once.
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.
If you have any other problems, please let me know. :)
(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.)
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.
Let me know what you think if you do try to use it.
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 :)
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.
A Vim with intellisense that I can step through with the debugger. I've been waiting 15 years for this.
Update: no, I can't reopen it, so I'll open a new bug.
I've spoken with a few of the devs in our team having trouble with VS 2015 update 3 crashing. They'd love to switch to VSCode but ask:
1. When is there going to be decent C#/razor-intellisense, a razor generator ?
2. Will there be TFS integration (not git)?
: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}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."
Me: "... okay yeah this just works now. Awesome."
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.
[1]: https://code.visualstudio.com/updates/v1_5#_extension-author...
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.
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.
That doesn't invalidate their contributions.
If interested, this is the list of extensions that I use for JS development:
- Eclipse theme (a theme with a decent color scheme for ES6+, JSX and Flow types) - https://marketplace.visualstudio.com/items?itemName=tdtp23.e...
- Nomo Dark Icon Theme (icons) - https://marketplace.visualstudio.com/items?itemName=be5invis...
- Path Intellisense (local imports autocomplete) - https://marketplace.visualstudio.com/items?itemName=christia...
- Npm Intellisense (3rd libs imports autocomplete) - https://marketplace.visualstudio.com/items?itemName=christia...
- Typings autoinstaller (3rd libs types) - https://marketplace.visualstudio.com/items?itemName=jvitor83...
- Auto Close Tag (close JSX tags, not perfect but better than nothing) - https://marketplace.visualstudio.com/items?itemName=formulah...
- Flow for VSCode (to support Flow types) - https://marketplace.visualstudio.com/items?itemName=flowtype...
- ES6 snippets - https://marketplace.visualstudio.com/items?itemName=xabikos....
- React snippets - https://marketplace.visualstudio.com/items?itemName=xabikos....
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
Edit: I'm on HN because Visual Studio is updating for the next hour probably :) https://gyazo.com/5ec738470b265531975f2aea0834d72f
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 :)
Please keep up the good work, it is very much appreciated.
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.
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:
Chromebooks on the other hand, sound like a great idea.
Extensions working well too, at least as many as I have tried.
AppVeyor has really good Windows images : https://www.appveyor.com/
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.
and for multi cursor https://code.visualstudio.com/docs/editor/editingevolved#_mu...
Sean - a member of the @code team.
Edit: Apparently this is called the "minimap" and is a popular feature request, so guess that answers that.
Here's the relevant page on project.json: https://docs.microsoft.com/en-us/dotnet/articles/core/tools/...
Edit: I need to be better about deep reading through links. https://blogs.msdn.microsoft.com/dotnet/2016/05/23/changes-t... looks like project.json will be mothballed. Kind of.
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 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.
Microsoft pls
[1]https://code.visualstudio.com/blogs/2016/08/19/goodbyeuservo...
Anyone have an opinion on how this editor compares to webstorm?
Suppose I'll have to just give it a try to find out.
Here's the chrome debugger:
https://marketplace.visualstudio.com/items?itemName=msjsdiag...
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!:
https://marketplace.visualstudio.com/items?itemName=vsmobile...
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).
[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?
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...
Anyway, there are completely rebuilding it using react.js at the moment: https://hacks.mozilla.org/2016/09/introducing-debugger-html/
> (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 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 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.
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.
Available since Fortran and not a Go only feature.
(I'm sure you're aware of this, I just didn't want to leave the impression there's _no_ community.)
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.
That and a decent FTP extension. No one wants to sync their entire project just to upload a single file. ugh.
I'd turn it off system-wide if I could!
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.
* The Flow support (via an extension) is pretty far behind the TypeScript support, which is understandable but not ideal.
* It doesn't yet have the critical mass of mindshare for it to be primary target for extension authors, i'm hoping that changes.
* The lack of ability to customise/theme the UI means I can't do anything about the fact that my syntax theme looks totally out of place in the UI.
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.
There are multiple extensions that run code without any setup for almost any language. I use https://marketplace.visualstudio.com/items?itemName=formulah...
Jupyter support has been added in version 4.0: https://github.com/DonJayamanne/pythonVSCode/releases
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.
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. 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.
If a command has a keyboard shortcut (toggle terminal has one), it's in that list. It even shows your custom shortcuts.
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.
https://code.visualstudio.com/docs/editor/integrated-termina...
To "get out" of the terminal, cmd+1 sets focus on the editor again (to be precise: focus on the first editor group if there is a split view).
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.
About git: have you tried magit for Emacs?
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
Does anyone know if there's an ETA for this? (I'm a Mercurial shop.)
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.
What workflow do you guys use when working with remote files?
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.
Something similar to Structure view in Webstorm or Function List in Notepad++?
I learned that Ctrl-Shift-O will show functions but it is a not a permanent view.
Maybe I will port my Atom plugin ( https://atom.io/packages/atom-lupa ) to VSCode or maybe I'll write from scratch whole thing.
I don't know when exactly though (now I'm making something bigger than that and it takes time).
(i) make Ctrl+K put the deleted line into the paste buffer.
(ii) allow repeated applications of Ctrl+K to delete multiple lines.
Still slow as hell.
Not sure if it can open large log files (Atom crashed whenever you try to open pretty small log file, like 60mb or something)
etc.
I don't get why whould anyone prefer this to Sublime, to be honest.
UPDATE: Turns out I have to include my username and password in the URL. I don't install extensions often so I will do this temporary when I do.
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'm using Atom as it has some nice plugins. But I tend to preview my markdown in Marked 2 anyway.