echo("備忘録");

IT技術やプログラミング関連など、技術系の事を備忘録的にまとめています。

【Visual Studio Code】Settings Syncで環境を同期する

前回のブログで、最後に「環境の再現なら、Settings Syncを使えば...」という記載をしたのですが、VS Codeでの環境を同期する拡張機能「Settings Sync」が使いやすかったので、それを使用した環境の同期方法を書きました。

前提

前提として、下記が必要になります。

Githubの「個人アクセストークン」の取得方法

  1. Githubにログインして、右上のメニューから「Settings」を選択
  2. 左のメニューから「Developer Settings」を選択
  3. 左のメニューから「Personal Access Tokens」を選択する。
  4. 「Token description」には任意の文字列(「Settings Sync Token」とか)を入力し、チェックボックスは「gist」のみチェックを付ける。
  5. 1~4を終えると、トークンが表示されるので、メモなりコピーなりしておく。
    • このトークンは一度画面を閉じると、再度表示できないので注意。
    • トークンを忘れたら、「Generate New Token」で別のトークンを生成する。

f:id:Makky12:20190503195003p:plain f:id:Makky12:20190503195017p:plain f:id:Makky12:20190503195028p:plain

インストール&VSCode設定のアップロード方法

  • インストールは、VS Codeの「拡張機能」から「Settings Sync」で検索すれば見つかるので、インストールすればOK。
  • インストール完了後、コマンドパレットの「Sync:設定をアップロード」(またはshift+alt+「u」)を実行。
  • Github の個人アクセストークンを入力してください」と表示されるので、先程取得したトークンを入力する。

f:id:Makky12:20190503195509p:plain f:id:Makky12:20190503195047p:plain

「Gist ID」の確認方法

  1. アップロードを完了後、Github右上のメニューから「Your Gists」を選択
  2. 「cloudSettings」という項目があるので、選択。
  3. 「cloudSettings」のURLを見ると、「https:// gist.github.com/(ユーザー名)/(文字列)」となっており、最後の(文字列)の部分がGist IDになる。

設定のダウンロード方法

  1. コマンドパレットの「Sync:設定をダウンロード」(またはshift+alt+「d」)を実行。
  2. Github の個人アクセストークンを入力してください」と表示されるので、最初に取得したトークンを入力する。
  3. 「Gist Id を入力してください」と表示されるので、先程確認した「Gist ID」を入力する。
  4. すると、設定のダウンロードが始まる。(「出力」にダウンロード状況が表示される。)

トークンとGist IDの順番を間違えないように注意!!
※設定をダウンロードすると、元々ローカルPCにインストールした拡張機能はなくなってしまう(「マージ」ではなく「上書き」)。
なのでダウンロード前に、あらかじめアップロードしておくこと!!

f:id:Makky12:20190503195055p:plain

トークンやGist IDを間違えてしまったら?

  • コマンドパレットの「Sync:拡張機能の設定をリセット」を実行すれば、トークンやGist IDの設定が消去される。
  • その後、アップロードやダウンロードを実行すると、再度聞かれるので、正しい値を入力すればOK。

未確認事項(確認したいけどできない)

  • 複数台のPCで、それぞれ設定をアップロードすると、複数の「cloudSettings」ができる。
  • Gist側で、各*.jsonファイルの内容をマージしたら、一つに統合できるのか?
  • 下記「対処法が不明な現象」のせいで、確認ができない...

対処法が不明な現象

  • VS Codeの最新版(1.33.1)をインストール後、Settings Syncでアップロードやダウンロードを行おうとすると、下記エラーが発生する。
    • DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
  • 「Buffer()」が脆弱性の関係で非推奨なので別の記載をしろ、というエラーだが、いろいろネットで調べても、有効な回避法が見つかっていない。
  • 対処方法をご存知の方がいれば、Twitterなどでご連絡をお願いします。

最後、尻切れトンボみたいな感じになってしまいましたが、だいたいこんな感じで、環境の同期ができます。