You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/CONTRIBUTING.md
+12-20
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,14 @@
2
2
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
3
3
# Contributing
4
4
5
-
-[Pull Requests](#pull-requests)
6
-
-[Requirements](#requirements)
7
-
-[Development Workflow](#development-workflow)
8
-
-[Build](#build)
9
-
-[Structure](#structure)
10
-
-[VS Code Patch](#vs-code-patch)
11
-
-[Currently Known Issues](#currently-known-issues)
5
+
-[Contributing](#contributing)
6
+
-[Pull Requests](#pull-requests)
7
+
-[Requirements](#requirements)
8
+
-[Development Workflow](#development-workflow)
9
+
-[Build](#build)
10
+
-[Structure](#structure)
11
+
-[VS Code Patch](#vs-code-patch)
12
+
-[Currently Known Issues](#currently-known-issues)
12
13
13
14
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
14
15
@@ -42,7 +43,6 @@ of the dependencies code-server uses.
42
43
43
44
```shell
44
45
yarn
45
-
yarn vscode
46
46
yarn watch
47
47
# Visit http://localhost:8080 once the build is completed.
48
48
```
@@ -51,15 +51,11 @@ To develop inside an isolated Docker container:
51
51
52
52
```shell
53
53
./ci/dev/image/run.sh yarn
54
-
./ci/dev/image/run.sh yarn vscode
55
54
./ci/dev/image/run.sh yarn watch
56
55
```
57
56
58
57
`yarn watch` will live reload changes to the source.
59
58
60
-
If you introduce changes to the patch and you've previously built, you
61
-
must (1) manually reset VS Code and (2) run `yarn vscode:patch`.
62
-
63
59
## Build
64
60
65
61
You can build using:
@@ -89,7 +85,6 @@ The `release.sh` script is equal to running:
89
85
90
86
```shell
91
87
yarn
92
-
yarn vscode
93
88
yarn build
94
89
yarn build:vscode
95
90
yarn release
@@ -117,7 +112,7 @@ The `code-server` script serves an HTTP API for login and starting a remote VS C
117
112
The CLI code is in [./src/node](./src/node) and the HTTP routes are implemented in
118
113
[./src/node/app](./src/node/app).
119
114
120
-
Most of the meaty parts are in the VS Code patch, which we described next.
115
+
Most of the meaty parts are in the VS Code portion of the codebase under [./lib/vscode](./lib/vscode), which we described next.
121
116
122
117
### VS Code Patch
123
118
@@ -127,10 +122,9 @@ and exposed an API to the front-end for file access and all UI needs.
127
122
128
123
Over time, Microsoft added support to VS Code to run it on the web. They have made
129
124
the front-end open source, but not the server. As such, code-server v2 (and later) uses
130
-
the VS Code front-end and implements the server. You can find this in
131
-
[./ci/dev/vscode.patch](../ci/dev/vscode.patch) under the path `src/vs/server`.
125
+
the VS Code front-end and implements the server. We use a git subtree to be able to pull in VS Code's front-end. This code lives under [./lib/vscode](./lib/vscode).
132
126
133
-
Other notable changes in our patch include:
127
+
Some noteworthy changes in our codebase:
134
128
135
129
- Adding our build file, which includes our code and VS Code's web code
136
130
- Allowing multiple extension directories (both user and built-in)
@@ -146,12 +140,10 @@ Other notable changes in our patch include:
146
140
147
141
As the web portion of VS Code matures, we'll be able to shrink and possibly
148
142
eliminate our patch. In the meantime, upgrading the VS Code version requires
149
-
us to ensure that the patch is applied and works as intended. In the future,
143
+
us to ensure that our changes are applied and work as intended. In the future,
150
144
we'd like to run VS Code unit tests against our builds to ensure that features
151
145
work as expected.
152
146
153
-
To generate a new patch, run `yarn vscode:diff`
154
-
155
147
**Note**: We have [extension docs](../ci/README.md) on the CI and build system.
156
148
157
149
If the functionality you're working on does NOT depend on code from VS Code, please
0 commit comments