VSCode と SSH を使用したリモート開発

VSCode と SSH を使用したリモート開発

0. リモート開発が必要な理由

組み込み Linux を開発する場合、便宜上、通常は Windows 上のコード エディターを使用してコードを編集し、クロスコンパイル ツールは Linux 仮想マシンまたはサーバー上に配置します。開発中は、次のループ操作を継続的に実行する必要があります。

  • コードを編集した後、SSH ベースの SCP を使用してファイルをサーバーにアップロードします。
  • SSH リモート ターミナルを使用して、サーバー上で実行可能ファイルをコンパイルします。
  • コンパイルが完了したら、SSH ベースの SCP を使用してファイルをローカル コンピューターに転送します。

これらの操作はすべて SSH に基づいていますが、ターミナル ソフトウェア、ファイル転送ソフトウェア、および継続的な切り替え操作が必要になるため、プロセスが非常に面倒になります。

ローカル エディターが SSH 経由でリモート サーバーのディレクトリを直接開き、ファイルを操作し、コマンドを実行できる場合、これをリモート開発と呼びます。リモート開発を使用すると、開発プロセスが大幅に容易になります。

1. Visual Studio Code リモート – SSH 拡張機能

Remote Development extension pack 、今年 5 月に VS Code によってリリースされた拡張機能です。この拡張機能には、次の 3 つの拡張機能が含まれています。

  • リモート - SSH
  • リモート - コンテナ
  • リモート - WSL

これら 3 つの拡張機能は、リモート コンピューター、コンテナー、または Windows Subsystem for Linux (WSL) を完全に機能するバックグラウンド開発環境として使用することをサポートします。ローカルの VS Code は単なるフロントエンド インターフェイスです。この記事では、図に示すように、主に SSH 拡張機能の使用方法について説明します。

2. SSH拡張機能のインストール

2.1. コマンドラインでsshコマンドが使用できることを確認する

使用しているシステムがWindows10の場合、システムにはすでにSSHがインストールされており、図に示すように、Git の SSH は使用できなくなります。

Windows7使用している場合は、OpenSSH をインストールできません。Git でのみ ssh コマンドを使用できます。Git インストール ディレクトリのusr\binフォルダーをシステム環境変数に追加します。このディレクトリには、ssh コマンドの実行可能プログラムが含まれています。

2.2. Visual Studio Code Insidersバージョンをインストールする

注記:

  • VScode1.35 1.35 以降、SSH 拡張機能は安定バージョンになりました。拡張機能を通常どおり使用して、セクション 2.3 に直接進むことができます。
  • VS Code がこのバージョンより低い場合は、VS Code ベータ バージョンをインストールする必要があります。

VS Code リモート開発拡張機能はまだプレビュー段階なので、VS Code の内部テスト バージョンであるVisual Studio Code Insiders (ダウンロード リンク) をダウンロードしてインストールする必要があります。


2.3. SSH拡張機能をインストールする

VS Code 拡張機能マーケットでremoteを検索し、 Remote-SSHを選択して、「インストール」をクリックします。


3. リモートホストにSSHサーバーをインストールする

! ! !
特記事項: SSH 拡張機能は 64 ビット Linux オペレーティング システムにのみ接続できます。
! ! !
リモート Linux ホストに ssh サーバーをインストールします。

sudo apt-get で openssh-server をインストールします

4. SSH拡張機能を使用する

4.1. ログインターミナルを表示するためのSSH拡張機能の設定

コマンド パレットを開き、 sshと入力して、設定を選択します。


4.2. SSHを起動してリモートホストに接続する

SSH を起動するには 2 つの方法があります。

Ctrl+Shift+Pを使ってコマンドパレットを開き、 sshと入力して、 Connect to Hostを選択します。

左下隅にある ssh アイコンをクリックするだけです。

起動後、リモート ホストのユーザー名と IP アドレスを入力し、Enter キーを押して接続します。

SSH ログイン ターミナルが表示されるので、ユーザーのパスワードを入力するだけです。

初めてログインすると、VS Code はリモート作業用の新しいウィンドウを自動的にポップアップ表示し、リモート ホストに VS Code サーバーを自動的にインストールします。


ログイン プロセス中は、常にパスワードを入力する必要があります。図に示すように、ポップアップが表示されたらパスワードを入力してください。


ログインに成功すると、以下のように表示されます。

4.3. リモートディレクトリをワークスペースとして開く

ファイルビューをクリックします。


次に、開くディレクトリを選択します。


次のように正常に開きます:

4.4. リモートターミナルの使用

新しいターミナルをクリックするだけで Bash が開きます。

4.5. 拡張機能のインストール

リモート開発では、拡張機能はローカル拡張機能とリモート拡張機能に分かれていることに注意してください。

5. よく使うホストを覚えておく

図に示すように、構成ファイルを開きます。


プロフィールを選択してください:


次の形式でコンテンツを入力して保存します。


リモート開発に VSCode と SSH を使用する方法については、これで終わりです。VSCode と SSH リモート開発に関する関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VSCode で SSH キーを使用してシークレットなしでサーバーにリモートログインする方法
  • VSCode リモート SSH パスワードフリー ログイン構成の実装
  • vscode sshでオーディオを処理するためにlibrosaをインストールする解決策

<<:  すべてまたは逆の選択機能を実現するJavaScript

>>:  アップロード画像コントロールを実現するネイティブ js

推薦する

Linux NFSメカニズムの動作原理と例の分析

NFS とは何ですか?ネットワークファイルシステムネットワーク上でファイルを保存および整理するための...

JavaScript の useRef と useState の紹介

目次1. useStateフック2. useRefフック3. useRef と useState 4...

Win10 VM 仮想マシンに Mac OS10.14 を完璧にインストールする (グラフィック チュートリアル)

最近、Apple の記者会見を見てとても興奮したので、Mac システムを体験して Apple の素晴...

Linux コマンドを素早く習得する 4 つの方法

Linux マスターになりたいなら、いくつかの Linux コマンドを習得することが不可欠です。 L...

Keepalived を使用して Nginx の自動再起動とデュアルアクティブ ホットスタンバイの高可用性を実現する方法について

目次1. 概要2. Keepalivedを使用してNginxを自動的に再起動する2.1 シェルスクリ...

JavaScriptプロトタイプチェーン図のまとめと実践

目次プロトタイプチェーンプロトタイプチェーンに基づいてシンプルなJQueryライブラリを実装すること...

MySQLユーザー管理操作例の分析

この記事では、MySQL ユーザー管理操作について説明します。ご参考までに、詳細は以下の通りです。こ...

MySQL自動シャットダウン問題への対処の実践記録

最近、あるプロジェクトを手伝ったのですが、MySQL マシンがしばらくすると自動的に停止し続けました...

Vue における ref と $refs の紹介と使用例

序文JavaScript では、document.querySelector("#demo...

HTML で #include ファイルを使用する例

a.htmとb.htmの2つのファイルがあります。同じディレクトリ内のa.htmの内容は次のとおりで...

Debian ベースの Linux システム ソフトウェア インストール コマンドの詳細な説明 (推奨)

Debian の紹介Debian は、広い意味では、フリーなオペレーティング システムの作成に専念...

MYSQL ストアドプロシージャと関数の簡単な記述

ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...

HTML iframe 使用状況の概要の収集

Iframe 使用状況の詳細な分析<iframe frameborder=0 width=17...

MySQL Binlog ログ処理ツールの比較分析

目次運河マクスウェルデータバスAlibaba Cloud のデータ転送サービス (DTS)運河ポジシ...

Ubuntu 18.04 のsources.listをAlibabaまたはTsinghuaミラーに変更する方法

1. バックアップソースリストUbuntu のデフォルトのソースは国内サーバーではないため、更新され...