WSL / コマンドプロンプトでコード . を実行すると、VS Code のインスタンスが 2 つ開きます

WSL / コマンドプロンプトでコード . を実行すると、VS Code のインスタンスが 2 つ開きます

code .私はUbuntu ターミナルで実行して Visual Studio Code で WSL2 を操作しています。

私はアプリケーションを作成しており、このアプリケーションのコードでは winsock2.h ヘッダーを使用しています。

Visual Studio Code で問題が見つかりました: Winsock2.h: No such file or directory

Linux 経由で Wi​​ndows ライブラリにアクセスしようとしているが、問題があることは理解しています。

ChatGPT をアシスタントとして使用すると、次を実行するように提案されました:

sudo apt-get install g++-mingw-w64-x86-64

Winsock2 ライブラリを使用するには、WSL に Windows SDK などの Windows 開発ライブラリをインストールする必要があります。

<Username>説明の中で、Windows ユーザー名を に置き換えました。

このコマンドを実行した後、以前の問題にはあまり役立ちませんでしたが、code .ターミナルから、コマンド プロンプトから、Windows Powershell から、または Git Bash から実行するたびに (これらすべてをチェックして、使用している Ubuntu-20.04 に問題がないことを確認しました)、2 つのインスタンスが開きます。

  1. 現在作業中のプロジェクトのフォルダーを開くと、サイドバーにこのプロジェクトに関連する Git ソース コントロールが表示されます。
  2. このインスタンスには、チェックボックス が付いた Workspace Trust の追加レイヤーが表示されTrust the authors of all files in the parent folder 'Users'、その上に が表示されます。 C:\Users\<Username>このインスタンスはルート フォルダーで開かれ、サイド バーには、以前作業していたプロジェクトに関連する Git ソース コントロールが表示されます。

ただし、Win キーを押してから Visual Studio Code を検索して Visual Studio Code を実行するか、フォルダーから直接入力すると、C:\Users\<Username>\AppData\Local\Programs\Microsoft VS Code\インスタンスは 1 つだけ開かれます。

次のコマンドを実行して元に戻そうとします:

sudo apt-get purge g++-mingw-w64-x86-64

しかし、それは役に立ちませんでした。

コマンド プロンプトで実行すると、次の 2 つの結果が返されました: C:\Users<Username>\AppData\Local\Programs\Microsoft VS Code\bin\code C:\Users<Username>\AppData\Local\Programs\Microsoft VS Code\bin\code.cmd

私は、Visual Studio Code を「--new-window」または「-n」引数で起動し、Visual Studio Code を新しいウィンドウで強制的に開くバッチ ファイルを作成することで、この問題を解決しようとしました。

次の行を含む code.bat ファイルを作成しstart "" "C:\Users\<Username>\AppData\Local\Programs\Microsoft VS Code\bin\Code.exe" --new-window 、システムの PATH 環境変数に「code.bat」ファイルの場所を追加しました。

しかし、それは役に立ちませんでした。

これを解決するために他に何ができるでしょうか? ありがとうございます。

編集: 何が起こったのかわかりませんが、この問題は突然止まりました。VS Code で .cpp ファイルを開くと、2 つのインスタンスも開きました。今回は、1 つは開いた .cpp ファイルで、もう 1 つは前述のプロジェクトでした。両方とも閉じました。今日、コードを実行すると、ターミナルでは、この問題が発生する前と同じように、プロジェクトのインスタンスのみが表示されます。

関連情報