Top Related Projects
Visual Studio Code
:atom: The hackable text editor
Java language server
The developer platform for on-demand cloud development environments to create software faster and more securely.
VS Code in the browser
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:
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/vscode-docs.git
- Create a new branch for your changes:
git checkout -b your-feature-branch
- Make your changes to the relevant Markdown files
- Commit and push your changes to your fork
- 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
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.
: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.
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.
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 designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
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
.gif
s. 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.
Cloning
- Install Git LFS.
- Run
git lfs install
to setup global git hooks. You only need to run this once per machine. - SSH auth:
git clone git@github.com:microsoft/vscode-docs.git
HTTPS auth:git clone https://github.com/microsoft/vscode-docs.git
- 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:
- Install Git LFS.
- Run
git lfs install
to setup global git hooks. You only need to run this once per machine. - 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
- SSH auth:
- 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
- SSH auth:
- macOS / Linux:
- Now you can selectively checkout some binary files to work with. For example:
git lfs pull -I "docs/nodejs"
to only download images indocs/nodejs
git lfs pull -I "release-notes/images/1_4*/*"
to only download images inrelease-notes/images/1_4*
git lfs pull -I "docs,api"
to download all images indocs
and inapi
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
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.
Top Related Projects
Visual Studio Code
:atom: The hackable text editor
Java language server
The developer platform for on-demand cloud development environments to create software faster and more securely.
VS Code in the browser
Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot