LoginSignup
32
20

More than 1 year has passed since last update.

Visual Studio CodeのSettings Syncの「コンソールのログインエラー ([ヘルプ] > [開発者ツールの切り替え]) 」を解決する

Last updated at Posted at 2020-02-16

環境

  • Visual Studio Code: Version 1.42.1
  • OS: macOS Catalina Version 10.15.3
  • Settings Sync: Version 3.4.3

記事内で説明しているショートカットは、Mac以外の方は自分のOSのものに読み替えてください。
画面のスクショと説明が、英語と日本語のメニュー名ごちゃまぜかもしれませんが、あしからず。

問題

会社のPCのバッテリーがおかしくなり、新しいPCになったのでVSCodeのセットアップをしていたら、Settings Syncの設定ダウンロードで毎回同じエラーが出て同期ができませんでした。
もちろん、Gist IDとAccess Tokenは正しい状態です。

// 日本語
Sync: コンソールのログインエラー ([ヘルプ] > [開発者ツールの切り替え])

// 英語
Sync: Error Logged In Console (Help menu > Toggle Developer Tools).

vsc-sync-error1.png

この記事では、この原因(のおそらく一部)と解決方法について記載します。

結論

問題の原因

GitHub Gistの extensions.json に記載されている拡張に、VSCodeのMARKETPLACEから無くなったもの(非公開or削除)が含まれており、それをインストールしようとして失敗しまうため。

解決方法

extensions.json から、以下のいずれかの方法で該当の拡張のコードを消す。

  1. Settings Syncで同期している他のPCで該当の拡張をアンイストールして、設定をアップロードする
  2. GitHub Gistの extensions.json を直接編集する

説明

さきほどの画像だと、vscode-code-outline がMARKETPLACEから無くなっているのに、それをインストールしようとして、拡張が見つからずにエラーになっています。
毎回同じ場所でエラーになっていれば、その拡張が原因の可能性が高いです。

私の場合、MARKETPLACEから無くなった sublime-babel-vscodevscode-code-outline が前のPCでインストールされたままで、それらを新しいPCでインストールしようとしていました。

ということで、解決するためにはこれらをインストールしないようにすればよいです。

解決方法はおそらく↑に書いたように

  1. Settings Syncで同期している他のPCで該当の拡張をアンイストールして、設定をアップロードする
  2. GitHub Gistの extensions.json を直接編集する

のいずれかです。

簡単なのは前者で、他のPCで該当の拡張をアンインストールするだけでOKでしょう(これで解決できるかは試していません)。

ただ、私は会社の前のPCが使えない状態かつ、家に帰ってプライベートのPCが操作できるのを待つのはいやだったので、後者のGitHub Gistを直接編集して消す方法を取りました。

GitHub Gistを編集

GitHub Gistの編集の手順を説明します。

GitHub Gistを開く

※以下の説明ではVSCodeから開いていますが、もちろん、普通にブラウザ操作で開いてもOK

shift+cmd+p でコマンドパレットを開き、sync と打って表示される Advanced Options を選択。

vsc-sync-error2.png

Sync: Open Settings を選択。

vsc-sync-error3.png

Gist ID 右下の VIEW を選択して、Settings Syncで使っているGitHub Gistを開く。

vsc-sync-error4.png

GitHub Gistを編集

Edit を選択。

vsc-sync-error5.png

extensions.json にフォーカスを当て、cmd+F で該当の拡張を検索。

vsc-sync-error6.png

オブジェクト一式を削除。
該当の拡張のオブジェクトをすべて削除してください。

vsc-sync-error7.png

さらに cloudSettings も編集します。
extensions.json しか編集しないと、新しいPCでなんらかの設定を更新してGistにアップロードする前に、古いPCで設定を更新してアップロードしてしまうと、さきほど消した extensions.json の拡張のコードが復活してしまいます。
これは、設定の最新アップロード日時が、古いPCで設定が同期された日時以下のため、古いPCの設定が最新と認識されてしまい、消したコードが残ったままになるからです。
そのため、タイムスタンプを更新しておきます。

cloudSettingslastUpload を現在日時にでもしておきましょう。

vsc-sync-error8.png

画面最下部の Update secret gist を選択。

vsc-sync-error9.png

以上です。

Revisions で差分を見ると、コードが消えていることが確認できます。

vsc-sync-error10.png

これでエラーが起きていたPCで設定をダウンロードすると、この記事のエラーは起きないはずです!
他のエラーが出たら頑張って解決してください笑

余談

私は日本語のエラーと英語のエラーで検索しても、解決方法が見つけられませんでした。
Settings Syncのソースコードの common.error.message でこのエラーの文章が定義されており、ERROR_MESSAGE という変数に入れているのはわかりましたが、具体的にどういうエラーで起きるかはわからず。。。

結局、エラーが毎回同じ箇所で発生していることから推測して、この記事の内容にたどり着きました。

32
20
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
20