Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* Updated to task api 2.0.0 and fixed tests

* Set "extensionKind": "ui" to support remote development #61

Fixes #870. See that issue for details

* Clean up previous commits into one

* #800 #515 #854

* Utilized pragmaUtil Functions for kb.json file

* Typo fix

* Added universalKeybindings setting

* chore(package): update @types/node to version 12.0.0 (#873)

* Cleaned up toggling commented settings (#877)

* Cleaned up toggling commented settings

* Updated to include fix by @ioprotium

* Fix warning with webpack

* Update UI

* Change height to max-height

* Add image locally and move it to the top

* Added documentation for tests in CONTRIBUTING.md (#881)

* fix(package): update fs-extra to version 8.0.0 (#882)

* chore(package): update @types/fs-extra to version 7.0.0 (#885)

* chore(package): update @types/node to version 12.0.1 (#883)

* fix(package): update fs-extra to version 8.0.1 (#884)

* Update UI to fit guidelines

* chore(package): update @types/node to version 12.0.2 (#887)

* Improve UI and functionality

* Match BG of theme and properly contrast text

* Fix issues with themes

* Fix image not showing up with light theme

* Fix issues with contrast

* Fix issue with VS Code's WebView

* Update UI and functionality

* Fix potential issue with light themes

* Fix issues with theme on modal

* Refactor

* Add new (but experimental) localizations (#898)

* chore(package): update clean-webpack-plugin to version 3.0.0 (#899)

*  #891

* Update settings page after a reset

* Improve code

* fix(clean-webpack-plugin): (#901)

clean-webpack-plugin was recently updated, and it had breaking changes.

* chore(package): update @types/node to version 12.0.3 (#897)

* #668

* fix(OSS):

enums.ts
----
Allow for setting os type with less code

environmentPath.ts
----
Find code folder and extensions folder more efficiently
Get OS type more efficiently

settings.ts
----
Ignore all state files

sync.ts
----
Adapt for changes in pluginService

pluginService.ts
----
Use vscode command to install extensions
Clean up code and simplify names

* Install extensions in order

* Comment legacy code instead of deleting it

* Fix extension install

* Fix issue with extensions always being deleted

* Get code path more efficiently

* Make sure to escape spaces in cli path

* Fix issues with portable builds

* Support Windows and certain editions

* Improve method for finding extension folder

* Start using API for installation

* Prepare for new API command

* Get ready for new API command

* Fix issue with installation

* Commit requested changes

* #668

* Format pluginService.ts (#906)

* #668

* Throw error

* Try to fix issues with getting missing

* chore(package): update @types/node to version 12.0.7 (#904)

* chore(package): update @types/node to version 12.0.8 (#908)

* #668

* #668

* #668

* #839

* Support multiple instances

* Completely switch to state

* Update to work properly

* Move setting classes to their own models

* Update service names

* Only auto upload using focused window

* Resolve merge conflicts

* #886

* Resolve locale properly

* Clean constructor

* Use state instead of passing in argument

* Update to be compatible with v3.3.0 changes

* Fix readme

* Fix package.json

* Add new settings

* Increase contrast

* Update

package.nls.*.json
----
Add localizations for setting names and placeholders.

github.oauth.service.ts
----
Handle errors in a more user-facing way
Support GitHub enterprise
Show message to user after success

webview.service.ts
----
Use new localizations for names and placeholders

* Bug fix and upload images

* Add support for commits to master (release notes)

* Fix issue

* Fix another issue with release notes

* Update release note template

* Update release notes

* Don't open gist selection if there aren't any gists

* Allow user to view gist

* Revert accidental change

* Support public gist

* Add css, js, and fonts to repo

* Improve font injection

* Revert accidental change
  • Loading branch information
auxves authored and shanalikhan committed Jul 1, 2019
1 parent 6fd8dca commit 7257166
Show file tree
Hide file tree
Showing 48 changed files with 2,172 additions and 135 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", "./"]
}
]
}
}
60 changes: 11 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ 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
Expand All @@ -69,75 +70,35 @@ All extensions and complete User Folder that Contains
2. Download Key : Shift + Alt + D
```

## Steps To Get a Personal Access Token from GitHub

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.

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

![Select Scopes](https://shanalikhan.github.io/img/github2.PNG)

**Get an Access Token.**

![Get Access Token](https://shanalikhan.github.io/img/github3.PNG)

> Save the Token somewhere for future use (i.e. to upload from other machines).
## Upload Your Settings For the first time

**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.

Enter the GitHub token in the window and click enter.

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

**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.

![uploaded automatically](https://shanalikhan.github.io/img/upload2.png)
When downloading or uploading for the first time, the welcome page will automatically open, where you can log in with GitHub.

You can always **verify created gist** on the following url:
![Login with GitHub](images/login-with-github.png)

> https://gist.github.com/{your_userName}/{gist_id}
Here is the gif of the complete process when you execute the Upload command (Might take some time to load)

![Upload](https://media.giphy.com/media/xT9IglKxSqs2Wdwq2c/source.gif)
You can always **verify created gist** by going to `https://gist.github.com` and checking for a gist named `cloudSettings`

## Download your Settings

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

> 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.**
**Login with GitHub**

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

![Enter Your Gist ID](https://shanalikhan.github.io/img/download2.png)
![Existing Gist](images/existing-gist.png)

**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)
You are Done! All your files are downloaded

## 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 Down Expand Up @@ -188,6 +149,8 @@ Other users can give your Gist Id to download the Gist, but they can't upload th

## 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 @@ -212,7 +175,6 @@ You can customize the settings in gist settings like:
"sync.forceDownload": false,
"sync.forceUpload": false,
"sync.quietSync": false,
"sync.askGistName": false,
"sync.removeExtensions": true,
"sync.syncExtensions": true
```
Expand Down
19 changes: 13 additions & 6 deletions configs/webpack.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
const path = require("path");
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
const webpack = require("webpack");
const nodeExternals = require("webpack-node-externals");

/** @type WebpackOptions */
const config = {
Expand All @@ -17,7 +18,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 All @@ -29,11 +33,14 @@ const config = {
}
]
},
externals: {
vscode: "commonjs vscode",
"vscode-fsevents": "commonjs vscode-fsevents",
"original-fs": "commonjs original-fs"
},
externals: [
{
vscode: "commonjs vscode",
"vscode-fsevents": "commonjs vscode-fsevents",
"original-fs": "commonjs original-fs"
},
nodeExternals()
],
plugins: [new CleanWebpackPlugin()]
};

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.
11 changes: 10 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,9 @@
},
"devDependencies": {
"@types/chai": "4.1.7",
"@types/express": "^4.16.1",
"@types/lodash": "^4.14.123",
"@types/node-fetch": "^2.3.3",
"@types/fs-extra": "^8.0.0",
"@types/mocha": "^5.2.6",
"@types/node": "^12.0.9",
Expand All @@ -178,11 +181,17 @@
},
"dependencies": {
"@octokit/rest": "^16.23.2",
"adm-zip": "^0.4.13",
"const": "^1.0.0",
"express": "^4.16.4",
"fs-extra": "^8.0.1",
"https-proxy-agent": "^2.2.1",
"lockfile": "^1.0.4",
"lodash": "^4.17.11",
"node-fetch": "^2.5.0",
"recursive-readdir": "^2.2.2",
"temp": "^0.9.0",
"vscode-chokidar": "^1.6.5"
"vscode-chokidar": "^1.6.5",
"webpack-node-externals": "^1.7.2"
}
}
33 changes: 32 additions & 1 deletion package.nls.de.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"cmd.otherOptions.error.toggleFail": "Sync: kann Nicht Umschalten.",
"cmd.otherOptions.joinCommunity": "Sync: Join Community",
"cmd.otherOptions.openIssue": "Sync: Offene Frage",
"cmd.otherOptions.openSettingsPage": "Sync: Einstellungen Öffnen",
"cmd.otherOptions.preserve": "Sync: Bewahren Sie Die Einstellung Zu Beenden Überschreibung Nach Download",
"cmd.otherOptions.preserve.info.done1": "Sync: Getan. {0} - Wert entfernt von Einstellungen.json nach dem Download.",
"cmd.otherOptions.preserve.info.done2": "Sync: Getan. Erweiterung halten Sie {0}: {1} in der Einstellung.json nach dem Download.",
Expand Down Expand Up @@ -96,16 +97,46 @@
"common.prompt.restartCode": "Wollen Sie laden sich zu bewerben Erweiterungen und Konfigurationen?",
"ext.config.askGistName": "Fragen gist Namen auf erstellen. Hilft Ihnen zu identifizieren, das wesentliche, wenn Sie mehrere Gist.",
"ext.config.autoDownload": "Gesetzt, es wahr zu Automatischen Download der settings auf den code starten. [Code-Neustart Erforderlich]",
"ext.config.autoDownload.name": "Auto-Download",
"ext.config.autoUpload": "Legen Sie true, um die Automatische Upload über die settings ändern. [Code-Neustart Erforderlich]",
"ext.config.autoUpload.name": "Automatischer Upload",
"ext.config.forceDownload": "Setzen Sie ihn auf true, wenn Sie möchten, laden Sie die Einstellungen sogar, wenn Sie die aktuellen Einstellungen.",
"ext.config.forceDownload.name": "Force Download",
"ext.config.forceUpload": "Setzen Sie ihn auf true, wenn Sie möchten, laden Sie die Einstellungen, auch wenn die KERNAUSSAGE hat die neuen Einstellungen.",
"ext.config.forceUpload.name": "Force Upload",
"ext.config.gist": "GitHub GIST-ID für Sync-Einstellungen.",
"ext.config.gist.name": "Gist-ID",
"ext.config.gist.placeholder": "Geben Sie Gist-ID",
"ext.config.host": "Legen Sie es auf Ihrem GitHub-Enterprise-host, wenn Sie verwenden möchten GHE.",
"ext.config.lastDownload": "Einstellungen-Sync-Letzte download-Datum. Legen Sie es als leer, wenn Sie möchten, um manuell hit download.",
"ext.config.lastUpload": "Einstellungen für Sync last upload-Datum. Legen Sie es als leer, wenn Sie möchten, um manuell hit download.",
"ext.config.pathPrefix": "Legen Sie es auf Ihrem GitHub-Enterprise-API-Präfix wenn Sie verwenden möchten GHE. In der Regel \"/api/v3'. Nur verwendet, wenn host festgelegt ist.",
"ext.config.quietSync": "Wenn auf true gesetzt, wird das Ergebnis in der Statuszeile statt der Seite \"Zusammenfassung\".",
"ext.config.quietSync.name": "Ruhige Sync",
"ext.config.removeExtensions": "Setzen Sie ihn auf false, wenn Sie nicht wollen, zu entfernen, Erweiterungen und herunterladen.",
"ext.config.removeExtensions.name": "Entfernen Von Erweiterungen",
"ext.config.syncExtensions": "Setzen Sie ihn auf false, wenn Sie nicht wollen, um upload/download-Erweiterungen.",
"ext.config.title": "Code-Einstellungen-Sync-Konfigurations-Einstellungen"
"ext.config.syncExtensions.name": "Sync-Erweiterungen",
"ext.config.title": "Code-Einstellungen-Sync-Konfigurations-Einstellungen",
"ext.globalConfig.askGistName.name": "Fragen Gist Namen",
"ext.globalConfig.autoUploadDelay.name": "Auto-Upload-Verzögerung",
"ext.globalConfig.autoUploadDelay.placeholder": "Geben Sie die Anzahl der Sekunden Verzögerung auto-upload",
"ext.globalConfig.downloadPublicGist.name": "Download Public Gist",
"ext.globalConfig.gistDescription.name": "Gist Beschreibung",
"ext.globalConfig.gistDescription.placeholder": "Geben Sie Wesentliche Beschreibung",
"ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise-URL (optional)",
"ext.globalConfig.githubEnterpriseUrl.placeholder": "Geben Sie GitHub Enterprise URL",
"ext.globalConfig.hostName.name": "Hostname (optional)",
"ext.globalConfig.hostName.placeholder": "Hostname Eingeben",
"ext.globalConfig.ignoreExtensions.name": "Ignoriert Erweiterungen",
"ext.globalConfig.ignoreExtensions.placeholder": "Geben Sie eine Erweiterung pro Zeile (vollständiger name)",
"ext.globalConfig.ignoreUploadFiles.name": "Ignoriert Dateien",
"ext.globalConfig.ignoreUploadFiles.placeholder": "Geben Sie pro Zeile eine Datei",
"ext.globalConfig.ignoreUploadFolders.name": "Ignoriert Ordner",
"ext.globalConfig.ignoredUploadFolders.placeholder": "Geben Sie einen Ordner pro Zeile",
"ext.globalConfig.openTokenLink.name": "Öffnen Token Link",
"ext.globalConfig.supportedFileExtensions.name": "Unterstützte Datei-Erweiterungen",
"ext.globalConfig.supportedFileExtensions.placeholder": "Geben Sie einen Datei-Erweiterung pro Zeile",
"ext.globalConfig.token.name": "Access-Token",
"ext.globalConfig.token.placeholder": "Geben Sie Token"
}
33 changes: 32 additions & 1 deletion package.nls.es.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"cmd.otherOptions.error.toggleFail": "Sincronización: no se puede Alternar.",
"cmd.otherOptions.joinCommunity": "Sincronización: Únete A La Comunidad",
"cmd.otherOptions.openIssue": "Sincronización: Tema Abierto",
"cmd.otherOptions.openSettingsPage": "Sincronización: Abrir La Configuración",
"cmd.otherOptions.preserve": "Sincronización: Preservar La Configuración De Dejar De Reemplazar Después De La Descarga",
"cmd.otherOptions.preserve.info.done1": "Sincronización: Hecho. {0} valor será eliminado de la configuración.json después de la descarga.",
"cmd.otherOptions.preserve.info.done2": "Sincronización: Hecho. Extensión mantendrá {0}: {1} en el establecimiento.json después de la descarga.",
Expand Down Expand Up @@ -96,16 +97,46 @@
"common.prompt.restartCode": "¿Desea volver a cargar para aplicar extensiones y configuraciones?",
"ext.config.askGistName": "Pida a los gist nombre sobre la creación. Ayuda a identificar la esencia si tiene varios fundamentos.",
"ext.config.autoDownload": "Conjunto es cierto para Descargar automáticamente los ajustes en el código de inicio. [Código Necesario Reiniciar]",
"ext.config.autoDownload.name": "Descarga Automática",
"ext.config.autoUpload": "Conjunto es cierto para Carga Automática en la configuración de cambio. [Código Necesario Reiniciar]",
"ext.config.autoUpload.name": "Carga Automática",
"ext.config.forceDownload": "Se establece en true si desea descargar los ajustes, incluso cuando se tiene la configuración más reciente.",
"ext.config.forceDownload.name": "La Fuerza De La Descarga",
"ext.config.forceUpload": "Se establece en true si desea cargar la configuración incluso cuando la ESENCIA tiene una configuración nueva.",
"ext.config.forceUpload.name": "Fuerza De Carga",
"ext.config.gist": "GitHub ESENCIA de IDENTIFICACIÓN para la Configuración de Sincronización.",
"ext.config.gist.name": "Gist ID",
"ext.config.gist.placeholder": "Entrar en Esencia ID",
"ext.config.host": "Establece a su GitHub Enterprise host si desea utilizar GHE.",
"ext.config.lastDownload": "La configuración de Sincronización de la última fecha de descarga. Establecer como vacío si desea manualmente golpe de descarga.",
"ext.config.lastUpload": "La configuración de Sincronización de la última fecha de subida. Establecer como vacío si desea manualmente golpe de descarga.",
"ext.config.pathPrefix": "Establece a su GitHub Enterprise API prefijo si desea utilizar GHE. Normalmente '/api/v3'. Sólo se utiliza cuando el host está configurado.",
"ext.config.quietSync": "Cuando se establece en true, se mostrará el resultado en la barra de estado en lugar de la página de resumen.",
"ext.config.quietSync.name": "Tranquilo Sync",
"ext.config.removeExtensions": "Establece en false si no desea eliminar extensiones, mientras que la descarga.",
"ext.config.removeExtensions.name": "Quitar Las Extensiones De",
"ext.config.syncExtensions": "Establece en false si usted no desea cargar/descargar las extensiones.",
"ext.config.title": "Código De Configuración De La Configuración De Sincronización De La Configuración De"
"ext.config.syncExtensions.name": "Sincronización De Extensiones",
"ext.config.title": "Código De Configuración De La Configuración De Sincronización De La Configuración De",
"ext.globalConfig.askGistName.name": "Pida A Los Gist Nombre",
"ext.globalConfig.autoUploadDelay.name": "Carga Automática De Retardo",
"ext.globalConfig.autoUploadDelay.placeholder": "Ingrese la cantidad de segundos de retardo de auto-carga",
"ext.globalConfig.downloadPublicGist.name": "Descargar Público Esencial",
"ext.globalConfig.gistDescription.name": "Gist Descripción",
"ext.globalConfig.gistDescription.placeholder": "Entrar En Esencia Descripción",
"ext.globalConfig.githubEnterpriseUrl.name": "GitHub Enterprise URL (opcional)",
"ext.globalConfig.githubEnterpriseUrl.placeholder": "Entrar en GitHub Enterprise URL",
"ext.globalConfig.hostName.name": "Nombre de host (opcional)",
"ext.globalConfig.hostName.placeholder": "Introduzca Nombre De Host",
"ext.globalConfig.ignoreExtensions.name": "Ignorado Extensiones",
"ext.globalConfig.ignoreExtensions.placeholder": "Introduzca una extensión por línea (nombre completo)",
"ext.globalConfig.ignoreUploadFiles.name": "Archivos Ignorados",
"ext.globalConfig.ignoreUploadFiles.placeholder": "Introduzca un archivo por línea",
"ext.globalConfig.ignoreUploadFolders.name": "Ignorado Carpetas",
"ext.globalConfig.ignoredUploadFolders.placeholder": "Entrar en una carpeta por cada línea",
"ext.globalConfig.openTokenLink.name": "Abierto Token De Enlace",
"ext.globalConfig.supportedFileExtensions.name": "Las Extensiones De Archivo",
"ext.globalConfig.supportedFileExtensions.placeholder": "Introduzca una extensión de archivo por línea",
"ext.globalConfig.token.name": "Token De Acceso",
"ext.globalConfig.token.placeholder": "Introduzca Token"
}
Loading

0 comments on commit 7257166

Please sign in to comment.