0
0

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 1 year has passed since last update.

WSL上でエディタを開く@VSCode

Posted at

はじめに

WSLとVScodeユーザーです。
最近、VScodeを使うのが不安でした。毎回、reopen in wsl?なんて聞いてくるから。
この親切をうっかり消してしまったとき、とんでもないことが起こるんじゃないか・・・と。(たぶん、linuxコマンドが使えなくなる)

それが解決しましたので、簡潔に方法を書きます。

前提

念のためですが、WSLはWindowsでLinuxを動かす(?)ものです。
Macユーザーの方は必要ないものです。

解決方法

codeコマンドを使うだけ

codeコマンドはVSCodeを開くコマンドです。
wsl上で開きたいディレクトリに移動し、codeコマンドを実行します。

$ cd Projects/sample-project
$ code .

これで、sample-projectをWSL / VScode上で編集できます。

雑記:wsl上のファイルへのアクセス@エクスプローラー

エクスプローラーや、各アプリからwsl上のファイルへアクセスできないことがあります。

そんなときは、ファイルパスへ

\\wsl$

と入力するだけです。

雑記:wslを通さずに開くと?

困ったときのChatGPT!

VSCode(Visual Studio Code)を使用してWSL(Windows Subsystem for Linux)上のプロジェクトにアクセスする場合、「Reopen in WSL?」というメッセージが表示されるのは、VSCodeがWSLの統合環境を通じてより効率的にプロジェクトを扱うことを推奨しているからです。WSLを通さずにVSCodeで直接プロジェクトを開くと、いくつかの問題が生じる可能性があります。

  1. パフォーマンスの問題: WSL上で動作しているLinuxベースの開発ツールやサーバーは、Windowsのファイルシステムを介してアクセスすると、パフォーマンスが低下する場合があります。WSL経由で直接アクセスすることで、これらのツールがより高速に動作するように最適化されています。

  2. パスの不整合: WindowsとLinuxではファイルシステムの構造が異なるため、WSLを介さずにファイルにアクセスすると、パスが正しく解決されないことがあります。これは、ビルドスクリプトや開発ツールが正しく動作しない原因になり得ます。

  3. 環境の整合性: WSLはLinux環境をエミュレートしており、多くのLinux固有の機能やツールをWindows上で直接利用できるようにしています。WSLを通さずにプロジェクトを開くと、これらのツールや機能が正しく動作しない、または期待通りの結果が得られない可能性があります。

  4. 権限の問題: Linuxのファイルシステムは、Windowsと比較してより厳格な権限管理を行っています。WSLを経由せずにファイルにアクセスすると、権限に関連する問題が発生する可能性があります。

これらの問題を回避するため、VSCodeではWSL統合機能を使用して、WSL上のプロジェクトを「Reopen in WSL」オプションで開くことを推奨しています。これにより、開発環境の整合性を保ちつつ、パフォーマンスやツールの互換性を最適化できます。

また、

WSLを通さずにVSCodeで直接WSL上のプロジェクトを開いた場合、Linuxコマンドを利用することに関しても問題が生じる可能性があります。

終わりに

codeコマンド!
これだけ覚えればヨシ!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?