Visual Studio Code

Overview

Visual Studio Code - Open Source ("Code - OSS")

Feature Requests Bugs Gitter

The Repository

This repository ("Code - OSS") is where we (Microsoft) develop the Visual Studio Code product together with the community. Not only do we work on code and issues here, we also publish our roadmap, monthly iteration plans, and our endgame plans. This source code is available to everyone under the standard MIT license.

Visual Studio Code

VS Code in action

Visual Studio Code is a distribution of the Code - OSS repository with Microsoft specific customizations released under a traditional Microsoft product license.

Visual Studio Code combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. It provides comprehensive code editing, navigation, and understanding support along with lightweight debugging, a rich extensibility model, and lightweight integration with existing tools.

Visual Studio Code is updated monthly with new features and bug fixes. You can download it for Windows, macOS, and Linux on Visual Studio Code's website. To get the latest releases every day, install the Insiders build.

Contributing

There are many ways in which you can participate in the project, for example:

If you are interested in fixing issues and contributing directly to the code base, please see the document How to Contribute, which covers the following:

Feedback

See our wiki for a description of each of these channels and information on some other available community-driven channels.

Related Projects

Many of the core components and extensions to VS Code live in their own repositories on GitHub. For example, the node debug adapter and the mono debug adapter have their own repositories. For a complete list, please visit the Related Projects page on our wiki.

Bundled Extensions

VS Code includes a set of built-in extensions located in the extensions folder, including grammars and snippets for many languages. Extensions that provide rich language support (code completion, Go to Definition) for a language have the suffix language-features. For example, the json extension provides coloring for JSON and the json-language-features provides rich language support for JSON.

Development Container

This repository includes a Visual Studio Code Remote - Containers / Codespaces development container.

  • For Remote - Containers, use the Remote-Containers: Open Repository in Container... command which creates a Docker volume for better disk I/O on macOS and Windows.
  • For Codespaces, install the Visual Studio Codespaces extension in VS Code, and use the Codespaces: Create New Codespace command.

Docker / the Codespace should have at least 4 Cores and 6 GB of RAM (8 GB recommended) to run full build. See the development container README for more information.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT license.

Issues
  • ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159

    ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159

    VS Code insider is crashing on startup, here is the console log

    $ ./code-insiders --disable-extensions
    
    [4941:0923/174649.016072:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [4941:0923/174649.081963:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [main 2021-09-23T21:46:49.110Z] update#setState idle
    [main 2021-09-23T21:46:49.111Z] update#ctor - manual checks only; automatic updates are disabled by user preference
    [4941:0923/174649.170574:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [5084:0923/174649.180377:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
    [4941:0923/174649.186266:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [5112:0923/174649.192364:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
    [4941:0923/174649.198267:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [5139:0923/174649.204451:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is swiftshader
    [4941:0923/174649.210371:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [5170:0923/174649.213098:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled
    [4941:0923/174649.216084:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [5185:0923/174649.218818:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled
    [4941:0923/174649.221869:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [5200:0923/174649.224779:ERROR:gpu_init.cc(440)] Passthrough is not supported, GL is disabled
    [4941:0923/174649.227655:ERROR:gpu_process_host.cc(1007)] GPU process exited unexpectedly: exit_code=159
    [4941:0923/174649.227677:FATAL:gpu_data_manager_impl_private.cc(415)] GPU process isn't usable. Goodbye.
    Server response: 
    Server response: 
    Illegal instruction (core dumped)
    

    Does this issue occur when all extensions are disabled?: Yes

    • VS Code Version: code-insider-x64-1632406488 (downloaded build)
    • OS Version: Operating System: openSUSE Tumbleweed 20210921 KDE Plasma Version: 5.22.5 KDE Frameworks Version: 5.86.0 Qt Version: 5.15.2 Kernel Version: 5.14.5-1-default (64-bit) Graphics Platform: X11 Processors: 16 × AMD Ryzen 7 2700X Eight-Core Processor Memory: 62.7 GiB of RAM Graphics Processor: NVIDIA GeForce RTX 3080/PCIe/SSE2

    Steps to Reproduce:

    1. Run VS Code insider
    2. Crashes on startup
    opened by rajinder-yadav 0
  • Support color customization for session restore hint

    Support color customization for session restore hint

    Issue Type: Bug

    We may want to allow color customization for the foregroud/background for the session restore hint message

    image to ensure it's accessible

    VS Code version: Code - Insiders 1.61.0-insider (53aff5e347865fe22f9487ebd54dec9db23773b2, 2021-09-23T13:51:38.771Z) OS version: Windows_NT x64 10.0.19043 Restricted Mode: No

    System Info

    |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-9700K CPU @ 3.60GHz (8 x 3600)| |GPU Status|2d_canvas: enabled
    gpu_compositing: enabled
    multiple_raster_threads: enabled_on
    oop_rasterization: enabled
    opengl: enabled_on
    rasterization: enabled
    skia_renderer: enabled_on
    video_decode: enabled
    vulkan: disabled_off
    webgl: enabled
    webgl2: enabled| |Load (avg)|undefined| |Memory (System)|31.93GB (12.48GB free)| |Process Argv|--enable-proposed-api joyceerhl.vscode-pyolite --enable-proposed-api rebornix.better-jupyter-errors --enable-proposed-api donjayamanne.kusto --crash-reporter-id e73ca734-e67c-473d-8c47-80c5407fc859| |Screen Reader|no| |VM|0%|

    opened by rebornix 0
  • migrate title and icon to use updateProperty

    migrate title and icon to use updateProperty

    null

    debt terminal 
    opened by meganrogge 0
  • Persist fixed dimensions on window reload

    Persist fixed dimensions on window reload

    This PR fixes #133639

    opened by meganrogge 0
  • Explore option for allowing to run all cells in a folded markdown region

    Explore option for allowing to run all cells in a folded markdown region

    Separating this out from #132690

    When a markdown cell has code cells folded underneath, the suggestions is to surface the total number of cells folded and to show a run action next to it:

    CleanShot 2021-09-23 at 12 51 59@2x

    Running the cell would show progress for the cells (with a stop action that will interrupt the kernel). And when the cell is finished, the cell returns the previous state. You can also click on the cell ... to expand the collapsed state (which is equivalent to opening the folded markdown region)

    CleanShot 2021-09-08 at 13 52 06

    ux notebook 
    opened by misolori 1
  • Expand Selection not selecting inside quotes

    Expand Selection not selecting inside quotes

    Issue Type: Bug

    In python, given the following snippet: def render_templates(self) -> None: """Render templates defined in templates.json."""

    if one were to put the cursor inside 'defined' see following with []: def render_templates(self) -> None: """Render templates def[]ined in templates.json."""

    When expanding the seletcion I would expect that the following would be selected: def render_templates(self) -> None: """Render templates [defined] in templates.json."""

    And If I were to expand select ion again: def render_templates(self) -> None: """[Render templates defined in templates.json.]"""

    Instead the selection is the following: def render_templates(self) -> None: ["""Render templates defined in templates.json."""]

    This is a bit like the expand selection in IDEA products work, which I find very usable in my day-to-day work.

    VS Code version: Code 1.60.1 (83bd43bc519d15e50c4272c6cf5c1479df196a4d, 2021-09-10T17:06:57.931Z) OS version: Linux x64 5.11.0-34-generic snap Restricted Mode: No

    System Info

    |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz (8 x 3065)| |GPU Status|2d_canvas: unavailable_software
    gpu_compositing: disabled_software
    multiple_raster_threads: enabled_on
    oop_rasterization: disabled_off
    opengl: disabled_off
    rasterization: disabled_software
    skia_renderer: enabled_on
    video_decode: disabled_software
    vulkan: disabled_off
    webgl: unavailable_software
    webgl2: unavailable_software| |Load (avg)|1, 1, 1| |Memory (System)|7.58GB (0.81GB free)| |Process Argv|--no-sandbox --force-user-env --unity-launch --crash-reporter-id be1569b3-a36c-4648-8c9d-1e6b554f0ae2| |Screen Reader|no| |VM|0%| |DESKTOP_SESSION|i3| |XDG_CURRENT_DESKTOP|i3| |XDG_SESSION_DESKTOP|i3| |XDG_SESSION_TYPE|x11|

    Extensions (11)

    Extension|Author (truncated)|Version ---|---|--- vscode-quick-select|dba|0.2.9 go|gol|0.27.2 intellij-idea-keybindings|k--|1.4.5 expand-region|let|0.1.4 bash-ide-vscode|mad|1.11.0 python|ms-|2021.9.1230869389 vscode-pylance|ms-|2021.9.2 jupyter|ms-|2021.8.2041215044 jupyter-keymap|ms-|1.0.0 viml|Xad|1.0.1 markdown-all-in-one|yzh|3.4.0

    (1 theme extensions excluded)

    A/B Experiments
    vsliv368:30146709
    vsreu685:30147344
    python383:30185418
    pythonvspyt602:30300191
    vspor879:30202332
    vspor708:30202333
    vspor363:30204092
    pythonvspyt639:30300192
    pythontb:30283811
    pythonptprofiler:30281270
    vshan820:30294714
    vstes263:30335439
    pythondataviewer:30285071
    pythonvsuse255:30340121
    vscod805:30301674
    pythonvspyt200:30340761
    vscextlang:30333561
    binariesv615:30325510
    vsccppwtct:30364498
    pythonvssor306:30344512
    bridge0708:30335490
    pygetstartedc2:30360494
    bridge0723:30353136
    pythonrunftest32cf:30365367
    pythonf5test824cf:30361778
    javagetstartedt:30364666
    pythonvspyt187cf:30365362
    pydsgst2:30361792
    vssid140cf:30363604
    vssur157:30367808
    
    
    opened by dapc11 0
  • Indicator of running VSCode disappears from dock pane when new version is available

    Indicator of running VSCode disappears from dock pane when new version is available

    • VS Code Version: 1.60.1
    • OS Version: Ubuntu 21.04, Gnome Shell 3.38.4

    Steps to Reproduce: I can see the issue already for long time. I have suspicion it happens only when dock pane is set on the left side on screen

    1. Have running VSCode window (or more windows)
    2. Suppose a new code update is available (e.g. 1.60.2): new_version

    Expected result:

    • Still red dots (their count equals to number of running VSCode windows) is displayed in dock pane reddots_three

    Actual result:

    • Red dots from VSCode from docker pane disappear reddots

    It looks like no VSCode window is running, but actually still some windows are running and you can see them by Alt + Tab

    opened by mirao 0
  • on window reload, terminal order is shuffled

    on window reload, terminal order is shuffled

    discovered this while working on #133639

    recording (71)

    bug terminal 
    opened by meganrogge 0
  • Send text to REPL command

    Send text to REPL command

    Currently there's editor.debug.action.selectionToRepl, but it isn't flexible enough. Sometimes there's a specific property/method, which I want to evaluate on the selected object many times during a debug session, so it'd be nice if I could configure a dedicated shortcut for it.

    Perhaps selectionToRepl could be modified to take an optional argument, in which ${selectedText} is expanded? For example:

    {
        "key": "shift+f2",
        "command": "editor.debug.action.selectionToRepl",
        "args": ["${selectedText}.print()"]
    }
    
    opened by vadimcn 0
  • Faulty Extensions

    Faulty Extensions

    Issue Type: Performance Issue

    Extensions not loading even though my device is connected to the internet. All updates have been applied to the application but the extension updates and installations are faulty.

    VS Code version: Code 1.60.2 (7f6ab5485bbc008386c4386d08766667e155244e, 2021-09-22T12:00:31.514Z) OS version: Windows_NT x64 10.0.19043 Restricted Mode: No Remote OS version: Linux x64 5.4.72-microsoft-standard-WSL2

    System Info

    |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz (8 x 1992)| |GPU Status|2d_canvas: enabled
    gpu_compositing: enabled
    multiple_raster_threads: enabled_on
    oop_rasterization: enabled
    opengl: enabled_on
    rasterization: enabled
    skia_renderer: enabled_on
    video_decode: enabled
    vulkan: disabled_off
    webgl: enabled
    webgl2: enabled| |Load (avg)|undefined| |Memory (System)|15.82GB (6.78GB free)| |Process Argv|--crash-reporter-id b4b67050-462f-4905-a957-e8ddfd54ec55| |Screen Reader|no| |VM|0%|

    |Item|Value| |---|---| |Remote|WSL: Ubuntu| |OS|Linux x64 5.4.72-microsoft-standard-WSL2| |CPUs|Intel(R) Core(TM) i7-8565U CPU @ 1.80GHz (8 x 1992)| |Memory (System)|12.34GB (11.94GB free)| |VM|0%|

    Process Info
    CPU %	Mem MB	   PID	Process
        0	    90	 79116	code main
        0	    95	 17732	   shared-process
        0	    69	 76180	     ptyHost
        0	   151	 63948	   window (Settings - Visual Studio Code)
        0	   106	 84348	     extensionHost
        0	    71	 79432	       electron_node wslDaemon.js 
        0	     7	 81772	         C:\WINDOWS\System32\wsl.exe -d Ubuntu sh -c '"$VSCODE_WSL_EXT_LOCATION/scripts/wslServer.sh" 7f6ab5485bbc008386c4386d08766667e155244e stable .vscode-server 0  '
        0	     6	 78260	           C:\WINDOWS\system32\lxss\wslhost.exe {7419a849-eb10-4e58-b5b9-ed6a3ca208ab} 500 524 528 {1a842da4-f441-467d-ac7d-aea175759627}
        0	    12	 84440	             console-window-host (Windows internal process)
        0	    11	 82340	           console-window-host (Windows internal process)
        0	   161	 75384	   gpu-process
        0	    41	 80100	   utility
        0	    82	 82452	   window (Issue Reporter)
        0	    26	 83136	   crashpad-handler
    
    Remote: WSL: Ubuntu
    CPU %	Mem MB	   PID	Process
        0	     0	    38	remote agent
        0	     0	    49	   ptyHost
        0	     0	   126	   extensionHost
        0	     0	   141	   /bin/sh -c /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
        0	     0	   142	     /usr/bin/ps -ax -o pid=,ppid=,pcpu=,pmem=,command=
    
    Workspace Info
    
    |  Remote: WSL: Ubuntu;
    
    Extensions (6)

    Extension|Author (truncated)|Version ---|---|--- better-comments|aar|2.1.0 bracket-pair-colorizer-2|Coe|0.2.0 better-cpp-syntax|jef|1.15.5 remote-wsl|ms-|0.54.6 vim|vsc|1.19.1 cpptools|ms-|1.2.2

    A/B Experiments
    vsliv368cf:30146710
    vsreu685:30147344
    python383cf:30185419
    pythonvspyt602:30300191
    vspor879:30202332
    vspor708:30202333
    vspor363:30204092
    vstes627:30244334
    pythonvspyt639:30300192
    pythontb:30283811
    pythonvspyt551:30345470
    pythonptprofiler:30281270
    vshan820:30294714
    vstes263:30335439
    vscorecescf:30358481
    pythondataviewer:30285071
    pythonvsuse255:30340121
    vscod805:30301674
    pythonvspyt200:30340761
    vscextlangct:30333562
    binariesv615:30325510
    vsccppwtct:30364498
    pythonvssor306:30344512
    bridge0708:30335490
    pygetstartedt2:30360495
    dockerwalkthru:30370836
    bridge0723:30353136
    pythonrunftest32cf:30365367
    pythonf5test824:30361777
    javagetstartedt:30364666
    pythonvspyt187cf:30365362
    pydsgst2:30361792
    vssid140cf:30363604
    vssur157:30367808
    
    
    new release 
    opened by Jamez009 1
Releases(1.60.2)
Owner
Microsoft
Open source projects and samples from Microsoft
Microsoft
Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.

Komodo Edit This readme explains how to get started building, using and developing with the Komodo Edit source base. Whilst the main Komodo Edit sourc

ActiveState Komodo 2k Sep 14, 2021
mawww's experiment for a better code editor

Kakoune Table of Contents TL;DR 1. Introduction 1.1. Features 1.2. Screenshots 2. Getting started 2.1. Building 2.2. Installing 2.3. Running 3. Basic

Maxime Coste 7.4k Sep 15, 2021
A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!

philosophy | for whom? | screenshots | documentation | contribute | achievements | FAQ Quick Install: This assumes you don't have an existing Emacs se

Sylvain Benner 21.7k Sep 15, 2021
Vim-fork focused on extensibility and usability

Documentation | Chat | Twitter Neovim is a project that seeks to aggressively refactor Vim in order to: Simplify maintenance and encourage contributio

Neovim 47k Sep 15, 2021
An open source code editor for the web, written in JavaScript, HTML and CSS.

⚠️ On September 1, 2021, Adobe will end support for Brackets. If you would like to continue using, maintaining, and improving Brackets, you may fork t

Adobe, Inc. 33.7k Sep 20, 2021
A modern and intuitive terminal-based text editor

micro is a terminal-based text editor that aims to be easy to use and intuitive, while also taking advantage of the capabilities of modern terminals.

Zachary Yedidia 17.7k Sep 25, 2021
The official Vim repository

For translations of this README see the end. What is Vim? Vim is a greatly improved version of the good old UNIX editor Vi. Many new features have bee

Vim - the text editor 24.7k Sep 17, 2021
:atom: The hackable text editor

Atom Atom is a hackable text editor for the 21st century, built on Electron, and based on everything we love about our favorite editors. We designed i

Atom 56.1k Sep 22, 2021
Mirror of GNU Emacs

Copyright (C) 2001-2021 Free Software Foundation, Inc. See the end of the file for license conditions. This directory tree holds version 28.0.50 of

null 3.2k Sep 20, 2021
The Light Table IDE ⛺

Light Table Light Table is a next generation code editor that connects you to your creation with instant feedback. Light Table is very customizable an

Light Table 11.6k Sep 20, 2021
Read-only mirror of https://gitlab.gnome.org/GNOME/gnome-builder

Builder Develop software for GNOME Helpful Links Read the documentation File a Bug in GitLab Download a Release Tarball Browse source code in Git vers

GNOME Github Mirror 196 Sep 15, 2021