20 ms·
VS Code Roadmap 2018
- dmitriid 9y agoMy sole wish for VS Code is multiline errors and warnings, as more languages adopt properly formatted errors (like Elm and Reason)
- veidr 9y agoIf that is really your sole wish, you should really file an issue[1] if you haven't already. Then for bonus points, come back here and post link to it. I would support it; my team wants that, too. [1]: https://github.com/Microsoft/vscode/issues https://github.com/Microsoft/vscode/issues EDIT: there is one: https://github.com/Microsoft/vscode/issues/1927 https://github.com/Microsoft/vscode/issues/1927
- dmitriid 9y agoYup, that’s the issue :) I even asked if it could be bumped up in priority. Unfortunately, not yet :(
- pbiggar 9y agoIn Elm mode, when you're on an error, you can get the whole error to pop up.
- veidr 9y agoVS Code is such an excellent open-source project, and also such a great tool despite the obvious and much-bemoaned inherent disadvantages (aka "tradeoffs") that come with being an Electron-based app that it, along with its cousin TypeScript, fundamentally changed my perception of Microsoft. I'm not monogamous with my code editors and typically have a few of them open. These days, I notice VSCode is very likely to be one of them. This roadmap document seems eminently reasonable, and pretty representative of how well-run the VS Code project tends to be.
- crispinb 9y ago> VS Code .. fundamentally changed my perception of Microsoft. It certainly changed my perception of electron. I don't use it daily because my editing requirements are already well met, but it really is a lovely piece of work.
- manyxcxi 9y ago> I’m not monogamous with my code editors I’ve always wondered why some people seem so married to a single editor. Based on the file type or context I might bounce between a number of them. I used to use Sublime Text a lot, but that’s been completely replaced for me by VSCode. I use IntelliJ IDEA predominantly for Java, Groovy, Python, Kotlin, PHP. I’m not a fan of its type hinting for JS or suggestions for HTML/SASS/CSS so I use VSCode for all my ‘web’ work. I’ve also found VSCode to be faster/nicer than IDEA for random things like JSON, SQL, Dockerfiles, Vagrantfiles, Bash scripts. IDEA generally supports these well enough, but is too noisy (constant bugging about connecting to a data source when opening a SQL file, etc.) or is just lacking a little something compared to VSCode.
- dotancohen 9y ago> I’ve always wondered why some people seem so married to a single editor. Familiarity, such as keyboard shortcuts. Especially for VI(M) or Emacs users, using anything else is an absolute nightmare. If you haven't been spoiled by VIM, then there really isn't much difference between "all those other editors". :wq
- ssijak 9y agoAs much as I wanted to like and use VS Code, Electron base still ruined it for me. If it was some other app where I do not expect instant snappiness and lower memory usage, for example, Slack (also Electron app), I would swallow it, but for an editor, I can`t.
- veidr 9y agoI upvoted you to try to offset the misguided downvotes. That is indeed the worst thing about VS Code. I have my computer configured so that most file types open in Sublime Text for that reason. For projects with a lot of TypeScript I'll open a project folder in VSCode, and then just leave it open indefinitely. Because that part is annoyingly slow, as you say. I find it less annoying than Slack, though — seems to me that once VSCode is open and focused on what you want, it is a lot faster than Slack at all the basic operations (switching files/channels, searching, etc). Slack feels more like most other Electron apps I have tried — slow enough at just about every little thing to be constantly annoying.
- davedx 9y agoWhy do people use desktop Slack? I always run it my browser, I just don't see the value proposition of a native application?
- smcl 9y agoFor me it's just saving me from minor inconveniences. Things like having an app I can easily switch to instead of flicking through many browser windows/tabs to dig it out.
- mrweasel 9y agoDon't it get lost or closed by mistake all the time? To me much of the value of a separate app is being able to cmd+tab between application and I frequently just close my browser be get remove all windows and tabs. I like the compartmentalisation of separate apps, but I doesn't really care if it's written as an Electron app, as long as reacts fast enough.
- drej 9y agoI wonder what the "issue dynamic" will be in the coming months/quarters. There are currently 5000+ open issues, 3000 of them feature requests. I hope the roadmap doesn't present any new features, but it's solely working on squashing all these to bring the issue number down. Looking at the Insights page for the last month (1600 closed issues, 630 new issue), I'm remaining hopeful, but only time will tell. I originally wanted to write that VS Code needs a "Snow Leopard" iteration, but it seems that it's already underway. Good luck to everyone on the VS Code team.
- pbiggar 9y agoI tried VS Code for a few weeks and really liked it. In particular, it's super super fast (compared to vim, spacemacs, emacs and atom, all of which I've used in recent history). It's by far the fastest and smoothest text editor I've used and I was sad to leave it. I left it because the Vim mode is completely unusable. None of the commands work like you expect them to, undo was broken and I'd periodically lose my undo history. Everything was just a little bit wrong. Which is a shame because it's otherwise a really fantastic editor.
- slimsag 9y agoYou found it to be fast in comparison to vim and emacs? I am surprised to hear someone say this. I also think it is plenty fast for my needs, but certainly not faster than vim or emacs. Did you mean fast in terms of performance, or in terms of your ability to edit, or something else? And you weren't using a GUI version of vim/emacs, right?
- nerdponx 9y agoVim can be really slow with too many plugins running.
- ssijak 9y agoThere is parallelism in new vim now
- antod 9y agoI've also noticed that it's slow on Macs for some reason too. The same set of plugins don't seem to cause a slowdown on Linux.
- baldfat 9y agoThank you! I have a HUGE bias against Apple in general but when I am using a Mac I have always find it laggy compared to my Linux and even Windows terminals.
- 9y ago
- moomin 9y agoI’d love to see more IDEs try to address the issue of Spellcheck in code editors. Currently, you can do it by writing your own spell checker and embedding it in your language server, but this is a recipe for repeated work and inconsistent user interfaces.
- calcifer 9y agoFWIW, Intellij IDEs have a builtin spell checker.
- kasparsklavins 9y agoAnd I always turn if off because it is unusable. For text it's okay but for code it's rules doesnt make any sense - concatenated words are marked as errors which is real annoying.
- tstieff 9y agoIt tends to work best with Java conventions, so camelCase spellings are interpreted correctly, but other conventions - not so much.
- moomin 9y agoAnd this is kind of my point: your spellchecker needs to interact with your language server.
- FRex 9y agoI believe NetBeans only spell checks comments and other 'real' language text (git commit messages?), not code itself. I'd imagine other IDEs to do the same. It's really silly if some IDE spell checks code and marks camelCase as errors.
- cname 9y agoI just tested some things in PyCharm. It has no problem with word_word or wordWord as variable names. It's even smart enough to flag just the non-word in word_ajsjasjasa. It will also put a squiggly under camelCaseWords in Python code by default, but that's because of PEP8 style rules, not spelling.
- gadders 9y agoThis release cadence from MS is completely killing some internal packaging operations at big corps I've worked at. (For those who don't know, applications are typically QA-ed and packaged so they can be automatically requested and deployed via MS SMS or whatever the latest version is. No downloading .exe) Typically this packaging process takes longer than it does MS to release a new version. They're in a constant state of catch-up, and it's frustrating for developers that want the latest and greatest version.
- dingo_bat 9y agoThis speaks more about enterprise "packaging process". Why can't they let the devs manage their own machines? This is one big reason devs love Macbooks, because OSX just doesn't allow the employer to fuck around with the machine a lot.
- gadders 9y agoOh yes, I don't disagree. I think it would be good if they could at least do a "light QA" for trusted corporations - MS, Google etc. And no devs at the corps I've worked at (big banks) have Macbooks for coding. If they do, it will just be connecting to a VM somewhere.
- sjellis 9y ago"Why can't they let the devs manage their own machines?" Part of the problem is that then the devs aren't actually managing the systems, they are blindly trusting the vendors. To a large extent, (re)packaging is make-work that should not need to happen, but it does provide a kind of safety fuse. In the event that a vendor breaks something or worse, unilaterally decides to change the product, organizations needs to be able to put a stop on new versions. The change of icons on VS Code was a trivial misstep, but it demonstrates that the VS Code team has the power to push changes that that users do not actually want on to large numbers of systems. It is the same dynamic as the snap/flatpak vs. Linux distribution packaging debate. Most of the time, the developer can deliver their software faster, more reliably, and with better QA, if they are given a direct pipeline to user desktops. Sometimes, though, they will screw up, or they will make a decision that works for them, but not their users.
- carlsborg 9y agoThis is a great python IDE for Linux.
- baldfat 9y agoI wouldn't say its an IDE it just a really powerful editor and the RUN plugin is awesome.
- reificator 9y agoYou've got an editor, a task runner to handle builds, a debugger, code completion, what else do you need to call it an IDE?
- sambeau 9y agoMy main wish for VS Code is 'proper' multiple cursors (where by 'proper' I mean 'works the way I expect' which is the Sublime Text way). I fully understand that if you come from a world of 2D blocks (or regions) where you can select rectangles then VS Code's way of doing things makes sense but I am so used to having multiple identical cursors and being able to swipe vertical lines through tables of text or more often down the ragged right hand side that I find VS Code frustrating for hard-core text editing. I seem to start every new project using it and I love its language-specific coding tools (and how it handles extensions) but as soon as I need to do a large edit on a nasty piece of text I find myself switching back to Sublime. (I will of course give it another go as soon as I start another new project)
- chrismbarr 9y agoI haven't used Sublime in years now, but that was one huge feature I think about and miss often when in VSCode. I'm glad VSCode does have the current implementation of multiple cursors, and the way Sublime did it differently is subtle, but man it makes a huge difference!
- Already__Taken 9y agoshift+alt click seems to behave just like sublime does, I left sublime a long time ago, I'm not sure what you're trying to describe there? Do you mean because it selects the rectangle? Just hit an arrow key.
- jameshart 9y agoRight- or ‘end’ to get cursors onto the end of every line
- sambeau 9y agoLast I tried you couldn't scrape down the right side of the ragged edge. I'll try it out again as maybe it's fixed. I also found the 'extra' cursors too faint previously. Hopefully that's been improved too. I'll give it a go as there's so much to like about it.
- sam_goody 9y agoI really want to try VSCode, but it sends data to Microsoft even with Telemetry et al off [1]. Which is not surprising considering that Windows itself does the same thing [2] (hence, my not using Windows). Even if they allowed us to opt-out of telemetry now, I wouldn't trust them not to silently opt us back in later. This is not something I can accept my editor doing, and would expect a little less apathy about it from the HN crowd. Does anyone know more about the MS spyware and how much I need to worry about it? [1] https://github.com/Microsoft/vscode/issues/16131 https://github.com/Microsoft/vscode/issues/16131 [2] https://arstechnica.com/information-technology/2015/08/even-when-told-not-to-windows-10-just-cant-stop-talking-to-microsoft/ https://arstechnica.com/information-technology/2015/08/even-...
- nolok 9y agoActually, the issue link you give actually states that it doesn't if you don't want it to. It used, at time of issue creation, that one telemetry call was still sent, to tell that you disabled telemetry. They have since removed that call too, and the only ones left are those to the update server at startup to know if a new version is available (and one to extension market to know if extension updates exists). It can be user disabled, by disabling auto update. I hate how Windows 10 telemetry is forced down your throat, but for vs code there is no such issue
- hudo 9y agoMost people really don't care if MS knows you opened Code, used it with JS and Python projects, and installed 3 extensions. And yeah, it makes Code much better when MS knows how you're using it, btw
- jasonkostempski 9y agoMost people don't care that obtaining "real" diamonds gets people killed, doesn't make it OK.
- mikewhy 9y agoYep software analytics and blood diamonds are pretty equivalent.
- mrweasel 9y agoHas configuration become any better? I tried using VS Code for both Go and Python and all the magical stuff you needed to add to JSON files in weird places became a show stopper. I simply cannot figure out how it ties together and or figure out what my configuration options are.
- baldfat 9y agoYou edit one personal settings JSON file for all of your options. You don't have more than one file and it over rides the options so the only things in your JSON file are your options and I comment a ton about what and why they are there. I prefer this over any gui system. I can copy and paste this and have the same options across all my machines.
- djur 9y agoI also found configuration to be obnoxious when I first tried VS Code. It's better now. It's still a JSON file, but the UI for editing it has improved a lot over the past year or so. You can search/filter the default configuration to see what options are available, and then you can just click each option to override it in your user or workspace config.
- nojvek 9y agoTheir roadmap says they are working on settings ui improvements. I look forward to that.
- SippinLean 9y agoI don't remember that ever being the case. The settings are in settings.json, that's "how it ties together." It opens alongside the default settings file, that's a searchable list of "what my configuration options are." Clicking the name of the property in the default settings file copies it to your personal file with the value you select. It's even easier than Sublime to configure.
- SiVal 9y agoI'd love to have an editor scripting language in VS Code that would be a lighter-weight way to create an editing macro than building an extension. Despite the annoying scripting languages, both vim and emacs get a lot of their power and popularity by enabling users to easily add little, custom editing features that they can then bind to keystrokes. Not a macro recorder, but a real scripting language in which cursors, multiple selections, find results, regexes, files, folders, editor panels, the built-in terminal, menu items, semantics provided by an extension (ex: "PythonFunctionName"), external processes, git merge conflict lines, etc., were first-class objects. Now there's a stretch goal....
- deleted 9y ago[deleted]
- vanderZwan 9y agoGiven that it's an Electron app, wouldn't it suffice to use plain JavaScript (or TypeScript, given that part of the editor's raison d'être), and add a few extra "built-in" modules specific to the VS Code environment?
- SiVal 9y agoYes, I think that would be just fine as long as the modules encapsulated the "native" functionality of the editor. As long as developers could easily orchestrate and build on top of existing editor (& built-in git, terminal, extension, etc.) functionality without having to reimplement it from basic JS string processing, JS (incl. but not requiring TS) would seem the logical choice.
- omaranto 9y agoThe scripting language would most likely be JavaScript, of course. I don't use VS Code and I'm surprised there isn't already a lightweight way to run some JavaScript code to script the editor. Are you saying you need to bundle up any code you write in a proper extension before you are allowed to run it? Sounds bureaucratic to me, VS Code should learn from Emacs.
- rkachowski 9y agoI really like how relaxed and informal this way of presenting a roadmap is (especially coming from a corporation like Microsoft). Also, the fact that they've identified and focused on keeping startup time low and performance high is a core point for the value of a code editor really gives me hope for VSCode. Especially that they seem to realise responsiveness and low resource usage is more valuable than blindly adding new features and extensions.
- giancarlostoro 9y agoI stopped thinking of VS Code as an "editor" and more as a lightweight IDE and my perceptions about it changed a lot. It's still way faster / smoother than working with Atom though, and I used Atom since it came out, but it's too sluggish feeling. Also search in VS Code is powered by ripgrep which is coded in Rust, and it is blazing fast.
- marijn 9y agoDoes anyone know what the "Investigate into a native model layer" point might be about? It sounds very relevant to my interests, but though it is apparently ongoing, I wasn't able to find any issues or other pages referencing those terms.
- placebo 9y agoA free, powerful, open sourced editor and IDE constantly improving and growing - what's not to like? - I get that some don't like the electron-based thing/performance but it never bothered me (and I bought and use both Sublime 2 & 3) - guess it requires a degree of sensitivity that I'm not bothered with - sort of like people who claim they can't hear mp3 because they can only enjoy CD quality audio (not saying it's not true for them, just that luckily I enjoy both the same). The question I'm wondering about is what is Microsoft's end game with this? I'm comparing this to the history of Google Chrome that, when released, was similar in the sense that it was better than the alternatives: wickedly fast, open sourced, with no apparent strings attached. The business benefits to Google and market control from owning Chrome are obvious today and I'm trying to understand the long term view in VSCode - i.e how to you eventually create business value from a free editor? Premium features? Better integration with Microsoft's services? I wonder if there's a deeper vision - I mean, as opposed to Chrome, VSCode does not know much about me personally, does not provide much data to further leverage Microsoft's services, and targets a much narrower audience to begin with. So, what's the business model behind it's development. I'm too much of a skeptic to believe it's just so developers have a warm fuzzy feeling associated with Microsoft...
- D_Guidi 9y agoMS biz is azure-based, so I think the worse can happen is to ship vscode with integrated azure tools...
- sz4kerto 9y ago> I'm too much of a skeptic to believe it's just so developers have a warm fuzzy feeling associated with Microsoft... Given that the development is very-very cheap for Microsoft, even this single thing could make worthwhile for MS to continue the project. VS code appears on HN regularly, it connects to a demographic that's very different from MS's core dev audience.
- Vinnl 9y ago> some don't like the electron-based thing/performance It's mostly not liking Electron-based, performance is very reasonable for VSCode, I think. As for the end-game: it's most likely luring you into Azure. Tight integration with a proper editor/IDE might give it an edge over competitors.
- Vinnl 9y agoIt's (unfortunately but understandably) marked as a stretch goal, but semantic colouring sounds really nice. I first came across the idea in this post about KDevelop: https://zwabel.wordpress.com/2009/01/08/c-ide-evolution-from-syntax-highlighting-to-semantic-highlighting/ https://zwabel.wordpress.com/2009/01/08/c-ide-evolution-from...
- deburo 9y agoWhat's the main idea behind this? EDIT: oh, instead of defining a color scheme with regexes (which kinda sucks), you would define colors based on the semantics given by the language service. That would be extremely nice indeed.
- Vinnl 9y agoThe most compelling feature to me is that it can give different variables a different colour.
- ng-user 9y agoI really want support for multiple monitors!
- nickpeterson 9y agoCheck out the Ionide plugin for Fsharp on VSCode, it's really good and improves at a breakneck pace.
- milin 9y agoVery interested in the language server protocol aspect of this.
- type0 9y agoThere's Sourcegraph editor based on it, although it's still in beta https://about.sourcegraph.com/products/editor/ https://about.sourcegraph.com/products/editor/
- jclay 9y agoIs anyone aware of an article detailing how the VS Code team was able to realize so much performance out of Electron? VS Code is one of the most native-feeling, lightweight Electron products I've used (as compared to say, Slack) and I wonder how they got there.
- nojvek 9y agoLike any webapp they analyzed their paint times and made great performance improvements. From the data structures of how they store lines and tokens of currently edited files, scrolling, refreshing changes on the screen etc they analyze perf, see what can be optimized and make it happen. Very few teams put perf above features at MS. Vscode is exceptional in that sense. Also vscode uses processes quite a bit. The main app lives on one process, the language servers are all different processes, extensions are different processes etc. all communicating over jsonrpc This means the main editor cannot get clogged by an extension hanging up or crashing.
- kylestlb 9y agoI use VS Code and enjoy it very much. However, for some reason the git diff visualizer doesn't really work anymore - I have to re-open the IDE to get it to show new changes to saved files. Anyone else have this issue?
- santaclaus 9y ago> for some reason the git diff visualizer doesn't really work anymore Yep, exact same issue with recent releases VS Code releases on RHEL. Every few days VS Code starts diffing against an old version of the code and I have to completely exit and restart.
- wyldfire 9y agoI tried VS Code for a while and the vim integration is really good. Unfortunately it's just not-quite-there IMO. I have a few muscle-memory things like ":tabe foo<tab>" that breaks when I try the tab completion (and IIRC it does something irritating like moving focus).
- chillee 9y agoThe problem with `cmdline` modes is definitely that tab completion doesn't work imo. Unluckily, that's blocked on the VSCode side, although it is possible to move our cmdline down to the status bar (probably would have been the better choice to begin with, really). For example, with the neovim rewrite it's possible to expose not only tab completion, but also the wildmenu: https://imgur.com/DO6IXYb https://imgur.com/DO6IXYb If we wanted to keep it in the input box that pops up, we would need something along these lines: https://github.com/Microsoft/vscode/pull/36690 https://github.com/Microsoft/vscode/pull/36690 (it is my PR, for disclosure).
- fulldecent 9y agoStill no first-class SFTP support. Doesn't look like I'll try VS Code until at least 2019.
- clintonwoo 9y agoI like VS Code. Been using it for a few months now. Would be nice if it started up faster though. Sometimes I still use sublime just to quickly open a single file.
- MatthewWilkes 9y agoVery sad to see that printing isn't on the roadmap for next year. If others want this feature, it's tracked in https://github.com/Microsoft/vscode/issues/5953 https://github.com/Microsoft/vscode/issues/5953
- segmondy 9y agoI have 22 years of daily vi experience. VS Code is the only visual editor that I can stomach outside of vim. I have tried sublime, eclipse and hated them. Tried emacs many occasions, but just couldn't be bothered to learn all those shortcuts.
- c-smile 9y agoJust in case (Sciter's author is here): This is prototype I've made to give an idea of how the same thing could be done in Sciter: https://sciter.com/htmlcss-desktop-ui-solutions-distribution-sizes/ https://sciter.com/htmlcss-desktop-ui-solutions-distribution... In general it is expected that such thing can be done in 5% of VS Code distribution size. Sciter draws things faster than Electron as e.g. on Windows it uses DirectX directly. Electron uses Skia that is mostly CPU based rasterizer. Yet to make syntax highlighting I've introduced "marked runs" - https://sciter.com/tokenizer-mark-syntax-colorizer/ https://sciter.com/tokenizer-mark-syntax-colorizer/ That allows to do syntax highlighting without change of DOM. In VS Code, in order to make things at least somehow moving, they were forced to implement sliding window editing - DOM represents not full text but only viewable portion. That creates a lot of problems and significant portion of Code is the fight with limitations of browser's DOM.
- susankim 9y agoThe regular Visual Studio uses about the same amount of memory as VSCode while being an order of magnitude more complex and feature-rich.
- JuanaMango 9y agoVscode + Typescript magic
- borplk 9y agoMy number one feature request for VS Code is the ability to detach multiple windows and move them around on multiple monitors. For example I want the project sidebar thing to sit on a separate monitor. Would be really nice.
- ausjke 9y agoFor javascript, typescript etc VS code is excellent. For simple hacking I still use vim a lot, and for medium side projects I just open geany which is light and fast and does the job fairly well. At the moment for web related work I use vscode, otherwise I still keep coming back to vim and geany, which are light-weight, quick and get the job done. Geany is truly excellent, I hope it can keep evolving as it has been for many years.