Convert Figma logo to code with AI

microsoft logovscode-docs

Public documentation for Visual Studio Code

5,617
4,561
5,617
103

Top Related Projects

162,288

Visual Studio Code

60,150

:atom: The hackable text editor

Java language server

12,708

The developer platform for on-demand cloud development environments to create software faster and more securely.

VS Code in the browser

19,861

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.

Quick Overview

The microsoft/vscode-docs repository contains the official documentation for Visual Studio Code, Microsoft's popular open-source code editor. This repository houses the content that is displayed on the VS Code website, including user guides, API references, and extension development documentation.

Pros

  • Comprehensive and well-organized documentation for VS Code
  • Regularly updated to reflect the latest features and changes
  • Open-source, allowing community contributions and improvements
  • Includes both user-facing and developer-oriented documentation

Cons

  • Large repository size may be overwhelming for new contributors
  • Some sections may become outdated if not regularly maintained
  • Navigation can be complex due to the extensive content
  • Requires familiarity with Markdown and documentation best practices for contributions

Getting Started

To contribute to the VS Code documentation:

  1. Fork the repository on GitHub
  2. Clone your fork locally:
    git clone https://github.com/your-username/vscode-docs.git
    
  3. Create a new branch for your changes:
    git checkout -b your-feature-branch
    
  4. Make your changes to the relevant Markdown files
  5. Commit and push your changes to your fork
  6. Create a pull request to the original repository

Before contributing, make sure to read the CONTRIBUTING.md file for guidelines on how to submit changes and improve the documentation.

Competitor Comparisons

162,288

Visual Studio Code

Pros of vscode

  • Larger community with more contributors and active development
  • Contains the actual source code of VS Code, allowing for deeper customization
  • Includes comprehensive testing infrastructure and CI/CD pipelines

Cons of vscode

  • More complex codebase, potentially harder for newcomers to navigate
  • Requires more setup and dependencies to build and run locally
  • May have a steeper learning curve for those wanting to contribute

Code Comparison

vscode (main.js):

const { app, BrowserWindow } = require('electron');
let win;

function createWindow() {
  win = new BrowserWindow({ width: 800, height: 600 });
  win.loadFile('index.html');
}

app.on('ready', createWindow);

vscode-docs (index.md):

# Visual Studio Code Documentation

Welcome to the VS Code documentation. Here you'll find articles on:

- Getting Started
- User Guide
- Extension API
- Language-specific guides

The vscode repository contains the actual application code, while vscode-docs focuses on documentation and user guides. The code snippets illustrate this difference, with vscode showing application initialization and vscode-docs presenting content structure.

60,150

:atom: The hackable text editor

Pros of Atom

  • Open-source project with a large community of contributors
  • Highly customizable with a wide range of packages and themes
  • Built using web technologies, making it easier for web developers to extend

Cons of Atom

  • Development has been discontinued, with no future updates planned
  • Generally slower performance compared to VS Code
  • Less integrated features out-of-the-box, requiring more extensions for functionality

Code Comparison

Atom (JavaScript):

atom.commands.add('atom-workspace', {
  'custom:command': () => {
    console.log('Custom command executed');
  }
});

VS Code (TypeScript):

vscode.commands.registerCommand('custom.command', () => {
  console.log('Custom command executed');
});

The code snippets demonstrate how to register custom commands in each editor. While Atom uses JavaScript and a more specific selector, VS Code uses TypeScript and a simpler command registration method.

VS Code Docs primarily focuses on documentation rather than the editor's source code, making it difficult to directly compare code structures. However, the documentation in VS Code Docs is more comprehensive and regularly updated, reflecting the active development of the VS Code editor.

Java language server

Pros of eclipse.jdt.ls

  • More comprehensive Java language support, including advanced refactoring and debugging capabilities
  • Better integration with existing Eclipse-based tools and plugins
  • Supports a wider range of Java project types and build systems

Cons of eclipse.jdt.ls

  • Heavier resource footprint, potentially slower startup times
  • Steeper learning curve for configuration and customization
  • Less frequent updates and community contributions compared to vscode-docs

Code Comparison

eclipse.jdt.ls:

@Override
public CompletableFuture<List<? extends CodeLens>> codeLens(CodeLensParams params) {
    return CompletableFuture.supplyAsync(() -> {
        return computeCodeLens(params);
    });
}

vscode-docs:

export function activate(context: vscode.ExtensionContext) {
    console.log('Congratulations, your extension "vscode-docs" is now active!');
    let disposable = vscode.commands.registerCommand('vscode-docs.helloWorld', () => {
        vscode.window.showInformationMessage('Hello World from vscode-docs!');
    });
}

The eclipse.jdt.ls example showcases Java-specific language server functionality, while the vscode-docs example demonstrates a simple VS Code extension activation. eclipse.jdt.ls provides more advanced Java-centric features, whereas vscode-docs focuses on general VS Code documentation and extension development.

12,708

The developer platform for on-demand cloud development environments to create software faster and more securely.

Pros of Gitpod

  • More active development with frequent updates and contributions
  • Broader scope, focusing on full cloud development environments
  • Larger community with more stars, forks, and contributors

Cons of Gitpod

  • More complex codebase, potentially harder to contribute to
  • Steeper learning curve for new users
  • Requires more resources to run and maintain

Code Comparison

Gitpod (TypeScript):

export class Workspace {
  constructor(
    readonly id: string,
    readonly contextURL: string,
    readonly description: string,
    readonly ownerId: string
  ) {}
}

VSCode Docs (Markdown):

# Visual Studio Code Documentation

Welcome to the Visual Studio Code documentation!

- [Setup](setup/README.md)
- [Get Started](getstarted/README.md)
- [User Guide](userguide/README.md)

The Gitpod repository contains a full-fledged cloud IDE platform, while VSCode Docs primarily consists of documentation in Markdown format. Gitpod's codebase is more extensive and complex, reflecting its broader scope and functionality. VSCode Docs, on the other hand, focuses on providing clear and comprehensive documentation for Visual Studio Code users and contributors.

VS Code in the browser

Pros of code-server

  • Enables running VS Code in a browser, allowing remote access and collaboration
  • Supports self-hosting and deployment on various platforms
  • Provides additional features like CPU usage monitoring and custom extensions

Cons of code-server

  • Requires more setup and maintenance compared to the official VS Code
  • May have compatibility issues with some VS Code extensions
  • Performance can be affected by network latency and server resources

Code comparison

vscode-docs (documentation example):

# Overview

Visual Studio Code is a lightweight but powerful source code editor which runs on your desktop...

code-server (server setup example):

export PASSWORD="your-password"
code-server --bind-addr 0.0.0.0:8080 --auth password

Summary

While vscode-docs focuses on providing comprehensive documentation for VS Code, code-server offers a solution for running VS Code in a browser environment. code-server enables remote access and collaboration but requires more setup and may have some compatibility limitations. vscode-docs, on the other hand, serves as a central resource for VS Code users and developers, offering detailed guides and explanations without the need for additional server infrastructure.

19,861

Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.

Pros of Theia

  • Theia is a full-fledged IDE framework, offering more flexibility and customization options
  • Supports both desktop and cloud-based deployments, making it more versatile
  • Provides a more extensible architecture for building custom IDEs and tools

Cons of Theia

  • Steeper learning curve due to its more complex architecture
  • Smaller community and ecosystem compared to VS Code
  • May require more resources to run and maintain

Code Comparison

Theia (TypeScript):

import { injectable } from 'inversify';
import { MenuModelRegistry } from '@theia/core';

@injectable()
export class MyMenuContribution implements MenuContribution {
    registerMenus(menus: MenuModelRegistry): void {
        // Menu registration logic
    }
}

VS Code Docs (JavaScript):

const vscode = require('vscode');

function activate(context) {
    let disposable = vscode.commands.registerCommand('extension.helloWorld', function () {
        vscode.window.showInformationMessage('Hello World!');
    });
    context.subscriptions.push(disposable);
}

The Theia example showcases its dependency injection system and TypeScript usage, while the VS Code Docs example demonstrates the simpler extension API for VS Code. Theia's approach allows for more complex and customizable extensions, but VS Code's API is more straightforward for basic functionality.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

vscode logo

Visual Studio Code Documentation

You've found the Visual Studio Code documentation GitHub repository, which contains the content for the Visual Studio Code documentation.

Topics submitted here will be published to the Visual Studio Code portal.

If you are looking for the VS Code product GitHub repository, you can find it here.

Note: The vscode-docs repository uses Git LFS (Large File Storage) for storing binary files such as images and .gifs. If you are contributing or updating images, please enable Git LFS per the instructions in the Contributing section below.

Index

Visual Studio Code

VS Code is a lightweight source code editor and powerful development environment for building and debugging modern web, mobile, and cloud applications. It is free and available on your favorite platform - Linux, macOS, and Windows.

If you landed here looking for other information about VS Code, head over to our website for additional information.

Feedback

If you want to give documentation feedback, please use the feedback control located at the bottom of each documentation page.

Documentation Issues

To enter documentation bugs, please create a new GitHub issue. Please check if there is an existing issue first.

If you think the issue is with the VS Code product itself, please enter issues in the VS Code product repo here.

Contributing

To contribute new topics/information or make changes to existing documentation, please read the Contributing Guideline.

Workflow

The two suggested workflows are:

  • For small changes, use the "Edit" button on each page to edit the Markdown file directly on GitHub.
  • If you plan to make significant changes or preview the Markdown files in VS Code, clone the repo to edit and preview the files directly in VS Code.

Markdown Preview Button

Cloning

  1. Install Git LFS.
  2. Run git lfs install to setup global git hooks. You only need to run this once per machine.
  3. SSH auth: git clone git@github.com:microsoft/vscode-docs.git
    HTTPS auth: git clone https://github.com/microsoft/vscode-docs.git
  4. Now you can git add binary files and commit them. They'll be tracked in LFS.

Cloning without binary files

You might want to clone the repo without the 1.6GB images. Here are the steps:

  1. Install Git LFS.
  2. Run git lfs install to setup global git hooks. You only need to run this once per machine.
  3. Clone the repo without binary files.
    • macOS / Linux:
      • SSH auth: GIT_LFS_SKIP_SMUDGE=1 git clone git@github.com:microsoft/vscode-docs.git
      • HTTPS auth: GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/microsoft/vscode-docs.git
    • Windows:
      • SSH auth: $env:GIT_LFS_SKIP_SMUDGE="1"; git clone git@github.com:microsoft/vscode-docs.git
      • HTTPS auth: $env:GIT_LFS_SKIP_SMUDGE="1"; git clone https://github.com/microsoft/vscode-docs.git
  4. Now you can selectively checkout some binary files to work with. For example:
    • git lfs pull -I "docs/nodejs" to only download images in docs/nodejs
    • git lfs pull -I "release-notes/images/1_4*/*" to only download images in release-notes/images/1_4*
    • git lfs pull -I "docs,api" to download all images in docs and in api
    • git lfs pull -I <PATTERN>, as long as <PATTERN> is a valid Git LFS Include and Exclude pattern.

The history of this repo before we adopted LFS can be found at microsoft/vscode-docs-archive.

Publishing

Steps for how to publish documentation changes can be found here in the (private) repository of the VS Code website.

Publishing merged pull requests is not automatic and is initiated manually after changes have been reviewed on an internal staging server. There is no specific time guarantee for when PR updates will be available on https://code.visualstudio.com but the intent is that they will usually be live within 24 hours.