mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-18 05:34:41 +10:00
Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10815a5b2d | ||
|
|
656a02b50f | ||
|
|
d8a91cf13e | ||
|
|
62a7dce09d | ||
|
|
b07aee0b20 | ||
|
|
73c8e12182 | ||
|
|
96312bd7f4 | ||
|
|
0ead786b6c | ||
|
|
ccd219e96e | ||
|
|
e7c96e706d | ||
|
|
93bfe2e2d4 | ||
|
|
479d4c3dbc | ||
|
|
51824a83d1 | ||
|
|
b99e93970e | ||
|
|
3a15ad9778 | ||
|
|
edc9773c9c | ||
|
|
88f37a102a | ||
|
|
6c87e3a778 | ||
|
|
cd353df55a | ||
|
|
c4b4194df7 | ||
|
|
59ad206f9e | ||
|
|
2089830d92 | ||
|
|
78ba01d3a0 | ||
|
|
c3f50a8efe | ||
|
|
3e50a25606 | ||
|
|
f8eeb2b698 | ||
|
|
54b4d842ad | ||
|
|
99f27fe9ed | ||
|
|
6979e526e3 | ||
|
|
bc03b9d591 | ||
|
|
997e1dd61f | ||
|
|
ddedf6a08a | ||
|
|
e961f14310 | ||
|
|
241d311adf | ||
|
|
52d63a9a7d | ||
|
|
b17312f534 | ||
|
|
0b282757ce | ||
|
|
8f0532f4b6 | ||
|
|
97a74cc61b | ||
|
|
9c2cc86935 | ||
|
|
6fba344a63 | ||
|
|
b41635b951 | ||
|
|
f8b17d45a8 | ||
|
|
f103b1beaa | ||
|
|
a0eebe5775 | ||
|
|
aec3519ea7 | ||
|
|
c9ae0c605f | ||
|
|
5d26e9d7f6 | ||
|
|
23bd025392 | ||
|
|
dad2a98413 |
36
.github/workflows/linux.yml
vendored
36
.github/workflows/linux.yml
vendored
@@ -23,13 +23,13 @@ jobs:
|
|||||||
include:
|
include:
|
||||||
- vscode_arch: x64
|
- vscode_arch: x64
|
||||||
npm_arch: x64
|
npm_arch: x64
|
||||||
image: vscodium/vscodium-linux-build-agent:x64
|
image: vscodium/vscodium-linux-build-agent:bionic-x64
|
||||||
- vscode_arch: arm64
|
- vscode_arch: arm64
|
||||||
npm_arch: arm64
|
npm_arch: arm64
|
||||||
image: vscodium/vscodium-linux-build-agent:buster-arm64
|
image: vscodium/vscodium-linux-build-agent:stretch-arm64
|
||||||
- vscode_arch: armhf
|
- vscode_arch: armhf
|
||||||
npm_arch: armv7l
|
npm_arch: armv7l
|
||||||
image: vscodium/vscodium-linux-build-agent:buster-armhf
|
image: vscodium/vscodium-linux-build-agent:stretch-armhf
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -42,6 +42,9 @@ jobs:
|
|||||||
- name: Install Yarn
|
- name: Install Yarn
|
||||||
run: npm install -g yarn
|
run: npm install -g yarn
|
||||||
|
|
||||||
|
- name: Check PR or cron
|
||||||
|
run: ./check_cron_or_pr.sh
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: ./get_repo.sh
|
run: ./get_repo.sh
|
||||||
|
|
||||||
@@ -49,6 +52,25 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./check_tags.sh
|
run: ./check_tags.sh
|
||||||
|
if: env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
|
- name: Compute cache key
|
||||||
|
id: yarnCacheKey
|
||||||
|
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
|
- name: Get yarn cache directory path
|
||||||
|
id: yarnCacheDirPath
|
||||||
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
|
- name: Cache yarn directory
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||||
|
key: linux-${{ matrix.npm_arch }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
|
||||||
|
restore-keys: linux-${{ matrix.npm_arch }}-yarnCacheDir-
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
@@ -61,15 +83,15 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd VSCode-linux-${VSCODE_ARCH}
|
cd VSCode-linux-${VSCODE_ARCH}
|
||||||
tar czf ../VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz .
|
tar czf ../VSCodium-linux-${VSCODE_ARCH}-${LATEST_MS_TAG}.tar.gz .
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Generate shasums
|
- name: Generate shasums
|
||||||
run: ./sum.sh
|
run: ./sum.sh
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
tag_name: ${{ env.LATEST_MS_TAG }}
|
||||||
files: |
|
files: |
|
||||||
@@ -84,7 +106,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Update versions repo
|
- name: Update versions repo
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
run: ./update_version.sh
|
run: ./update_version.sh
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||||
|
|||||||
37
.github/workflows/macos.yml
vendored
37
.github/workflows/macos.yml
vendored
@@ -21,6 +21,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
node-version: 12.14.1
|
node-version: 12.14.1
|
||||||
|
|
||||||
|
- name: Check PR or cron
|
||||||
|
run: |
|
||||||
|
. check_cron_or_pr.sh
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: |
|
run: |
|
||||||
. get_repo.sh
|
. get_repo.sh
|
||||||
@@ -30,7 +34,26 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
. check_tags.sh
|
. check_tags.sh
|
||||||
|
if: env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
|
- name: Compute cache key
|
||||||
|
id: yarnCacheKey
|
||||||
|
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
|
- name: Get yarn cache directory path
|
||||||
|
id: yarnCacheDirPath
|
||||||
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
|
- name: Cache yarn directory
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||||
|
key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
|
||||||
|
restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -42,7 +65,7 @@ jobs:
|
|||||||
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
|
CERTIFICATE_OSX_P12: ${{ secrets.CERTIFICATE_OSX_P12 }}
|
||||||
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
|
CERTIFICATE_OSX_PASSWORD: ${{ secrets.CERTIFICATE_OSX_PASSWORD }}
|
||||||
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
|
CERTIFICATE_OSX_ID: ${{ secrets.CERTIFICATE_OSX_ID }}
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
run: |
|
run: |
|
||||||
if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
|
if [ -d "VSCode-darwin-${VSCODE_ARCH}" ]; then # just in case the build failed
|
||||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||||
@@ -61,7 +84,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
cd "VSCode-darwin-${VSCODE_ARCH}"
|
cd "VSCode-darwin-${VSCODE_ARCH}"
|
||||||
zip -r -X -y ../VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip ./*.app
|
zip -r -X -y ../VSCodium-darwin-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip ./*.app
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: DMG the release
|
- name: DMG the release
|
||||||
run: |
|
run: |
|
||||||
@@ -69,15 +92,15 @@ jobs:
|
|||||||
npx create-dmg VSCodium.app ..
|
npx create-dmg VSCodium.app ..
|
||||||
mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${VSCODE_ARCH}.${LATEST_MS_TAG}.dmg"
|
mv "../VSCodium ${LATEST_MS_TAG}.dmg" "../VSCodium.${VSCODE_ARCH}.${LATEST_MS_TAG}.dmg"
|
||||||
popd
|
popd
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Generate shasums
|
- name: Generate shasums
|
||||||
run: ./sum.sh
|
run: ./sum.sh
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
tag_name: ${{ env.LATEST_MS_TAG }}
|
||||||
files: |
|
files: |
|
||||||
@@ -88,7 +111,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Update versions repo
|
- name: Update versions repo
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
run: ./update_version.sh
|
run: ./update_version.sh
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }}
|
||||||
|
|||||||
31
.github/workflows/windows.yml
vendored
31
.github/workflows/windows.yml
vendored
@@ -34,6 +34,10 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '2.x'
|
python-version: '2.x'
|
||||||
|
|
||||||
|
- name: Check PR or cron
|
||||||
|
run: ./check_cron_or_pr.sh
|
||||||
|
shell: bash
|
||||||
|
|
||||||
- name: Clone VSCode repo
|
- name: Clone VSCode repo
|
||||||
run: ./get_repo.sh
|
run: ./get_repo.sh
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -43,6 +47,25 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: ./check_tags.sh
|
run: ./check_tags.sh
|
||||||
shell: bash
|
shell: bash
|
||||||
|
if: env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
|
- name: Compute cache key
|
||||||
|
id: yarnCacheKey
|
||||||
|
run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)"
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
|
- name: Get yarn cache directory path
|
||||||
|
id: yarnCacheDirPath
|
||||||
|
run: echo "::set-output name=dir::$(yarn cache dir)"
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
|
- name: Cache yarn directory
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||||
|
key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }}
|
||||||
|
restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-
|
||||||
|
if: env.SHOULD_BUILD == 'yes'
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
env:
|
env:
|
||||||
@@ -59,16 +82,16 @@ jobs:
|
|||||||
mv vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
mv vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe
|
||||||
mv vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip VSCodium-win32-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
mv vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip VSCodium-win32-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip
|
||||||
shell: bash
|
shell: bash
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Generate shasums
|
- name: Generate shasums
|
||||||
run: ./sum.sh
|
run: ./sum.sh
|
||||||
shell: bash
|
shell: bash
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
|
|
||||||
- name: Release
|
- name: Release
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
with:
|
with:
|
||||||
tag_name: ${{ env.LATEST_MS_TAG }}
|
tag_name: ${{ env.LATEST_MS_TAG }}
|
||||||
files: |
|
files: |
|
||||||
@@ -80,7 +103,7 @@ jobs:
|
|||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
- name: Update versions repo
|
- name: Update versions repo
|
||||||
if: env.SHOULD_BUILD == 'yes'
|
if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes'
|
||||||
run: ./update_version.sh
|
run: ./update_version.sh
|
||||||
shell: bash
|
shell: bash
|
||||||
env:
|
env:
|
||||||
|
|||||||
47
DOCS.md
47
DOCS.md
@@ -3,7 +3,11 @@
|
|||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
- [Getting all the Telemetry Out](#disable-telemetry)
|
- [Getting all the Telemetry Out](#disable-telemetry)
|
||||||
|
- [Replacements to Microsoft Online Services](#replacement-online-services)
|
||||||
- [Extensions + Marketplace](#extensions-marketplace)
|
- [Extensions + Marketplace](#extensions-marketplace)
|
||||||
|
- [How to use the VS Code Marketplace](#howto-vscode-marketplace)
|
||||||
|
- [Proprietary Debugging Tools](#proprietary-debugging-tools)
|
||||||
|
- [Proprietary Extensions](#proprietary-extensions)
|
||||||
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
- [Migrating from Visual Studio Code to VSCodium](#migrating)
|
||||||
- [How do I run VSCodium in portable mode?](#portable)
|
- [How do I run VSCodium in portable mode?](#portable)
|
||||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||||
@@ -28,7 +32,7 @@ These can all be disabled.
|
|||||||
|
|
||||||
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
__Please note that some extensions send telemetry data to Microsoft as well. We have no control over this and can only recommend removing the extension.__ _(For example, the C# extension `ms-vscode.csharp` sends tracking data to Microsoft.)_
|
||||||
|
|
||||||
### Replacements to Microsoft Online Services
|
### <a id="replacement-online-services"></a>Replacements to Microsoft Online Services
|
||||||
|
|
||||||
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L36) in `product.json` to that of VSCodium's own small [update server](https://github.com/VSCodium/update-api), so enabling that setting won't actually result in any calls to Microsoft servers.
|
When searching the `@tag:usesOnlineServices` filter, note that while the "Update: Mode" setting description still says "The updates are fetched from a Microsoft online service", VSCodium's build script [sets the `updateUrl` field](https://github.com/VSCodium/vscodium/blob/master/prepare_vscode.sh#L36) in `product.json` to that of VSCodium's own small [update server](https://github.com/VSCodium/update-api), so enabling that setting won't actually result in any calls to Microsoft servers.
|
||||||
|
|
||||||
@@ -41,23 +45,46 @@ The `product.json` file is set up to use [open-vsx.org](https://open-vsx.org/) a
|
|||||||
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
|
* Ask the extension maintainers to publish to [open-vsx.org](https://open-vsx.org/) in addition to the VS Code Marketplace. The publishing process is documented in the [Open VSX Wiki](https://github.com/eclipse/openvsx/wiki/Publishing-Extensions).
|
||||||
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
|
* Create a pull request to [this repository](https://github.com/open-vsx/publish-extensions) to have the [@open-vsx](https://github.com/open-vsx) service account publish the extensions for you.
|
||||||
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
|
* Download and [install the vsix files](https://code.visualstudio.com/docs/editor/extension-gallery#_install-from-a-vsix).
|
||||||
* Modify the `extensionsGallery` section of the `product.json` file in your VSCodium installation to use the VS Code Marketplace as shown below. However, note that [it is not clear whether this is legal](https://github.com/microsoft/vscode/issues/31168).
|
|
||||||
```json
|
|
||||||
"extensionsGallery": {
|
|
||||||
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
|
|
||||||
"itemUrl": "https://marketplace.visualstudio.com/items"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
|
See [this article](https://www.gitpod.io/blog/open-vsx/) for more information on the motivation behind Open VSX.
|
||||||
|
|
||||||
### Proprietary Debugging Tools
|
### <a id="howto-vscode-marketplace"></a>How to use the VS Code Marketplace
|
||||||
|
|
||||||
|
You can switch and use the VS Code marketplace by using the following solutions. However, note that [it is not clear whether this is legal](https://github.com/microsoft/vscode/issues/31168).
|
||||||
|
|
||||||
|
With the following environment variables:
|
||||||
|
- `VSCODE_GALLERY_SERVICE_URL='https://marketplace.visualstudio.com/_apis/public/gallery'`
|
||||||
|
- `VSCODE_GALLERY_CACHE_URL='https://vscode.blob.core.windows.net/gallery/index'`
|
||||||
|
- `VSCODE_GALLERY_ITEM_URL='https://marketplace.visualstudio.com/items'`
|
||||||
|
- `VSCODE_GALLERY_CONTROL_URL=''`
|
||||||
|
- `VSCODE_GALLERY_RECOMMENDATIONS_URL=''`
|
||||||
|
|
||||||
|
Or by creating a custom `product.json` at the following location:
|
||||||
|
- Windows: `%USER%\AppData\Roaming\VSCodium`
|
||||||
|
- macOS: `~/Library/Application Support/VSCodium`
|
||||||
|
- Linux: `~/.config/VSCodium`
|
||||||
|
|
||||||
|
with the content:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"extensionsGallery": {
|
||||||
|
"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery",
|
||||||
|
"cacheUrl": "https://vscode.blob.core.windows.net/gallery/index",
|
||||||
|
"itemUrl": "https://marketplace.visualstudio.com/items",
|
||||||
|
"controlUrl": "",
|
||||||
|
"recommendationsUrl": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### <a id="proprietary-debugging-tools"></a>Proprietary Debugging Tools
|
||||||
|
|
||||||
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the offical Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
|
The debugger provided with Microsoft's [C# extension](https://github.com/OmniSharp/omnisharp-vscode) as well as the (Windows) debugger provided with their [C++ extension](https://github.com/Microsoft/vscode-cpptools) are very restrictively licensed to only work with the offical Visual Studio Code build. See [this comment in the C# extension repo](https://github.com/OmniSharp/omnisharp-vscode/issues/2491#issuecomment-418811364) and [this comment in the C++ extension repo](https://github.com/Microsoft/vscode-cpptools/issues/21#issuecomment-248349017).
|
||||||
|
|
||||||
A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
|
A workaround exists to get debugging working in C# projects, by using Samsung's opensource [netcoredbg](https://github.com/Samsung/netcoredbg) package. See [this comment](https://github.com/VSCodium/vscodium/issues/82#issue-409806641) for instructions on how to set that up.
|
||||||
|
|
||||||
### Proprietary Extensions
|
### <a id="proprietary-extensions"></a>Proprietary Extensions
|
||||||
|
|
||||||
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the offical Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the `extensionAllowedProposedApi` property of the product.json in your VSCodium installation. For example:
|
Like the debuggers mentioned above, some extensions you may find in the marketplace (like the [Remote Development Extensions](https://code.visualstudio.com/docs/remote/remote-overview)) only function with the offical Visual Studio Code build. You can work around this by adding the extension's internal ID (found on the extension's page) to the `extensionAllowedProposedApi` property of the product.json in your VSCodium installation. For example:
|
||||||
|
|
||||||
|
|||||||
2
LICENSE
2
LICENSE
@@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020 Peter Squicciarini
|
Copyright (c) 2021 Peter Squicciarini
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
39
README.md
39
README.md
@@ -2,7 +2,7 @@
|
|||||||
<br />
|
<br />
|
||||||
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
|
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
|
||||||
<h1>VSCodium</h1>
|
<h1>VSCodium</h1>
|
||||||
<h3>Free/Libre Open Source Software Binaries of VSCode</h3>
|
<h3>Free/Libre Open Source Software Binaries of VS Code</h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="badges" align="center">
|
<div id="badges" align="center">
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
- [Flatpak Option](#flatpak)
|
- [Flatpak Option](#flatpak)
|
||||||
- [Why Does This Exist](#why)
|
- [Why Does This Exist](#why)
|
||||||
- [More Info](#more-info)
|
- [More Info](#more-info)
|
||||||
- [Supported OS](#supported-os)
|
- [Supported Platforms](#supported-platforms)
|
||||||
|
|
||||||
## <a id="download-install"></a>Download/Install
|
## <a id="download-install"></a>Download/Install
|
||||||
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
|
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
|
||||||
@@ -64,20 +64,20 @@ scoop bucket add extras
|
|||||||
scoop install vscodium
|
scoop install vscodium
|
||||||
```
|
```
|
||||||
|
|
||||||
#### <a id="install-with-snap"></a>Install with snap (Linux)
|
#### <a id="install-with-snap"></a>Install with snap (GNU/Linux)
|
||||||
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), published by the [Snapcrafters](https://github.com/snapcrafters/codium) community.
|
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), published by the [Snapcrafters](https://github.com/snapcrafters/codium) community.
|
||||||
If your Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
|
If your GNU/Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
|
||||||
```bash
|
```bash
|
||||||
snap install codium
|
snap install codium
|
||||||
```
|
```
|
||||||
|
|
||||||
#### <a id="install-with-package-manager"></a>Install with Package Manager (Linux)
|
#### <a id="install-with-package-manager"></a>Install with Package Manager (GNU/Linux)
|
||||||
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
You can always install using the downloads (deb, rpm, tar) on the [releases page](https://github.com/VSCodium/vscodium/releases), but you can also install using your favorite package manager and get automatic updates. [@paulcarroty](https://github.com/paulcarroty) has set up a repository with instructions [here](https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo). Any issues installing VSCodium using your package manager should be directed to that repository's issue tracker.
|
||||||
|
|
||||||
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
|
#### <a id="install-on-arch-linux"></a>Install on Arch Linux
|
||||||
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@binex-dsk](https://github.com/binex-dsk). An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
|
VSCodium is available in [AUR](https://wiki.archlinux.org/index.php/Arch_User_Repository) as package [vscodium-bin](https://aur.archlinux.org/packages/vscodium-bin/), maintained by [@binex-dsk](https://github.com/binex-dsk). An alternative package [vscodium-git](https://aur.archlinux.org/packages/vscodium-git/), maintained by [@cedricroijakkers](https://github.com/cedricroijakkers), is also available should you wish to compile from source yourself.
|
||||||
|
|
||||||
#### <a id="flatpak"></a>Flatpak Option (Linux)
|
#### <a id="flatpak"></a>Flatpak Option (GNU/Linux)
|
||||||
VSCodium is (unofficially) available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium). If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
|
VSCodium is (unofficially) available as a Flatpak app [here](https://flathub.org/apps/details/com.vscodium.codium) and the build repo is [here](https://github.com/flathub/com.vscodium.codium). If your distribution has support for [flatpak](https://flathub.org), and you have enabled the [flathub repo](https://flatpak.org/setup/):
|
||||||
```bash
|
```bash
|
||||||
flatpak install flathub com.vscodium.codium
|
flatpak install flathub com.vscodium.codium
|
||||||
@@ -86,7 +86,7 @@ flatpak run com.vscodium.codium
|
|||||||
```
|
```
|
||||||
|
|
||||||
## <a id="why"></a>Why Does This Exist
|
## <a id="why"></a>Why Does This Exist
|
||||||
This repository contains build files to generate free release binaries of Microsoft's VSCode. When we speak of "free software", we're talking about freedom, not price.
|
This repository contains build files to generate free release binaries of Microsoft's VS Code. When we speak of "free software", we're talking about freedom, not price.
|
||||||
|
|
||||||
Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
|
Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS license](https://code.visualstudio.com/license) and contain telemetry/tracking. According to [this comment](https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005) from a Visual Studio Code maintainer:
|
||||||
|
|
||||||
@@ -96,7 +96,7 @@ Microsoft's releases of Visual Studio Code are licensed under [this not-FLOSS li
|
|||||||
|
|
||||||
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is disabled.__
|
This repo exists so that you don't have to download+build from source. The build scripts in this repo clone Microsoft's vscode repo, run the build commands, and upload the resulting binaries to [GitHub releases](https://github.com/VSCodium/vscodium/releases). __These binaries are licensed under the MIT license. Telemetry is disabled.__
|
||||||
|
|
||||||
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed VSCode.
|
If you want to build from source yourself, head over to [Microsoft's vscode repo](https://github.com/Microsoft/vscode) and follow their [instructions](https://github.com/Microsoft/vscode/wiki/How-to-Contribute#build-and-run). This repo exists to make it easier to get the latest version of MIT-licensed VS Code.
|
||||||
|
|
||||||
Microsoft's build process (which we are running to build the binaries) does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
|
Microsoft's build process (which we are running to build the binaries) does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
|
||||||
|
|
||||||
@@ -118,18 +118,21 @@ According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace
|
|||||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||||
|
|
||||||
### How are the VSCodium binaries built?
|
### How are the VSCodium binaries built?
|
||||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflow` (for Linux and macOS builds) and the `win32-build.yml` file (for Windows builds). These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflow` (for GNU/Linux and macOS builds) and the `win32-build.yml` file (for Windows builds). These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||||
|
|
||||||
The builds are run every day, but exit early if there isn't a new release from Microsoft.
|
The builds are run every day, but exit early if there isn't a new release from Microsoft.
|
||||||
|
|
||||||
## <a id="supported-os"></a>Supported OS
|
## <a id="supported-platforms"></a>Supported Platforms
|
||||||
- [x] macOS (`zip`, `dmg`)
|
The minimal version is limitted by the core component Electron, you may want to check its [supported platform list](https://www.electronjs.org/docs/tutorial/support#supported-platforms).
|
||||||
- [x] Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
|
- [x] macOS (`zip`, `dmg`) OS X 10.10 or newer x64
|
||||||
- [x] Linux x86 (`deb`, `rpm`, `tar.gz`) ([up to v1.35.1](https://code.visualstudio.com/updates/v1_36#_linux-32bit-support-ends))
|
- [x] macOS (`zip`, `dmg`) macOS 11.0 or newer arm64 via x64 emulation, see [status issue](https://github.com/VSCodium/vscodium/issues/597)
|
||||||
- [x] Linux arm64 (`deb`, `tar.gz`)
|
- [x] GNU/Linux x64 (`deb`, `rpm`, `AppImage`, `tar.gz`)
|
||||||
- [x] Linux armhf (`deb`, `tar.gz`)
|
- [x] GNU/Linux x86 (`deb`, `rpm`, `tar.gz`) ([up to v1.35.1](https://code.visualstudio.com/updates/v1_36#_linux-32bit-support-ends))
|
||||||
- [x] Windows x64
|
- [x] GNU/Linux arm64 (`deb`, `tar.gz`)
|
||||||
- [x] Windows x86
|
- [x] GNU/Linux armhf (`deb`, `tar.gz`)
|
||||||
|
- [x] Windows 7 or newer x64
|
||||||
|
- [x] Windows 7 or newer x86
|
||||||
|
- [x] Windows 10 arm64
|
||||||
|
|
||||||
## <a id="donate"></a>Donate
|
## <a id="donate"></a>Donate
|
||||||
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
|
If you would like to support the development of VSCodium, feel free to send BTC to `3PgjE95yzBDTrSPxPiqoxSgZFuKPPAix1N`.
|
||||||
@@ -139,4 +142,4 @@ Special thanks to:
|
|||||||
- @jaredreich for the previous logo
|
- @jaredreich for the previous logo
|
||||||
|
|
||||||
## <a id="license"></a>License
|
## <a id="license"></a>License
|
||||||
MIT
|
[MIT](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
|
||||||
|
|||||||
24
build/azure-pipelines/computeYarnCacheKey.js
Normal file
24
build/azure-pipelines/computeYarnCacheKey.js
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
const fs = require("fs");
|
||||||
|
const crypto = require("crypto");
|
||||||
|
const path = require("path");
|
||||||
|
const { dirs } = require('../../vscode/build/npm/dirs');
|
||||||
|
|
||||||
|
const ROOT = path.join(__dirname, '../../vscode');
|
||||||
|
|
||||||
|
const shasum = crypto.createHash('sha1');
|
||||||
|
|
||||||
|
shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
|
||||||
|
shasum.update(fs.readFileSync(path.join(ROOT, 'remote/.yarnrc')));
|
||||||
|
|
||||||
|
// Add `yarn.lock` files
|
||||||
|
for (let dir of dirs) {
|
||||||
|
const yarnLockPath = path.join(ROOT, dir, 'yarn.lock');
|
||||||
|
shasum.update(fs.readFileSync(yarnLockPath));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Add any other command line arguments
|
||||||
|
for (let i = 2; i < process.argv.length; i++) {
|
||||||
|
shasum.update(process.argv[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
process.stdout.write(shasum.digest('hex'));
|
||||||
8
build/build_linux.sh
Executable file
8
build/build_linux.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -rf VSCode*
|
||||||
|
rm -rf vscode
|
||||||
|
|
||||||
|
./get_repo.sh
|
||||||
|
|
||||||
|
SHOULD_BUILD=yes CI_BUILD=no OS_NAME=linux VSCODE_ARCH=x64 ./build.sh
|
||||||
8
build/build_macos.sh
Executable file
8
build/build_macos.sh
Executable file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rm -rf VSCode*
|
||||||
|
rm -rf vscode
|
||||||
|
|
||||||
|
. get_repo.sh
|
||||||
|
|
||||||
|
SHOULD_BUILD=yes CI_BUILD=no OS_NAME=osx VSCODE_ARCH=x64 . build.sh
|
||||||
14
build/build_windows.ps1
Executable file
14
build/build_windows.ps1
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
# powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1
|
||||||
|
|
||||||
|
$env:Path += ";C:\Program Files\Git\bin"
|
||||||
|
|
||||||
|
Remove-Item -Recurse -Force VSCode*
|
||||||
|
|
||||||
|
bash ./get_repo.sh
|
||||||
|
|
||||||
|
$Env:SHOULD_BUILD = 'yes'
|
||||||
|
$Env:CI_BUILD = 'no'
|
||||||
|
$Env:OS_NAME = 'windows'
|
||||||
|
$Env:VSCODE_ARCH = 'x64'
|
||||||
|
|
||||||
|
bash ./build.sh
|
||||||
19
check_cron_or_pr.sh
Executable file
19
check_cron_or_pr.sh
Executable file
@@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ $GITHUB_EVENT_NAME == "pull_request" ]]; then
|
||||||
|
echo "It's a PR"
|
||||||
|
|
||||||
|
export SHOULD_BUILD="yes"
|
||||||
|
export SHOULD_DEPLOY="no"
|
||||||
|
else
|
||||||
|
echo "It's a cron"
|
||||||
|
|
||||||
|
export SHOULD_DEPLOY="yes"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $GITHUB_ENV ]]; then
|
||||||
|
echo "SHOULD_BUILD=$SHOULD_BUILD" >> $GITHUB_ENV
|
||||||
|
echo "SHOULD_DEPLOY=$SHOULD_DEPLOY" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
@@ -9,6 +9,7 @@ echo "Got the latest MS tag: ${LATEST_MS_TAG}"
|
|||||||
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
||||||
|
|
||||||
# for GH actions
|
# for GH actions
|
||||||
echo "LATEST_MS_COMMIT=$LATEST_MS_COMMIT" >> $GITHUB_ENV
|
if [[ $GITHUB_ENV ]]; then
|
||||||
echo "LATEST_MS_TAG=$LATEST_MS_TAG" >> $GITHUB_ENV
|
echo "LATEST_MS_COMMIT=$LATEST_MS_COMMIT" >> $GITHUB_ENV
|
||||||
|
echo "LATEST_MS_TAG=$LATEST_MS_TAG" >> $GITHUB_ENV
|
||||||
|
fi
|
||||||
|
|||||||
@@ -49,3 +49,7 @@ do
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if [ ! -f "src/resources/win32/code.ico" ]; then
|
||||||
|
convert "src/resources/linux/code.png" -define icon:auto-resize=256,128,96,64,48,32,24,20,16 "src/resources/win32/code.ico"
|
||||||
|
fi
|
||||||
|
|||||||
45
patches/binary-name.patch
Normal file
45
patches/binary-name.patch
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
diff --git a/build/gulpfile.vscode.js b/build/gulpfile.vscode.js
|
||||||
|
index 6d3a369..57009d4 100644
|
||||||
|
--- a/build/gulpfile.vscode.js
|
||||||
|
+++ b/build/gulpfile.vscode.js
|
||||||
|
@@ -276,7 +276,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
||||||
|
all = es.merge(all, gulp.src('resources/linux/code.png', { base: '.' }));
|
||||||
|
} else if (platform === 'darwin') {
|
||||||
|
const shortcut = gulp.src('resources/darwin/bin/code.sh')
|
||||||
|
- .pipe(rename('bin/code'));
|
||||||
|
+ .pipe(rename('bin/' + product.applicationName));
|
||||||
|
|
||||||
|
all = es.merge(all, shortcut);
|
||||||
|
}
|
||||||
|
@@ -483,7 +483,7 @@ const generateVSCodeConfigurationTask = task.define('generate-vscode-configurati
|
||||||
|
const arch = process.env['VSCODE_ARCH'];
|
||||||
|
const appRoot = path.join(buildDir, `VSCode-darwin-${arch}`);
|
||||||
|
const appName = process.env.VSCODE_QUALITY === 'insider' ? 'Visual\\ Studio\\ Code\\ -\\ Insiders.app' : 'Visual\\ Studio\\ Code.app';
|
||||||
|
- const appPath = path.join(appRoot, appName, 'Contents', 'Resources', 'app', 'bin', 'code');
|
||||||
|
+ const appPath = path.join(appRoot, appName, 'Contents', 'Resources', 'app', 'bin', product.applicationName);
|
||||||
|
const codeProc = cp.exec(
|
||||||
|
`${appPath} --export-default-configuration='${allConfigDetailsPath}' --wait --user-data-dir='${userDataDir}' --extensions-dir='${extensionsDir}'`,
|
||||||
|
(err, stdout, stderr) => {
|
||||||
|
diff --git a/src/vs/platform/native/electron-main/nativeHostMainService.ts b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
|
index 50c4460..bf73260 100644
|
||||||
|
--- a/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
|
+++ b/src/vs/platform/native/electron-main/nativeHostMainService.ts
|
||||||
|
@@ -431,4 +431,4 @@ export class NativeHostMainService extends Disposable implements INativeHostMain
|
||||||
|
// macOS
|
||||||
|
if (this.environmentMainService.isBuilt) {
|
||||||
|
- return join(this.environmentMainService.appRoot, 'bin', 'code');
|
||||||
|
+ return join(this.environmentMainService.appRoot, 'bin', `${this.productService.applicationName}`);
|
||||||
|
}
|
||||||
|
diff --git a/src/vs/workbench/contrib/cli/node/cli.contribution.ts b/src/vs/workbench/contrib/cli/node/cli.contribution.ts
|
||||||
|
index 30972a4..0a9435c 100644
|
||||||
|
--- a/src/vs/workbench/contrib/cli/node/cli.contribution.ts
|
||||||
|
+++ b/src/vs/workbench/contrib/cli/node/cli.contribution.ts
|
||||||
|
@@ -29,7 +29,7 @@ let _source: string | null = null;
|
||||||
|
function getSource(): string {
|
||||||
|
if (!_source) {
|
||||||
|
const root = FileAccess.asFileUri('', require).fsPath;
|
||||||
|
- _source = path.resolve(root, '..', 'bin', 'code');
|
||||||
|
+ _source = path.resolve(root, '..', 'bin', product.applicationName);
|
||||||
|
}
|
||||||
|
return _source;
|
||||||
|
}
|
||||||
75
patches/custom-gallery.patch
Normal file
75
patches/custom-gallery.patch
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||||
|
index d79c8a3..7a25774 100644
|
||||||
|
--- a/src/vs/platform/product/common/product.ts
|
||||||
|
+++ b/src/vs/platform/product/common/product.ts
|
||||||
|
@@ -9,6 +9,7 @@ import { env } from 'vs/base/common/process';
|
||||||
|
import { dirname, joinPath } from 'vs/base/common/resources';
|
||||||
|
import { IProductConfiguration } from 'vs/base/common/product';
|
||||||
|
import { ISandboxConfiguration } from 'vs/base/parts/sandbox/common/sandboxTypes';
|
||||||
|
+import { getUserDataPath } from 'vs/platform/environment/node/userDataPath';
|
||||||
|
|
||||||
|
let product: IProductConfiguration;
|
||||||
|
|
||||||
|
@@ -31,6 +32,29 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
||||||
|
product = require.__$__nodeRequire(joinPath(rootPath, 'product.json').fsPath);
|
||||||
|
const pkg = require.__$__nodeRequire(joinPath(rootPath, 'package.json').fsPath) as { version: string; };
|
||||||
|
|
||||||
|
+ // Merge user-customized product.json
|
||||||
|
+ try {
|
||||||
|
+ const merge = (...objects: any[]) =>
|
||||||
|
+ objects.reduce((result, current) => {
|
||||||
|
+ Object.keys(current).forEach((key) => {
|
||||||
|
+ if (Array.isArray(result[key]) && Array.isArray(current[key])) {
|
||||||
|
+ result[key] = current[key];
|
||||||
|
+ } else if (typeof result[key] === 'object' && typeof current[key] === 'object') {
|
||||||
|
+ result[key] = merge(result[key], current[key]);
|
||||||
|
+ } else {
|
||||||
|
+ result[key] = current[key];
|
||||||
|
+ }
|
||||||
|
+ });
|
||||||
|
+
|
||||||
|
+ return result;
|
||||||
|
+ }, {}) as any;
|
||||||
|
+
|
||||||
|
+ const userProduct = require.__$__nodeRequire(joinPath(FileAccess.asFileUri(getUserDataPath({} as any), require), 'product.json').fsPath);
|
||||||
|
+
|
||||||
|
+ product = merge(product, userProduct)
|
||||||
|
+ } catch (ex) {
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
// Running out of sources
|
||||||
|
if (env['VSCODE_DEV']) {
|
||||||
|
Object.assign(product, {
|
||||||
|
@@ -40,6 +64,19 @@ else if (typeof require?.__$__nodeRequire === 'function') {
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Set user-defined extension gallery
|
||||||
|
+ const { serviceUrl, cacheUrl, itemUrl, controlUrl, recommendationsUrl } = product.extensionsGallery || {}
|
||||||
|
+
|
||||||
|
+ Object.assign(product, {
|
||||||
|
+ extensionsGallery: {
|
||||||
|
+ serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
|
||||||
|
+ cacheUrl: env['VSCODE_GALLERY_CACHE_URL'] || cacheUrl,
|
||||||
|
+ itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
|
||||||
|
+ controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
|
||||||
|
+ recommendationsUrl: env['VSCODE_GALLERY_RECOMMENDATIONS_URL'] || recommendationsUrl
|
||||||
|
+ }
|
||||||
|
+ })
|
||||||
|
+
|
||||||
|
Object.assign(product, {
|
||||||
|
version: pkg.version
|
||||||
|
});
|
||||||
|
|
||||||
|
diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
||||||
|
index 129b8de..fadb99a 100644
|
||||||
|
--- a/src/vs/base/common/product.ts
|
||||||
|
+++ b/src/vs/base/common/product.ts
|
||||||
|
@@ -62,6 +62,7 @@ export interface IProductConfiguration {
|
||||||
|
|
||||||
|
readonly extensionsGallery?: {
|
||||||
|
readonly serviceUrl: string;
|
||||||
|
+ readonly cacheUrl?: string;
|
||||||
|
readonly itemUrl: string;
|
||||||
|
readonly controlUrl: string;
|
||||||
|
readonly recommendationsUrl: string;
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
--- vscode/resources/linux/rpm/code.spec.template 2020-11-15 15:28:20.179070106 +0800
|
--- vscode/resources/linux/rpm/code.spec.template 2021-03-02 19:26:53.000000000 +0100
|
||||||
+++ vscode/resources/linux/rpm/code.spec.template.new 2020-11-15 15:25:39.269000000 +0800
|
+++ vscode/resources/linux/rpm/code.spec.template.new 2021-03-02 19:28:12.000000000 +0100
|
||||||
@@ -69,3 +69,5 @@
|
@@ -69,3 +69,5 @@
|
||||||
/usr/share/pixmaps/@@ICON@@.png
|
/usr/share/pixmaps/@@ICON@@.png
|
||||||
/usr/share/bash-completion/completions/@@NAME@@
|
/usr/share/bash-completion/completions/@@NAME@@
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
--- vscode/src/vs/platform/update/electron-main/updateService.win32.ts 2021-02-05 11:59:17.564060663 -0600
|
--- a/src/vs/platform/update/electron-main/updateService.win32.ts
|
||||||
+++ src/src/vs/platform/update/electron-main/updateService.win32.ts 2021-02-05 11:59:39.780745778 -0600
|
+++ b/src/vs/platform/update/electron-main/updateService.win32.ts
|
||||||
@@ -55,7 +55,7 @@
|
@@ -55,7 +55,7 @@ export class Win32UpdateService extends AbstractUpdateService {
|
||||||
|
|
||||||
@memoize
|
@memoize
|
||||||
get cachePath(): Promise<string> {
|
get cachePath(): Promise<string> {
|
||||||
- const result = path.join(tmpdir(), `vscode-update-${product.target}-${process.arch}`);
|
- const result = path.join(tmpdir(), `vscode-update-${this.productService.target}-${process.arch}`);
|
||||||
+ const result = path.join(tmpdir(), `vscodium-update-${product.target}-${process.arch}`);
|
+ const result = path.join(tmpdir(), `${this.productService.nameShort.toLowerCase()}-update-${this.productService.target}-${process.arch}`);
|
||||||
return pfs.mkdirp(result).then(() => result);
|
return fs.promises.mkdir(result, { recursive: true }).then(() => result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -9,14 +9,15 @@ cd vscode || exit
|
|||||||
|
|
||||||
# apply patches
|
# apply patches
|
||||||
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
|
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
|
||||||
patch -u resources/linux/rpm/code.spec.template -i ../patches/no-replace-product-json.patch
|
patch -u resources/linux/rpm/code.spec.template -i ../patches/fix-rpm-spec.patch
|
||||||
|
git apply --ignore-whitespace ../patches/binary-name.patch
|
||||||
|
git apply --ignore-whitespace ../patches/custom-gallery.patch
|
||||||
|
|
||||||
if [[ "$OS_NAME" == "osx" ]]; then
|
if [[ "$OS_NAME" == "osx" ]]; then
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
|
||||||
npm_config_argv='{"original":["--ignore-optional"]}' yarn postinstall
|
npm_config_argv='{"original":["--ignore-optional"]}' yarn postinstall
|
||||||
else
|
else
|
||||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
CHILD_CONCURRENCY=1 yarn --frozen-lockfile
|
||||||
yarn postinstall
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mv product.json product.json.bak
|
mv product.json product.json.bak
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 335 KiB After Width: | Height: | Size: 163 KiB |
Reference in New Issue
Block a user