Skip to content

Commit

Permalink
Merge pull request #938 from shanalikhan/v3.4.0
Browse files Browse the repository at this point in the history
V3.4.0
  • Loading branch information
shanalikhan authored Jul 15, 2019
2 parents e434ea8 + 85e91bb commit a4fe4f6
Show file tree
Hide file tree
Showing 58 changed files with 3,705 additions and 1,641 deletions.
14 changes: 3 additions & 11 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,14 @@
"label": "build",
"type": "shell",
"command": "npm",
"args": [
"run",
"compile",
"--loglevel",
"silent"
],
"args": ["run", "compile", "--loglevel", "silent"],
"problemMatcher": "$tsc-watch"
},
{
"label": "test_build",
"type": "shell",
"command": "tsc",
"args": [
"-p",
"./"
]
"args": ["-p", "./"]
}
]
}
}
1 change: 0 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

[![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Master course](https://img.shields.io/badge/Supported%20by-VSCode%20Power%20User%20Course%20%E2%86%92-gray.svg?colorA=444444&colorB=4F44D6)](https://t.co/8BEMyhpKU5?amp=1)


#### v3.4.0 - July 15, 2019

* Settings Sync now use Webviews to allow you to configure settings [#506](https://github.com/shanalikhan/code-settings-sync/issues/506) - Thanks for PR [#876](https://github.com/shanalikhan/code-settings-sync/pull/876) by [@arnohovhannisyan](https://github.com/arnohovhannisyan)
Expand Down
155 changes: 68 additions & 87 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
# Settings Sync [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Synchronize%20your%20%40VisualStudio%20%40code%20Settings%20Across%20Multiple%20Machines%20using%20%40github%20GIST%20by%20%40itsShanKhan&url=https://github.com/shanalikhan/code-settings-sync&via=code&hashtags=code,vscode,SettingsSync,developers) [![Follow](https://img.shields.io/twitter/follow/itsShanKhan.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=itsShanKhan)




**Previously known as Visual Studio Code Settings Sync**

[![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync) [![Travis](https://img.shields.io/travis/rust-lang/rust.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)
Expand All @@ -11,7 +8,7 @@

## Support

While being free and open source, if you find it useful, please consider supporting it by donating via PayPal or Open Collective. If you are using it in office as a team, please ask your company to support us via Open Collective from just 2$ per month!
While being free and open source, if you find it useful, please consider supporting it by donating via PayPal or Open Collective. If you are using it in office as a team, please ask your company to support us via Open Collective from just 2\$ per month!

<table align="center" width="60%" border="0">
<tr>
Expand Down Expand Up @@ -42,7 +39,7 @@ While being free and open source, if you find it useful, please consider support

## Key Features

```
```
1. Use your GitHub account token and Gist.
2. Easy to Upload and Download on one click.
3. Show a summary page at the end with details about config and extensions effected.
Expand All @@ -51,10 +48,11 @@ While being free and open source, if you find it useful, please consider support
6. Share the Gist with other users and let them download your settings.
7. Supports GitHub Enterprise
8. Support pragmas with @sync keywords: host, os and env are supported.
9. GUI for changing settings / logging in
```


## It Syncs

```
All extensions and complete User Folder that Contains
1. Settings File
Expand All @@ -66,85 +64,63 @@ All extensions and complete User Folder that Contains
```

## Shortcuts

```
1. Upload Key : Shift + Alt + U
2. Download Key : Shift + Alt + D
```

## Steps To Get a Personal Access Token from GitHub
## Configure Settings Sync

This extension requires a Personal Access Token from your GitHub account. You can create one by simply following the steps shown in the pictures below. Make sure you add **Gist** in scope.
Settings Sync Configuration page will be opened automatically on code start and requires two things to setup:

**[Generate New Token](https://github.com/settings/tokens/new?description=code-setting-sync&scopes=gist)**
1. Github Token
2. Github GIST ID

![Select Scopes](https://shanalikhan.github.io/img/github2.PNG)
Github Token needs to be retrived by your Github account while Settings Sync creates GIST if you are first time user.

**Get an Access Token.**
Following are the steps you need to perform to configure.

![Get Access Token](https://shanalikhan.github.io/img/github3.PNG)
- Click on `Login with Github` .
- Login Github on Browser and close the browser tab once you get Success message.
- If you are using Settings Sync first time GIST will be created automatically - Configuration Completed.
- If you already have GIST, new window will be opened to allow you to select the GIST or `Skip` to create new GIST - Configurartion Completed.


> Save the Token somewhere for future use (i.e. to upload from other machines).
![Login with GitHub](https://shanalikhan.github.io/img/login-with-github.png)


## Upload Your Settings For the first time
![Existing Gist](https://shanalikhan.github.io/img/existing-gist.png)

**Press Shift + Alt + U it will ask your GitHub account access token.**

> Type ">Sync" In Command Palette into order download / upload

This will automatically open your GitHub settings page, allowing you to generate a new token for the application, as explained in the previous section. This token will allow the extension to create gists.
You can always **verify created gist** by going to `https://gist.github.com` and checking for a gist named `cloudSettings`

Enter the GitHub token in the window and click enter.

![github account access token](https://shanalikhan.github.io/img/upload1.png)
## Upload Your Settings

**Upload your settings automatically and the extension gives you Gist ID in the system message.**
Gist ID is needed to access the data you have uploaded with your token. Copy this Gist ID in order to download the settings to other machines.
**Press Shift + Alt + U**

![uploaded automatically](https://shanalikhan.github.io/img/upload2.png)

You can always **verify created gist** on the following url:

> https://gist.github.com/{your_userName}/{gist_id}
> Type ">Sync" In Command Palette into order download / upload
Here is the gif of the complete process when you execute the Upload command (Might take some time to load)
When downloading or uploading for the first time, the welcome page will automatically open, where you can configure the Settings Sync.

![Upload](https://media.giphy.com/media/xT9IglKxSqs2Wdwq2c/source.gif)
Once you select upload, after uploading the settings. You will see the Summary details with the list of each files and extensions uploaded.

## Download your Settings

**Press Shift + Alt + D it will ask your GitHub Gist ID.**
**Press Shift + Alt + D**

> Type ">Sync" In Command Palette into order download / upload
**Enter Your GitHub Token.**

Enter the GitHub token in the window and click enter.

![github account access token](https://shanalikhan.github.io/img/upload1.png)

**Enter Your Gist ID.**

You need to enter your Gist ID in order to download the files you have uploaded with Shift + Alt + U.

![Enter Your Gist ID](https://shanalikhan.github.io/img/download2.png)
When downloading or uploading for the first time, the welcome page will automatically open, where you can configure the Settings Sync.

**Settings Downloaded.**
You are Done! All your files are downloaded

![Enter Your Gist ID](https://shanalikhan.github.io/img/download3.png)

Here is the gif of the complete process when you execute the Download command (Might take time to load)


![Download](https://media.giphy.com/media/xT9Iglsi3CS9noE8tW/source.gif)
Once you select download, after downloading. Settings Sync will display you Summary containing the list of each files and extension being downloaded.

New popup will be opened to allow you to restart the code to apply the settings.

## Reset Extension Settings

> Type ">Sync" In Command Palette and select Reset Extension Settings
> Select **"> Sync : Reset Extension Settings"** in the Command Palette to reset your settings
## Toggle Auto Download

Expand All @@ -161,6 +137,14 @@ Please make sure you have valid github Token and Gist available to make it work

Select Command **"Sync : Advanced Options > Toggle Force Download"** command to Turn ON / OFF the force download.

## Toggle Force Upload

Force Upload is **disabled by default**. By default, extension won't upload the settings if the gist has newer or identical content. By turning this ON it will always upload without checking for newer settings in the gist.

Please make sure you have valid github Token and Gist available to make it work properly.

Select Command **"Sync : Advanced Options > Toggle Force Upload"** command to Turn ON / OFF the force upload.

## Toggle Auto-Upload on change

Auto-upload is **disabled by default**. When the settings are changed and saved this feature will automatically start the upload process and save the settings online.
Expand All @@ -169,7 +153,6 @@ Please make sure you have valid github Token and Gist available to make it work

Select Command **"Sync : Advanced Options > Toggle Auto-Upload on Settings Change"** command to Turn ON / OFF the auto-upload.


## Toggle Summary

Summary is **enabled by default** which shows all files and extensions that are added or deleted on a single page.
Expand All @@ -186,9 +169,10 @@ Select Command **"Sync : Advanced Options > Share Settings with Public GIST"**

Other users can give your Gist Id to download the Gist, but they can't upload their settings on your Gist.


## Settings

Settings can be changed through the settings page, which can be accessed through **"> Sync : Advanced Options > Open Settings Page"**

There are two types of settings in Settings Sync.
I will recommend you to read the configurations details [here](https://medium.com/@itsShanKhan/visual-studio-code-settings-sync-configurations-ed8dd6fd9753).

Expand All @@ -199,19 +183,20 @@ You can customize the settings in gist settings like:

```
1. Configure Gist Id (Environment)
2. Configure auto upload / download for Github Gist
2. Configure auto upload / download for Github Gist
3. Configure extension sync behaviour
4. Configure force download
5. Configure quiet sync
4. Configure force upload
6. Configure quiet sync
```

```json
"sync.gist": "0c929b1a6c51015cdc9e0fe2e369ea4c",
"sync.autoDownload": false,
"sync.autoUpload": false,
"sync.forceDownload": false,
"sync.forceUpload": false,
"sync.quietSync": false,
"sync.askGistName": false,
"sync.removeExtensions": true,
"sync.syncExtensions": true
```
Expand All @@ -238,33 +223,31 @@ You can customize the sync:

```json
{
"ignoreUploadFiles": [
"projects.json",
"projects_cache_vscode.json",
"projects_cache_git.json",
"projects_cache_svn.json",
"gpm_projects.json",
"gpm-recentItems.json"
],
"ignoreUploadFolders": [
"workspaceStorage"
],
"ignoreExtensions": [
"ignored_extension_name"
],
"gistDescription": "Visual Studio Code Settings Sync Gist",
"version": 310,
"token": "YOUR_GITHUB_TOKEN_HERE",
"downloadPublicGist": false,
"supportedFileExtensions": [
"json",
"code-snippets"
],
"openTokenLink": true,
"lastUpload": null,
"lastDownload": null,
"githubEnterpriseUrl": null,
"hostName": null
"ignoreUploadFiles": [
"state.*",
"syncLocalSettings.json",
".DS_Store",
"sync.lock",
"projects.json",
"projects_cache_vscode.json",
"projects_cache_git.json",
"projects_cache_svn.json",
"gpm_projects.json",
"gpm-recentItems.json"
],
"ignoreUploadFolders": ["workspaceStorage"],
"ignoreExtensions": ["ignored_extension_name"],
"gistDescription": "Visual Studio Code Settings Sync Gist",
"version": 310,
"token": "YOUR_GITHUB_TOKEN_HERE",
"downloadPublicGist": false,
"supportedFileExtensions": ["json", "code-snippets"],
"openTokenLink": true,
"lastUpload": null,
"lastDownload": null,
"githubEnterpriseUrl": null,
"hostName": null,
"autoUploadDelay": 20
}
```

Expand Down Expand Up @@ -294,20 +277,18 @@ Thank you to all our backers! [[Become a backer](https://opencollective.com/code
<a href="https://opencollective.com/code-settings-sync#backers" target="_blank"><img src="https://opencollective.com/code-settings-sync/backers.svg?width=890"></a>
[<img src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif">](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4W3EWHHBSYMM8&lc=IE&item_name=Code%20Settings%20Sync&item_number=visual%20studio%20code%20settings%20sync&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted)


### Sponsors

Thank you to all our sponsors! (please ask your company to also support this open source project by [becoming a sponsor](https://opencollective.com/code-settings-sync))

## [Contributors](https://github.com/shanalikhan/code-settings-sync/graphs/contributors)

# [Release Notes](https://shanalikhan.github.io/2016/05/14/Visual-studio-code-sync-settings-release-notes.html)

# License


[![Version](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/shanalikhan/code-settings-sync/blob/master/LICENSE)


[![Version](https://vsmarketplacebadge.apphb.com/version/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)

[![Installs](https://vsmarketplacebadge.apphb.com/installs/Shan.code-settings-sync.svg)](https://marketplace.visualstudio.com/items?itemName=Shan.code-settings-sync)
Expand Down
9 changes: 7 additions & 2 deletions configs/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@

const path = require("path");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const webpack = require("webpack");

/** @type WebpackOptions */
const config = {
stats: {
warningsFilter: /Critical dependency: the request of a dependency is an expression/
},
target: "node",
entry: "./src/extension.ts",
output: {
Expand All @@ -17,7 +19,10 @@ const config = {
resolve: {
extensions: [".ts", ".js"],
alias: {
deepmerge$: path.resolve(__dirname, "../node_modules/deepmerge/dist/umd.js")
deepmerge$: path.resolve(
__dirname,
"../node_modules/deepmerge/dist/umd.js"
)
}
},
module: {
Expand Down
Binary file added images/existing-gist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/login-with-github.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/white-cloud.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit a4fe4f6

Please sign in to comment.