VScodeの拡張機能が動作しなくなった
一部の拡張機能を利用しようとすると、
vscode command <拡張機能> not found
と出力されるようになってしまった。
最初はよく使う1,2個だったので、てっきりVisual Studio Codeのアップデートか、拡張機能のアップデートによるもの、と考えていたが、段々とエラーになる機能が増えてきたので、端末の環境が悪いのでは?と疑って色々とやってみることにした。
最終的に、Visual Studio Codeの再インストールが必要になった。
Visual Studio Codeの再インストール方法
HomeBrewを利用した再インストール
まずはVisual Studio Codeの再インストールをHomeBrewから試みた。以下のコマンドを実行する
1
2
| brew reinstall visual-studio-code
Error: Cask 'visual-studio-code' definition is invalid: invalid 'depends_on macos' value: unknown or unsupported macOS version: :mavericks
|
利用しているOS(El Capitan) よりも1世代前のOSに依存しているとエラーが出て再インストールできない(笑
一度アンインストールした後、再度インストールであればいけるのでは?と思い、アンインストールしてみる
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| Error: Cask 'visual-studio-code' definition is invalid: invalid 'depends_on macos' value: unknown or unsupported macOS version: :mavericks```
```shellbrew uninstall --force visual-studio-code
Error: Cask 'visual-studio-code' definition is invalid: invalid 'depends_on macos' value: unknown or unsupported macOS version: :mavericks```
```shellbrew remove visual-studio-code
Error: Cask 'visual-studio-code' definition is invalid: invalid 'depends_on macos' value: unknown or unsupported macOS version: :mavericks```
uninstallコマンド、–forceを付けた強制コマンド、removeのいずれもが失敗(笑
### Visual Studio Codeの手動削除
Brewで消すことができなかったので、手動でのアンインストール、インストールを試みる。手動削除とはいうが、ツールを利用してほぼ自動化する。
まずはアプリアンインストールのためのアプリ、app cleanerを入手する。
```shellbrew install --cask appcleaner```
インストールが終わったら、app cleanerを起動して、Visual Studio Codeの削除を行う。
### 拡張機能のバックアップ作成
app cleanerでは、なぜか、ユーザホームにある、拡張機能はアンインストールされない。拡張機能が起動できなくなることからも、Visual Studio Codeの再インストール時に拡張機能も一緒に保存した方が良いと考える。まずはバックアップを作成する
```shellcp -Rp ~/.vscode/extensions/ ~/```
こちらのバックアップは万一の時のための保存であって基本的に利用しない。
### 設定ファイルのバックアップ
```shellcp -p ~/Library/Application Support/Code/User/settings.json```
これでカレントディレクトリにsetting.jsonのバックアップが獲得できたことになる。こちらは後で利用する。
次に拡張機能のバックアップをリストとして保存する
```shellcode --list-extensions > vscode-extensions.txt```
これで vscode-extensions.txt に再インストールすべき拡張機能がリスト化される。
### Visual Studio Codeの再インストール
[公式サイトのダウンロードリンクから最新のもの][1]をダウンロードしてインストールする
### codeコマンドの再インストール
Visual Studio Codeのインストールが終了し、起動を確認したら、コマンドパレット(Shift + Command + p) を起動して、_Command: Install ‘code’ command in PATH command_ を実行する。
### 拡張機能の再インストール
codeコマンドが実行可能になったら先程のリストを利用して、拡張機能を再インストールする
```shellcat ./vscode-extensions.txt | while read line
do
code --install-extension $line
done
|
設定ファイルの差分更新
Visual Studio Codeを起動して、コマンドパレット(Shift + Command + p)から Setting.jsonを開き設定画面に入る。
設定画面に定義されている内容があれば、中身を消さないように、事前に保存していた内容との差分更新を行う。
brewで再インストールできなかった理由については調べていないが、ここまでやってようやく、拡張機能が正しく起動することができた。