Compare commits

..

22 Commits

Author SHA1 Message Date
Peter Squicciarini
8959faeca9 Merge pull request #64 from stripedpajamas/master
Add logo to README
2018-12-11 13:34:54 -05:00
Peter Squicciarini
7391746c6b Add title 2018-12-09 20:05:15 -05:00
Peter Squicciarini
833fcec1e8 Fix badges 2018-12-09 20:04:18 -05:00
Peter Squicciarini
576145f38e Update README.md 2018-12-09 20:03:10 -05:00
Peter Squicciarini
c1dd804250 Add Azure badge 2018-12-03 14:39:06 -05:00
Peter Squicciarini
83cfe077ee Cleanup Windows build process (#62) 2018-12-03 14:16:48 -05:00
Peter Squicciarini
a3129e3f57 Merge pull request #61 from pavanagrawal123/patch-1
Update Readme to show Windows builds are ready
2018-12-03 09:24:10 -05:00
Pavan Agrawal
dfa09d149e Update Readme to show Windows builds are ready 2018-12-02 23:02:24 -06:00
Pavan Agrawal
098cab67bd Windows builds with Azure Pipelines (#58) 2018-11-27 09:19:34 -05:00
Peter Squicciarini
dc649ff259 Add gitter badge 2018-11-22 09:08:28 -05:00
Peter Squicciarini
d408fcc060 Use latest yarn (#57) 2018-11-13 11:58:05 -05:00
Peter Squicciarini
0f3bba8d9f Merge pull request #55 from stripedpajamas/fix-big-darwin
Fix big darwin file
2018-11-13 10:08:02 -05:00
Peter Squicciarini
213baf8651 Add -X -y to zip command 2018-10-30 10:54:21 -04:00
Peter Squicciarini
5f035559e5 Merge pull request #53 from stripedpajamas/terminal-support-docs
Add section for vscodium terminal support
2018-10-25 05:36:47 -04:00
Peter Squicciarini
58823c7ad8 Add section for vscodium terminal support 2018-10-24 15:34:23 -04:00
Peter Squicciarini
f4a46d1c7b Merge pull request #52 from stripedpajamas/docs
Separate out more technical docs into DOCS.md
Closes #50
2018-10-24 15:05:03 -04:00
Peter Squicciarini
bfcfedb1e8 Separate out more technical docs into DOCS.md 2018-10-24 10:34:20 -04:00
Joel Wasserman
74d06bf01d Change default telemetry settings to disabled (#46)
Closes #44
2018-10-19 11:38:43 -04:00
Peter Squicciarini
a541390984 Merge pull request #49 from tynx/patch-1
Add jq dependency
2018-10-16 09:45:30 -04:00
tynx
da0eaa5d45 adding missing dependency jq
While using the script I realized that the package jq was missing
2018-10-15 23:49:22 +02:00
Peter Squicciarini
008aacc81e Merge pull request #43 from paulcarroty/patch-1
add info about automatic updates for Linux
2018-10-13 08:59:43 -04:00
Pavlo Rudyi
ed99748de8 add info about automatic updates for Linux 2018-10-13 10:10:51 +00:00
10 changed files with 207 additions and 56 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
vscode
VS*/*

View File

@@ -14,6 +14,8 @@ language: node_js
node_js: "8"
before_install:
- curl -o- -L https://yarnpkg.com/install.sh | bash
- export PATH="$HOME/.yarn/bin:$PATH"
- ./install_deps.sh
- . get_repo.sh
- . check_tags.sh

69
DOCS.md Normal file
View File

@@ -0,0 +1,69 @@
# More Info
## Table of Contents
- [Getting all the Telemetry Out](#disable-telemetry)
- [Extensions + Marketplace](#extensions-marketplace)
- [Migrating from Visual Studio Code to VSCodium](#migrating)
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
- [How do I open VSCodium from the terminal?](#terminal-support)
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default.
We do however set the default `telemetry.enableCrashReporter` and `telemetry.enableTelemetry` values to false. You can see those by viewing your VSCodium settings.json and searching for `telemetry`.
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with explaining and toggling telemetry.
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/supporting/faq#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
- Extensions auto check for updates and auto install updates
- Searches within the app are sent to an online service for "natural language processing"
- Updates to the app are fetched in the background
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.)_
## <a id="extensions-marketplace"></a>Extensions + Marketplace
Until something more open comes around, we use the Microsoft Marketplace/Extensions in the `product.json` file. Those links are licensed under MIT as per [the comments on this issue.](https://github.com/Microsoft/vscode/issues/31168#issuecomment-317319063)
## <a id="migrating"></a>Migrating from Visual Studio Code to VSCodium
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
- __Windows__: `%APPDATA%\Code\User`
- __macOS__: `$HOME/Library/Application Support/Code/User`
- __Linux__: `$HOME/.config/Code/User`
You can copy these files to the VSCodium user settings folder:
- __Windows__: `%APPDATA%\VSCodium\User`
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
- __Linux__: `$HOME/.config/VSCodium/User`
To copy your settings manually:
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
- Click the three dots `...` and choose 'Open settings.json'
- Copy the contents of settings.json into the same place in VSCodium
## <a id="press-and-hold"></a>How do I press and hold a key and have it repeat in VSCodium (Mac)?
This is a common question for Visual Studio Code and the procedure is slightly different in VSCodium because the `defaults` path is different.
```bash
$ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
```
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
- Go to the command palette (View | Command Palette...)
- Choose `Shell command: Install 'vscodium' command in PATH`.
![](https://user-images.githubusercontent.com/2707340/45751224-bd21a500-bbdf-11e8-8fb7-b645b97aae49.png)
This allows you to open files or directories in VSCodium directly from your terminal:
```bash
~/in-my-project $ vscodium . # open this directory
~/in-my-project $ vscodium file.txt # open this file
```
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=vscodium`).

View File

@@ -1,19 +1,27 @@
# VSCodium
<div id="vscodium-logo" align="center">
<br />
<img src="./src/resources/linux/code.png" alt="VSCodium Logo" width="200"/>
<h1>VSCodium</h1>
<h3>Free/Libre Open Source Software Binaries of VSCode</h3>
</div>
### Free/Libre Open Source Software Binaries of VSCode
<div id="badges" align="center">
[![current release](https://img.shields.io/github/release/vscodium/vscodium.svg)](https://github.com/vscodium/vscodium/releases)
[![windows_build_status](https://dev.azure.com/vscodium/VSCodium/_apis/build/status/VSCodium.vscodium?branchName=master)](https://dev.azure.com/vscodium/VSCodium/_build?definitionId=1)
[![build status](https://travis-ci.com/VSCodium/vscodium.svg?branch=master)](https://travis-ci.com/VSCodium/vscodium)
[![current release](https://img.shields.io/github/release/vscodium/vscodium.svg)](https://github.com/vscodium/vscodium/releases)
[![license](https://img.shields.io/github/license/VSCodium/vscodium.svg)](https://github.com/VSCodium/vscodium/blob/master/LICENSE)
[![Gitter](https://img.shields.io/gitter/room/vscodium/vscodium.svg)](https://gitter.im/VSCodium/Lobby)
</div>
## Table of Contents
- [Download/Install](#download-install)
- [Install with Brew](#install-with-brew)
- [Install with Package Manager](#install-with-package-manager)
- [Why Does This Exist](#why)
- [Getting all the Telemetry Out](#disable-telemetry)
- [More Info](#more-info)
- [Supported OS](#supported-os)
- [Extensions + Marketplace](#extensions-marketplace)
- [Migrating from Visual Studio Code to VSCodium](#migrating)
## <a id="download-install"></a>Download/Install
:tada: :tada: [Download latest release here](https://github.com/VSCodium/vscodium/releases) :tada: :tada:
@@ -27,7 +35,7 @@ brew cask install vscodium
_Note: if you see "App cant be opened because it is from an unidentified developer" when opening VSCodium the first time, you can right-click the application and choose Open. This should only be required the first time opening on a Mac._
#### <a id="install-with-package-manager"></a>Install with Package Manager (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. [@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="why"></a>Why Does This Exist
This repository contains a build file to generate FLOSS release binaries of Microsoft's VSCode.
@@ -51,51 +59,16 @@ Microsoft's build process does download additional files. This was brought up in
- electron
- ffmpeg
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
Even though we do not pass the telemetry build flags (and go out of our way to cripple the baked-in telemetry), Microsoft will still track usage by default. After installing VSCodium, you must manually disable telemetry in your settings file to stop it from sending tracking data to Microsoft.
The instructions [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-telemetry-reporting) and [here](https://code.visualstudio.com/docs/supporting/faq#_how-to-disable-crash-reporting) help with disabling telemetry.
It is also highly recommended that you review all the settings that "use online services" by following [these instructions](https://code.visualstudio.com/docs/supporting/faq#_managing-online-services). The `@tag:usesOnlineServices` filter on the settings page will show that by default:
- Extensions auto check for updates and auto install updates
- Searches within the app are sent to an online service for "natural language processing"
- Updates to the app are fetched in the background
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.)_
## <a id="more-info"></a>More Info
For more information on getting all the telemetry disabled and tips for migrating from Visual Studio Code to VSCodium, have a look at this [Docs](https://github.com/VSCodium/vscodium/blob/master/DOCS.md) page.
## <a id="supported-os"></a>Supported OS
- [x] OSX x64 (zipped app file)
- [x] Linux x64 (`.deb`, `.rpm`, and `.tar.gz` files)
- [x] Linux x86 (`.deb`, `.rpm`, and `.tar.gz` files)
- [ ] Windows
- The plan is to build the Windows executable with [AppVeyor](https://appveyor.com). PRs are welcome :blue_heart:
- [X] Windows
The ARM architecture is not currently supported but is actively being worked on.
## <a id="extensions-marketplace"></a>Extensions + Marketplace
Until something more open comes around, we use the Microsoft Marketplace/Extensions in the `product.json` file. Those links are licensed under MIT as per [the comments on this issue.](https://github.com/Microsoft/vscode/issues/31168#issuecomment-317319063)
## <a id="migrating"></a>Migrating from Visual Studio Code to VSCodium
VSCodium (and a freshly cloned copy of vscode built from source) stores its extension files in `~/.vscode-oss`. So if you currently have Visual Studio Code installed, your extensions won't automatically populate. You can reinstall your extensions from the Marketplace in VSCodium, or copy the `extensions` from `~/.vscode/extensions` to `~/.vscode-oss/extensions`.
Visual Studio Code stores its `keybindings.json` and `settings.json` file in the these locations:
- __Windows__: `%APPDATA%\Code\User`
- __macOS__: `$HOME/Library/Application Support/Code/User`
- __Linux__: `$HOME/.config/Code/User`
You can copy these files to the VSCodium user settings folder:
- __Windows__: `%APPDATA%\VSCodium\User`
- __macOS__: `$HOME/Library/Application Support/VSCodium/User`
- __Linux__: `$HOME/.config/VSCodium/User`
To copy your settings manually:
- In Visual Studio Code, go to Settings (Command+, if on a Mac)
- Click the three dots `...` and choose 'Open settings.json'
- Copy the contents of settings.json into the same place in VSCodium
## <a id="license"></a>License
MIT

59
azure-pipelines.yml Normal file
View File

@@ -0,0 +1,59 @@
pool:
vmImage: 'vs2017-win2016'
steps:
- script: |
choco install jq
displayName: 'install jq from choco'
- task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@2
displayName: 'Install Yarn'
- task: UsePythonVersion@0
displayName: 'Use Python 2.x'
inputs:
versionSpec: 2.x
- task: ShellScript@2
displayName: 'get VSCode sources'
inputs:
scriptPath: get_repo.sh
- powershell: |
$LATEST_MS_TAG="$(git -C vscode describe --tags)"
Write-Host "##vso[task.setvariable variable=LATEST_MS_TAG]$LATEST_MS_TAG"
displayName: 'set env LATEST_MS_TAG'
- task: PowerShell@2
inputs:
filePath: 'check_tags.ps1'
env:
MAPPED_GITHUB_TOKEN: $(GITHUB_TOKEN)
- script: |
git -C vscode status
displayName: 'vscode status'
- powershell: |
bash ./build.sh
displayName: 'go build it!'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\system-setup\\VSCodeSetup.exe VSCodiumSetup-x64-${LATEST_MS_TAG}.exe; fi
displayName: 'move the system setup'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-x64-${LATEST_MS_TAG}.exe; fi
displayName: 'move the user setup'
- bash: |
if [[ "$SHOULD_BUILD" == "yes" ]]; then mv vscode\\.build\\win32-x64\\archive\\VSCode-win32-x64.zip VSCodium-win32-x64-${LATEST_MS_TAG}.zip; fi
displayName: 'move the zip folder'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: system-setup'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodiumSetup-x64-$(LATEST_MS_TAG).exe'
ArtifactName: 'system_setup'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: user-setup'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodiumUserSetup-x64-$(LATEST_MS_TAG).exe'
ArtifactName: 'user_setup'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifacts: archive'
condition: eq(variables['SHOULD_BUILD'], 'yes')
inputs:
PathtoPublish: 'VSCodium-win32-x64-$(LATEST_MS_TAG).zip'
ArtifactName: 'archive'

View File

@@ -1,5 +1,4 @@
#!/bin/bash
if [[ "$SHOULD_BUILD" == "yes" ]]; then
cp -rp src/* vscode/
cd vscode
@@ -7,6 +6,7 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$BUILDARCH" == "ia32" ]]; then
export npm_config_arch=ia32
fi
../update_settings.sh
yarn
mv product.json product.json.bak
@@ -16,30 +16,37 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
export NODE_ENV=production
if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then
if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
# microsoft adds their apt repo to sources
# unless the app name is code-oss
# as we are renaming the application to vscodium
# we need to edit a line in the post install template
sed -i "s/code-oss/vscodium/" resources/linux/debian/postinst.template
fi
fi
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
npm run gulp vscode-darwin-min
elif [[ "$BUILDARCH" == "ia32" ]]; then
npm run gulp vscode-linux-ia32-min
npm run gulp vscode-linux-ia32-build-deb
npm run gulp vscode-linux-ia32-build-rpm
unset npm_config_arch
npm run gulp vscode-linux-ia32-min
npm run gulp vscode-linux-ia32-build-deb
npm run gulp vscode-linux-ia32-build-rpm
unset npm_config_arch
elif [[ "$BUILDARCH" == "arm64" ]]; then
npm run gulp vscode-linux-arm64-min
npm run gulp vscode-linux-arm64-build-deb
# npm run gulp vscode-linux-arm64-build-rpm
elif [[ "$CI_WINDOWS" == "True" ]]; then
npx gulp vscode-win32-x64-min
npx gulp vscode-win32-x64-copy-inno-updater
npx gulp vscode-win32-x64-inno-updater
npx gulp vscode-win32-x64-system-setup
npx gulp vscode-win32-x64-user-setup
npx gulp vscode-win32-x64-archive
else
npm run gulp vscode-linux-x64-min
npm run gulp vscode-linux-x64-build-deb
npm run gulp vscode-linux-x64-build-rpm
fi
fi
cd ..
fi

32
check_tags.ps1 Normal file
View File

@@ -0,0 +1,32 @@
echo "tag: $env:LATEST_MS_TAG"
$GITHUB_RESPONSE = curl.exe -s -H "Authorization: token $env:MAPPED_GITHUB_TOKEN" "https://api.github.com/repos/vscodium/vscodium/releases/tags/$env:LATEST_MS_TAG"
echo "Github response: ${GITHUB_RESPONSE}"
$VSCODIUM_ASSETS= $GITHUB_RESPONSE | jq '.assets'
echo "VSCodium assets: ${VSCODIUM_ASSETS}"
# if we just don't have the github token, get out fast
if (!$env:MAPPED_GITHUB_TOKEN.length -le 15) {
return
}
if (!$VSCODIUM_ASSETS) {
echo "Release assets do not exist at all, continuing build"
$SHOULD_BUILD = 'yes'
}
$WindowsAssets = ($VSCODIUM_ASSETS | ConvertFrom-Json) | Where-Object { $_.name.Contains('exe') }
$SYSTEM_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('Setup') }
$USER_SETUP = $WindowsAssets | Where-Object { $_.name.Contains('User') }
if (!$SYSTEM_SETUP) {
echo "Building on Windows because we have no system-setup.exe";
$SHOULD_BUILD = 'yes'
}
elseif (!$USER_SETUP) {
echo "Building on Windows because we have no user-setup.exe";
$SHOULD_BUILD = 'yes'
}
else {
echo "Already have all the Windows builds"
}
Write-Host "##vso[task.setvariable variable=SHOULD_BUILD]$SHOULD_BUILD"

View File

@@ -3,7 +3,7 @@
if [[ "$SHOULD_BUILD" == "yes" ]]; then
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
cd VSCode-darwin
zip -r ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
zip -r -X -y ../VSCode-darwin-${LATEST_MS_TAG}.zip ./*
elif [[ "$BUILDARCH" == "ia32" ]]; then
cd VSCode-linux-ia32
tar czf ../VSCode-linux-ia32-${LATEST_MS_TAG}.tar.gz .

View File

@@ -2,11 +2,10 @@
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
brew install yarn --without-node
brew install jq zip
else
sudo apt-get update
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm
sudo apt-get install libx11-dev libxkbfile-dev libsecret-1-dev fakeroot rpm jq
if [[ "$BUILDARCH" == "ia32" ]]; then
sudo dpkg --add-architecture i386
sudo apt-get update

9
update_settings.sh Executable file
View File

@@ -0,0 +1,9 @@
REPLACEMENT="s/'default': true/'default': false/"
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
sed -i '' -E "$REPLACEMENT" src/vs/platform/telemetry/common/telemetryService.ts
sed -i '' -E "$REPLACEMENT" src/vs/workbench/services/crashReporter/electron-browser/crashReporterService.ts
else
sed -i -E "$REPLACEMENT" src/vs/platform/telemetry/common/telemetryService.ts
sed -i -E "$REPLACEMENT" src/vs/workbench/services/crashReporter/electron-browser/crashReporterService.ts
fi