Visual Studio for Unity を入れていても「Unity にアタッチ」出来なくなる事があったので、解決策をメモ。
unity2020、Visual Studio 2019 で確認しました。
プロジェクト環境に依存するかもしれませんが unity 実行中に、Shader の Compile and show code をクリックすると Visual Studio 2019 が起動します。

これだけで、「Unity にアタッチ」ボタンが「開始」になってしまい、デバッグできない状態に…。
このソースコードを閉じたり、Visual Studio 2019 を再起動しても状況は改善されません。
更にひどいと、インテリセンスが壊れて今までエラーのなかったコードをエラー検出してしまうことも…。
対処法は、一時ファイルを全て消す
一旦 unity を落とし、unity 環境下のあらゆる一時ファイル&フォルダを消しましょう。

その後 unity を再起動すると(初回起動に時間がかかるものの)無事「Unity にアタッチ」が復活します。
こんなことしなくても Visual Studio 2019 の方で上手く戻せないかと探ってみましたが、Visual Studio 関係のファイルを消すだけではダメでした。