web-dev-qa-db-ja.com

nano / vim / emacsの代わりにVisual Studio Codeエディターを使用してファイルを編集する方法はありますか?

nanoコマンドでのみ.bashrcまたは.zshrcファイルを編集できるという問題があります。

code .bashrcと入力すると、空の.bashrcファイルが開きます。 nanoを使用すると、シェル内で機能し、nano .bashrcコマンドを使用してファイルを適切に表示しますが、nanoを介してファイルを編集するのは嫌いです。VisualStudioで編集したいのですが、修正方法これは、Visual Studio Codeが読み取れるようにするためです。ファイル?

地獄、通常のファイル(つまり.で隠されていないファイル)をcodeで編集しているときでも、機能している間はgit statusは変更を登録しませんが、登録しますファイルがnanoで編集された場合。 Shellを介した編集が嫌いで、Git Bashに戻ることを検討しているので、とてもイライラします。WSLでzshを使用する方がずっと好きですが。

4
RE5494569

WindowsでVisual Studio Codeを起動し、それを使用してWSLシステムに接続し、編集するファイルを開くことができます。これは、別のマシン上のファイルのSSHを介したリモート編集とほぼ同じように機能します(これは、WindowsクライアントとGNU/Linuxクライアントの両方から実行でき、それ自体がWSLとは別です)。ユーザーインターフェイスの観点からの唯一の違いは、接続するために選択するメニュー項目です。さらに、問題の内容に応じて、その設定手順maycodeコマンドを希望どおりに機能させます。

Remote Development Extension Pack をVisual Studio Codeにインストールすることをお勧めします(まだインストールしていない場合)。しかし、実際に必要なのは Remote-WSL 拡張機能だけです。 (Remote Development Extension Packは、SSHを介した非WSLシステムでのリモート編集のために、その拡張機能とその他の拡張機能をインストールします。)Visual Studio Code内からインストールできます。これらのリンクは主に参照用です。インストールが完了すると、すべき WSLシステム内からcodeを実行し、WSLシステムに接続するホストシステムでエディターウィンドウを開くことができますが、これはいつも見つけましたせいぜいぎこちない。

Visual Studio Code自体、つまりクライアントプログラムをWSLシステム内にインストールすることはサポートされておらず、他のグラフィカルUbuntuプログラムが通常実行されているVcXsrvのようなXサーバーを備えたWindowsシステムでも機能しない可能性があります。作業。 (試してみました。)WSLシステム内にVisual Studio Codeパッケージをインストールした場合は、それらを削除することをお勧めします。削除すると、codeコマンドが正しく機能するようになる場合があります。

とにかく、エディター内でWSLシステムに接続できます。これが私がお勧めする方法です。必要な拡張機能がインストールされていると、各Visual Studioコードウィンドウの左下隅に> <ボタンが表示され、マウスオーバーテキストOpen a remote windowが表示されます。

"Open a remote window" button on the lower-left corner of Visual Studio Code - in the default color scheme, this button is white on green

これをクリックすると、ウィンドウの上部にメニューが表示され、リモート編集を開始するためのさまざまなアクションが示されます。ほとんどの場合Remote-WSL:New Windowを選択することになるでしょう。

Menu showing selections relating to remote editing

新しいウィンドウの左下隅にWSL:Ubuntと表示されます。

The remote editing button the lower-left corner of the screen is now wider and says WSL: Ubuntu in it, indicating that most actions in this window apply to the remote editing session

リモート編集ウィンドウでファイルを開く場合、ネイティブのファイルを開くダイアログが表示される代わりに、Visual Studio Codeにメニューが表示され、接続しているシステムの任意の場所に移動できます。この場合、それはあなたのWSLシステムです。 押す Ctrl+O このモードでフォルダーを(通常の方法で)開くこともできます。これは、特にエディターでGit統合が必要な場合に、頻繁に実行することができます。しかし、.bashrcファイルを適切に編集するためには、おそらくそれを行いたくないでしょう。

The menu that comes up with you press Ctrl+O to select an individual file on the remote system to open in the editor

押すと表示されるメニューで Ctrl+O、それは/home/you/である必要がありますが、youの代わりに(WSLシステム上の)ユーザー名を使用します。たとえば、/home/ek/と表示されています。もしそうなら、あなたは正しい場所にいます。下にスクロールすると.bashrcが表示される場合がありますが、.bashrcと入力するだけなので、/home/you/.bashrcと表示されます。次に押す Enter またはクリック OK

The open-file menu, brought up by Ctrl+O, showing the user's home directory, in which the filename .bashrc has been entered, causing that file to be selected in the menu and ready to open

同じ方法で他のファイルを開くことができます。この手順は.bashrcに固有のものではありません。

ファイルを開いたら、編集して変更を保存できます。変更はWSLシステム内で行われます。

editing the file on the WSL system

エディターでGit統合を取得するには、フォルダーを開く必要があります-ローカルで編集する場合と同様に、Gitを使用して、ターミナルから他のアクションを実行できます。リモート編集ウィンドウでターミナルを開くと、ターミナルは接続しているシステム(この場合はWSLシステム)にシェルを提供します。あなたはすでにそのようなシェルを持っているかもしれません。そうでない場合は、 Ctrl+`

a remote terminal at the bottom of the remote Visual Studio Code window

これが機能する方法は、Visual Studio Codeが実際にはリモートシステム(この場合はWSLシステム)で別のserverプログラムを実行していることです。ファイルは、そのシステムのホームディレクトリの~/.vscode-serverに保存されます。実際の個別のマシン(または仮想マシン)に接続するとき、それらのシステムにも通常の(つまりクライアントの)Visual Studio Codeインストールがある場合でも、そのディレクトリが引き続き使用されます。リモートマシンで実行されているシェルでcodeコマンドを実行してリモート接続を介してファイルを開くことは、WSLでのみサポートされており(他のリモートではサポートされていません)、WSLを使用しても簡単に実行できます。

最後に、リモート編集ウィンドウに通常の編集ウィンドウと異なる配色(私の目に見える青のような)があると期待してはいけないことに注意してください 設定していない限り 。別の配色がないことは、何かが間違っていることを意味しません。

4
Eliah Kagan