Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Get openvscode-server #552

Open
wants to merge 82 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
d49e080
code web server initial commit
akosyakov Aug 6, 2021
488bc1c
Added remote terminal channel handler
spoenemann Aug 10, 2021
709dd63
Add startup scripts
filiptronicek Aug 30, 2021
a6faea7
Use absolute paths in the startup script
filiptronicek Sep 2, 2021
1b8bfd0
initial draft of readme for web-server branch
svenefftinge Sep 2, 2021
ef75917
Update README.md
svenefftinge Sep 3, 2021
6559bac
Update README.md
svenefftinge Sep 3, 2021
0df0ff5
Update README.md
svenefftinge Sep 3, 2021
a3fbfe6
Update README.md
svenefftinge Sep 3, 2021
07b580b
Update README.md
svenefftinge Sep 3, 2021
8ddc2db
package startup scripts and latest node 14
akosyakov Sep 3, 2021
94e36e7
Smoke test running
jeanp413 Aug 27, 2021
17fbbfc
Add explorer and terminal smoke tests
jeanp413 Sep 1, 2021
f663eac
Address Feedback
jeanp413 Sep 2, 2021
bc44905
Add web worker extension test
jeanp413 Sep 4, 2021
2728bae
Add server-cli smoke test
jeanp413 Sep 4, 2021
9c026d7
Terminal cli commads working
jeanp413 Sep 3, 2021
7903a2d
Fix errors after 1.60.0 update
jeanp413 Sep 4, 2021
dda25be
getting started
akosyakov Sep 6, 2021
12e0f12
Add extensionKind to product.json
jeanp413 Sep 7, 2021
3efac59
Update name to OpenVSCode Server
Sep 13, 2021
14338f1
update README with openvscode-server
akosyakov Sep 14, 2021
1012e53
Streamlined Readme
Sep 14, 2021
0ceddb7
Add sync script
jeanp413 Sep 15, 2021
3f7a641
Update sync script
jeanp413 Sep 15, 2021
7366838
Try to fix explorer smoke test in ci
jeanp413 Sep 17, 2021
2483d1f
Fix compilation after sync with upstream/main
jeanp413 Sep 17, 2021
5eb7897
Update sync script
jeanp413 Sep 17, 2021
7257688
Enable integration test
jeanp413 Sep 20, 2021
e4d18b0
Enable more tests
jeanp413 Sep 21, 2021
30d8de6
Skip failing test
jeanp413 Sep 21, 2021
a3657da
fix remote-terminal.ts
akosyakov Sep 21, 2021
f276398
Reenable integration test
jeanp413 Sep 21, 2021
70b0103
Disable flaky smoke test
jeanp413 Sep 21, 2021
79559a0
Delete SECURITY.md
ghuntley Sep 16, 2021
391f11d
Fix a spelling mistake in the README.md
timonbimon Sep 20, 2021
6829a66
rename web-server to opencode
akosyakov Sep 21, 2021
f66a33a
[server] user env service to locate built-in extensions
akosyakov Sep 21, 2021
7298786
add dev docs
akosyakov Sep 21, 2021
5e0854d
Update sync script
jeanp413 Sep 22, 2021
732318b
Update sync script
jeanp413 Sep 22, 2021
32b67f0
[build] only pack code and server binaries
akosyakov Sep 23, 2021
8b41448
Add more guides.
Sep 23, 2021
32d5d91
Align all guides with the guide template.
Sep 23, 2021
e53fd7e
Fix the path to the development.md.
Sep 23, 2021
d0244b4
Add list of supporter to readme
Sep 22, 2021
6df8b04
[sync] next to main
akosyakov Sep 24, 2021
780c1a6
add doc/sourcedive.snb.md
beyang Sep 27, 2021
327fb5d
Update link and image
dnilasor Sep 27, 2021
16ca400
Updates README & guides.
Sep 28, 2021
51551d5
remove authors, fix gitpod urls
akosyakov Sep 28, 2021
39eb08d
Updated path for guides
Sep 28, 2021
1dce39d
Fixed SUSE
Sep 28, 2021
afc70e2
add oauth setup instructions
dnilasor Sep 28, 2021
758a0c9
fix missing text in angle brackets
dnilasor Sep 28, 2021
b3162e7
Add links to the License & Chat badges.
mikenikles Sep 28, 2021
99d9227
fix service URLS
dnilasor Sep 28, 2021
a7148c0
Fix repo link in Deploy to Render
dnilasor Sep 28, 2021
6838364
Remove .git from link
dnilasor Sep 28, 2021
9320ca5
skip failing test for now
jeanp413 Sep 28, 2021
326e05e
Enable run tests on server build
jeanp413 Sep 29, 2021
b012f93
Numbering
hrittikhere Sep 28, 2021
cd13cd2
Create Azure VM Docs
hrittikhere Sep 28, 2021
982359c
Updates on boilerplate
hrittikhere Sep 28, 2021
b1ccfe7
Update Inbound Rules 🚀
hrittikhere Sep 28, 2021
aa211ec
Compile integration test when running from build
jeanp413 Sep 29, 2021
3381c7c
Bump minimist from 1.2.5 to 1.2.6
dependabot[bot] Jul 26, 2023
0303f6a
Bump http-cache-semantics from 4.1.0 to 4.1.1
dependabot[bot] Jul 26, 2023
bf08994
Bump json5 from 1.0.1 to 1.0.2
dependabot[bot] Jul 26, 2023
8133d4c
Bump xml2js from 0.4.23 to 0.5.0
dependabot[bot] Jul 26, 2023
fb16606
Bump word-wrap from 1.2.3 to 1.2.5
dependabot[bot] Jul 26, 2023
972104c
Bump webpack from 5.42.0 to 5.76.0
dependabot[bot] Jul 26, 2023
ab01d2f
Bump electron from 13.4.0 to 22.3.25
dependabot[bot] Oct 5, 2023
8d351a2
Bump @babel/traverse from 7.8.3 to 7.23.2
dependabot[bot] Oct 19, 2023
a2eb3b1
Merge pull request #9 from sh0116/dependabot/npm_and_yarn/babel/trave…
sh0116 Oct 23, 2023
598d89e
Merge pull request #8 from sh0116/dependabot/npm_and_yarn/electron-22…
sh0116 Oct 23, 2023
5b8c573
Merge pull request #4 from sh0116/dependabot/npm_and_yarn/xml2js-0.5.0
sh0116 Oct 23, 2023
3580bf8
Merge pull request #1 from sh0116/dependabot/npm_and_yarn/minimist-1.2.6
sh0116 Oct 23, 2023
54d94a9
Merge pull request #2 from sh0116/dependabot/npm_and_yarn/http-cache-…
sh0116 Oct 23, 2023
0fd4552
Merge pull request #3 from sh0116/dependabot/npm_and_yarn/json5-1.0.2
sh0116 Oct 23, 2023
15c11a9
Merge pull request #5 from sh0116/dependabot/npm_and_yarn/word-wrap-1…
sh0116 Oct 23, 2023
72246f0
Merge pull request #6 from sh0116/dependabot/npm_and_yarn/webpack-5.76.0
sh0116 Oct 23, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 13 additions & 11 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,18 @@
"**/vs/workbench/workbench.web.api"
]
},
{
"target": "**/vs/server/browser/**",
"restrictions": [
"vs/nls",
"vs/css!./**/*",
"**/vs/base/**/{common,browser}/**",
"**/vs/base/parts/**/{common,browser}/**",
"**/vs/platform/**/{common,browser}/**",
"**/vs/code/**/{common,browser}/**",
"**/vs/workbench/workbench.web.api"
]
},
{
"target": "**/vs/code/node/**",
"restrictions": [
Expand Down Expand Up @@ -825,7 +837,7 @@
]
},
{
"target": "**/vs/server/**",
"target": "**/vs/server/node/**",
"restrictions": [
"vs/nls",
"**/vs/base/**/{common,node}/**",
Expand Down Expand Up @@ -982,16 +994,6 @@
"xterm*"
]
}
],
"header/header": [
2,
"block",
[
"---------------------------------------------------------------------------------------------",
" * Copyright (c) Microsoft Corporation. All rights reserved.",
" * Licensed under the MIT License. See License.txt in the project root for license information.",
" *--------------------------------------------------------------------------------------------"
]
]
},
"overrides": [
Expand Down
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
.DS_Store
*.DS_Store
.cache
npm-debug.log
Thumbs.db
Expand All @@ -7,8 +7,6 @@ node_modules/
extensions/**/dist/
/out*/
/extensions/**/out/
src/vs/server
resources/server
build/node_modules
coverage/
test_data/
Expand Down
21 changes: 21 additions & 0 deletions .gitpod.Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM gitpod/workspace-full:latest

USER gitpod

# We use latest major version of Node.js distributed VS Code. (see about dialog in your local VS Code)
RUN bash -c ". .nvm/nvm.sh \
&& nvm install 14 \
&& nvm use 14 \
&& nvm alias default 14"

RUN echo "nvm use default &>/dev/null" >> ~/.bashrc.d/51-nvm-fix

# Install dependencies
RUN sudo apt-get update \
&& sudo apt-get install -y --no-install-recommends \
xvfb x11vnc fluxbox dbus-x11 x11-utils x11-xserver-utils xdg-utils \
fbautostart xterm eterm gnome-terminal gnome-keyring seahorse nautilus \
libx11-dev libxkbfile-dev libsecret-1-dev libnotify4 libnss3 libxss1 \
libasound2 libgbm1 xfonts-base xfonts-terminus fonts-noto fonts-wqy-microhei \
fonts-droid-fallback vim-tiny nano libgconf2-dev libgtk-3-dev twm \
&& sudo apt-get clean && sudo rm -rf /var/cache/apt/* && sudo rm -rf /var/lib/apt/lists/* && sudo rm -rf /tmp/*
28 changes: 28 additions & 0 deletions .gitpod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
image:
file: .gitpod.Dockerfile
ports:
- port: 3000
onOpen: open-browser
tasks:
- init: |
yarn
yarn server:init
command: |
gp sync-done init
export NODE_ENV=development
export VSCODE_DEV=1
yarn gulp watch-init
name: watch app
- command: |
export NODE_ENV=development
export VSCODE_DEV=1
gp sync-await init
node out/server.js
name: run app
openMode: split-right
github:
prebuilds:
pullRequestsFromForks: true
vscode:
extensions:
- dbaeumer.vscode-eslint
4 changes: 4 additions & 0 deletions .leewayignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/node_modules/
/out/
/.build/
/.git/
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
{
"version": "0.1.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Code Server",
"args": [
"${workspaceFolder}/out/server.js"
],
"outFiles": [
"${workspaceFolder}/out/**/*.js"
],
"env": {
"NODE_ENV": "development",
"VSCODE_DEV": "1"
}
},
{
"type": "node",
"request": "launch",
Expand Down
91 changes: 44 additions & 47 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,75 +1,72 @@
# Visual Studio Code - Open Source ("Code - OSS")
[![Feature Requests](https://img.shields.io/github/issues/microsoft/vscode/feature-request.svg)](https://github.com/microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
[![Bugs](https://img.shields.io/github/issues/microsoft/vscode/bug.svg)](https://github.com/microsoft/vscode/issues?utf8=✓&q=is%3Aissue+is%3Aopen+label%3Abug)
[![Gitter](https://img.shields.io/badge/chat-on%20gitter-yellow.svg)](https://gitter.im/Microsoft/vscode)
# OpenVSCode Server

## The Repository
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod)](https://gitpod.io/from-referrer)
[![GitHub](https://img.shields.io/github/license/gitpod-io/openvscode-server)](https://github.com/gitpod-io/openvscode-server/blob/main/LICENSE.txt)
[![Discord](https://img.shields.io/discord/816244985187008514)](https://www.gitpod.io/chat)

This repository ("`Code - OSS`") is where we (Microsoft) develop the [Visual Studio Code](https://code.visualstudio.com) product together with the community. Not only do we work on code and issues here, we also publish our [roadmap](https://github.com/microsoft/vscode/wiki/Roadmap), [monthly iteration plans](https://github.com/microsoft/vscode/wiki/Iteration-Plans), and our [endgame plans](https://github.com/microsoft/vscode/wiki/Running-the-Endgame). This source code is available to everyone under the standard [MIT license](https://github.com/microsoft/vscode/blob/main/LICENSE.txt).
## What is this?

## Visual Studio Code
This project provides a version of VS Code that runs a server on a remote machine and allows access through a modern web browser. It's based on the very same architecture used by [Gitpod](https://www.gitpod.io) or [GitHub Codespaces](https://github.com) at scale.

<p align="center">
<img alt="VS Code in action" src="https://user-images.githubusercontent.com/35271042/118224532-3842c400-b438-11eb-923d-a5f66fa6785a.png">
</p>
<img width="1624" alt="Screenshot 2021-09-02 at 08 39 26" src="https://user-images.githubusercontent.com/372735/131794918-d6602646-4d67-435b-88fe-620a3cc0a3aa.png">

[Visual Studio Code](https://code.visualstudio.com) is a distribution of the `Code - OSS` repository with Microsoft specific customizations released under a traditional [Microsoft product license](https://code.visualstudio.com/License/).
## Why?

[Visual Studio Code](https://code.visualstudio.com) 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.
VS Code has traditionally been a desktop IDE built with web technologies. A few years back, people started patching it in order to run it in a remote context and to make it accessible through web browsers. These efforts have been complex and error prone, because many changes had to be made across the large code base of VS Code.

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](https://code.visualstudio.com/Download). To get the latest releases every day, install the [Insiders build](https://code.visualstudio.com/insiders).
Luckily, in 2019 the VS Code team started to refactor its architecture to support a browser-based working mode. While this architecture has been adopted by Gitpod and GitHub, the important bits have not been open-sourced, until now. As a result, many people in the community still use the old, hard to maintain and error-prone approach.

## Contributing
At Gitpod, we've been asked a lot about how we do it. So we thought we might as well share the minimal set of changes needed so people can rely on the latest version of VS Code, have a straightforward upgrade path and low maintenance effort.

## Getting started

There are many ways in which you can participate in this project, for example:
### Docker

* [Submit bugs and feature requests](https://github.com/microsoft/vscode/issues), and help us verify as they are checked in
* Review [source code changes](https://github.com/microsoft/vscode/pulls)
* Review the [documentation](https://github.com/microsoft/vscode-docs) and make pull requests for anything from typos to additional and new content
- Start the server:
```bash
docker run -it --init -p 3000:3000 -v "$(pwd):/home/workspace:cached" gitpod/openvscode-server
```
- Visit [localhost:3000](http://localhost:3000).

If you are interested in fixing issues and contributing directly to the code base,
please see the document [How to Contribute](https://github.com/microsoft/vscode/wiki/How-to-Contribute), which covers the following:
_Note_: Feel free to use the `nightly` tag to test the latest version, i.e. `gitpod/openvscode-server:nightly`.

* [How to build and run from source](https://github.com/microsoft/vscode/wiki/How-to-Contribute)
* [The development workflow, including debugging and running tests](https://github.com/microsoft/vscode/wiki/How-to-Contribute#debugging)
* [Coding guidelines](https://github.com/microsoft/vscode/wiki/Coding-Guidelines)
* [Submitting pull requests](https://github.com/microsoft/vscode/wiki/How-to-Contribute#pull-requests)
* [Finding an issue to work on](https://github.com/microsoft/vscode/wiki/How-to-Contribute#where-to-contribute)
* [Contributing to translations](https://aka.ms/vscodeloc)
### Linux

## Feedback
- [Download the latest release](https://github.com/gitpod-io/openvscode-server/releases/latest)
- Untar and run the server:
```bash
tar -xzf openvscode-server-v${OPENVSCODE_SERVER_VERSION}.tar.gz
cd openvscode-server-v${OPENVSCODE_SERVER_VERSION}
./server.sh
```
- Visit [localhost:3000](http://localhost:3000).

* Ask a question on [Stack Overflow](https://stackoverflow.com/questions/tagged/vscode)
* [Request a new feature](CONTRIBUTING.md)
* Upvote [popular feature requests](https://github.com/microsoft/vscode/issues?q=is%3Aopen+is%3Aissue+label%3Afeature-request+sort%3Areactions-%2B1-desc)
* [File an issue](https://github.com/microsoft/vscode/issues)
* Follow [@code](https://twitter.com/code) and let us know what you think!
_Note_: You can use [pre-releases](https://github.com/gitpod-io/openvscode-server/releases) to test nightly changes.

See our [wiki](https://github.com/microsoft/vscode/wiki/Feedback-Channels) for a description of each of these channels and information on some other available community-driven channels.
### Deployment guides

## Related Projects
Please refer to [Guides](./docs/guides/) to learn how to deploy OpenVSCode Server to your cloud provider of choice.

Many of the core components and extensions to VS Code live in their own repositories on GitHub. For example, the [node debug adapter](https://github.com/microsoft/vscode-node-debug) and the [mono debug adapter](https://github.com/microsoft/vscode-mono-debug) have their own repositories. For a complete list, please visit the [Related Projects](https://github.com/microsoft/vscode/wiki/Related-Projects) page on our [wiki](https://github.com/microsoft/vscode/wiki).
## The scope of this project

## Bundled Extensions
This project only adds minimal bits required to run VS Code in a server scenario. We have no intention of changing VS Code in any way or to add additional features to VS Code itself. Please report feature requests, bug fixes, etc. in the upstream repository.

VS Code includes a set of built-in extensions located in the [extensions](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`.
> **For any feature requests, bug reports, or contributions that are not specific to running VS Code in a server context, please go to [Visual Studio Code - Open Source "OSS"](https://github.com/microsoft/vscode)**

## Development Container
## Supporters

This repository includes a Visual Studio Code Remote - Containers / GitHub Codespaces development container.
The project is supported by companies such as [GitLab](https://gitlab.com/), [VMware](https://www.vmware.com/), [Uber](https://www.uber.com/), [SAP](https://www.sap.com/), [Sourcegraph](https://sourcegraph.com/), [RStudio](https://www.rstudio.com/), [SUSE](https://rancher.com/), [Tabnine](https://www.tabnine.com/), [Render](https://render.com/) and [TypeFox](https://www.typefox.io/).

- For [Remote - Containers](https://aka.ms/vscode-remote/download/containers), use the **Remote-Containers: Clone Repository in Container Volume...** command which creates a Docker volume for better disk I/O on macOS and Windows.
- For Codespaces, install the [Github Codespaces](https://marketplace.visualstudio.com/items?itemName=GitHub.codespaces) extension in VS Code, and use the **Codespaces: Create New Codespace** command.
## Contributing

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](.devcontainer/README.md) for more information.
Thanks for your interest in contributing to the project 🙏. You can start a development environment with the following button:

## Code of Conduct
[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/from-referrer)

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
To learn about the code structure and other topics related to contributing, please refer to the [development docs](./docs/development.md).

## License
## Community & Feedback

Copyright (c) Microsoft Corporation. All rights reserved.
To learn what others are up to and to provide feedback, please head over to the [Discussions](https://github.com/gitpod-io/openvscode-server/discussions).

Licensed under the [MIT](LICENSE.txt) license.
You can also follow us on Twitter [@gitpod](https://twitter.com/gitpod) or come [chat with us](https://www.gitpod.io/chat).
41 changes: 0 additions & 41 deletions SECURITY.md

This file was deleted.

10 changes: 9 additions & 1 deletion build/azure-pipelines/common/sign.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,9 +69,17 @@ function main([esrpCliPath, type, cert, username, password, folderPath, pattern]
'-r', 'true',
'-e', keyFile,
];
cp.spawnSync('dotnet', args, { stdio: 'inherit' });
try {
cp.execFileSync('dotnet', args, { stdio: 'inherit' });
}
catch (err) {
console.error('ESRP failed');
console.error(err);
process.exit(1);
}
}
exports.main = main;
if (require.main === module) {
main(process.argv.slice(2));
process.exit(0);
}
4 changes: 3 additions & 1 deletion build/gulpfile.extensions.js
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,9 @@ const compileExtensionsBuildTask = task.define('compile-extensions-build', task.
));

gulp.task(compileExtensionsBuildTask);
gulp.task(task.define('extensions-ci', task.series(compileExtensionsBuildTask, compileExtensionMediaBuildTask)));
const compileExtensionsCi = task.series(compileExtensionsBuildTask, compileExtensionMediaBuildTask);
gulp.task(task.define('extensions-ci', compileExtensionsCi));
exports.compileExtensionsCi = compileExtensionsCi;

exports.compileExtensionsBuildTask = compileExtensionsBuildTask;

Expand Down
Loading