7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VSCodeで'Don't show again'を押してしまった通知を復活させる

Posted at

ハマったけど情報が見つからなかったのでメモ。

Don't Show Again

VSCode 右下に出るこのような通知は、「Don't Show Again」を選択することで以後表示されなくなります。

image.png

しかし間違えて選択してしまった場合や、一度消した通知があとから欲しくなったときに復旧する項目が VSCode の設定項目に見当たりませんでした。
二度と表示させねえという意思があまりにも強すぎる。

設定の復旧

ワークスペースの特定

これらの設定はグローバルに存在する通知オフ設定(extensions.ignoreRecommended など)とは独立して、
ワークスペース単位で管理しているようです。

ワークスペース固有の環境設定はワークスペースのフォルダ内にはなく、別の場所で管理されています。

mac の場合は $HOME/Library/Application\ Support/Code/User/workspaceStorage にありました。
別 OS でも似たような場所( AppData 以下や .config 以下にあるのではないかと思います。)

現在作成されているワークスペースはこのディレクトリ下に管理されていますが、
単純なワークスペース名では無くなんらかのハッシュ値もしくは乱数によって命名されているようです。
このディレクトリは次のような構成になっています。(ちゃんと検証していないので環境差あるかも)

2a7b2639e3fb95fc60d7e863ca9ebda4/
├── state.vscdb
├── state.vscdb.backup
└── workspace.json

このうち workspace.json にワークスペースの存在するディレクトリが記述されているので、
これを参考に該当のワークスペースを探します。

workspace.json
{
  "folder": "file:///Users/USERNAME/path/to/workspace"
}

通知の復旧

まずは作業前に VSCode を終了しておきます。

難しいことを考えたくない場合、この特定したディレクトリを削除すれば解決です。
ただし何が入っているのかよくわからないので、編集過程の保存していない進捗のキャッシュなども飛ぶかもしれない。
(レコード見た感じターミナルやファイラが開いた状態か?や最後にカーソルがどこにあったか?みたいな情報も記録されている気がする)

それでは困る場合は具体的な通知無効化の設定を特定し、無効化を解除する必要があります。

このワークスペースのディレクトリに含まれるファイルのうち、 state.vscdb は sqlite3 のバイナリになっていました。
この中に無効化した通知等の設定が記録されているので、このファイルを sqlite3 で読み込み該当するレコードを削除します。

今回の例では、無効化してしまったワークスペース単位での推奨拡張の通知を再度表示するようにしたいというのが目的だったので、
以下のレコードが該当します。
image.png

このレコードを削除して VSCode を再度起動し、該当のワークスペースを開き直したところ上記の通知が復旧しました。

おわりに

無効化した通知の再有効化とかエディタの設定項目に用意してくれてても良い気がするというか、
ここまでしてマジで通知を徹底的に潰す理由もあるんだろうかという気がするのでどっかに設定項目あるのかもしれん。
でも見つからなかったので...

7
2
0

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
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?