Sublime Textのリモート開発用 sFTPをセットアップする方法

開発環境

この記事は、崇高なテキストと、 SFTPパッケージを使用してリモート開発用にセットアップする方法についてのシリーズの2番目です。 Sublime Text 3のインストールと構成については、以前の記事を参照することをお勧めします。

開発と展開の作業のほとんどは、リモートサーバーまたはクラウドサーバーで行われます。その場合、ファイル転送プロトコルを使用してコード/ファイルをプッシュ(ローカルからリモート)またはプル(リモートからローカル)できるリモートサーバーを操作するために、崇高なSFTPパッケージを使用できます。 SFTPにはライセンスコストが付属していますが、パッケージをインストールして無期限に使用できます。

Sublime Text sFTPの機能

  • FTP、SFTP、およびFTPSプロトコルがサポートされています。
  • パスワードまたはSSHキーベースの認証を使用できます。
  • フォルダーの同期–ローカル、リモート、および双方向。
  • 最近行われた変更のみを同期することが可能です。
  • ファイルのローカルバージョンとリモートバージョンの違い。
  • 優れたパフォーマンスのための永続的な接続。

Sublime Text EditorへのsFTPのインストール

記事の説明に従ってパッケージコントロールをインストールして構成したと仮定すると、 コマンドパレット [CTRL + SHIFT + P]→ INSTALL PACKAGESFTP

Sublime TextにsFTPをインストールする
Sublime TextにsFTPをインストールする

コマンドパレットを開きます [ CTRL + SHIFT + P ]SFTPと入力します。 SFTP機能を使用するためのいくつかのオプションがあります。この記事では、これらすべてのオプションについて説明します。

Sublime Text sFTPオプション
Sublime Text sFTPオプション

リモートマシンに同期される2つのpythonスクリプトを含むディレクトリがあります。私のリモートマシンは、VMで実行されているLinux Mint 19.3です。次に、リモートセットアップを構成します。 プロジェクトフォルダを右クリック→ SFTP / FTPリモートに マップ

sFTPのリモートセットアップの構成
sFTPのリモートセットアップの構成

 

 

sftp-config.jsonファイルは、リモート構成設定を保持するプロジェクトフォルダーに作成されます。

リモート構成設定
リモート構成設定

設定を分解して、いくつかの重要なパラメーターを構成しましょう。 3つの異なるプロトコル(SFTP、FTP、およびFTPS)を使用できます。ここでは「 SFTP 」を使用します。

sFTPプロトコル
sFTPプロトコル

次に、ホスト名、ユーザー名、ポートなどのリモートホスト情報を設定します。同期を開始すると、パスワードが要求されます。ホスト名はFQDNまたはIPアドレスで、デフォルトではポート番号は22です。

リモートホストの設定
リモートホストの設定

SSH鍵ベースの認証も可能です。公開鍵と秘密鍵のペアを作成し、パラメーター「 ssh_Key_file 」を使用して鍵をその場所にポイントできます。

SSH認証
SSH認証

プロジェクトファイルとフォルダーを同期する必要があるリモートディレクトリパス「 remote_path 」を構成します。 「 file_permission 」および「 dir_permission 」パラメーターを使用して、ファイルおよびディレクトリーの許可を設定することもできます。 「 ignore_regexes 」にファイル識別子を指定することで、同期するファイルとフォルダーを無視できます。

リモートパスの構成
リモートパスの構成

リモートマシンへのファイルの同期を開始するために、 sftp-config.jsonでいくつかの必須構成を行いました。必要に応じて、構成するオプションがさらにいくつかあります。しかし、現時点では、これらは私たちが実行する必要がある重要なパラメータです。これで私のリモートマシンでは、ディレクトリ/home/tecmintが空になっています。プロジェクトフォルダーを/home/tecmintアップロードします。

プロジェクトホームディレクトリ
プロジェクトホームディレクトリ

プロジェクトフォルダを右クリック→ SFTP / FTP

sFTPオペレーション
sFTPオペレーション

Sublime Text sFTPの操作と使用法

すべてのオプションを分解してみましょう。

フォルダをアップロード

ローカルプロジェクトフォルダーをsftp-config.jsonファイルで構成されたリモートディレクトリにアップロードします。すべての操作は崇高なテキストの下部に表示されます。

フォルダをアップロード
フォルダをアップロード

ローカルディレクトリ内の両方のファイルがリモートディレクトリにアップロードされます。 sftp-config.jsonファイルはスキップされます。

アップロードされたファイル
アップロードされたファイル
ローカルフォルダーとリモートフォルダーの名前を変更する

ローカルフォルダとリモートフォルダの名前変更オプションを選択することで、リモートとローカルの両方のディレクトリの名前を同時に変更できます。 STの下部に新しい名前を入力するように求められます。

フォルダの名前を変更
フォルダの名前を変更
ローカルおよびリモートフォルダーの削除

このオプションは、 sftp-config.jsonファイルとともに、リモートマシンとローカルマシンの両方から現在のプロジェクトフォルダーを削除します。

ローカル→リモート

ファイル/フォルダをリモートマシンにアップロードします。アップロードと同期の違いは、同期により、ローカルプロジェクトフォルダーにない余分なファイルが削除されることです。これを実証するために、リモートマシンに「 dummy.py 」というファイルを作成しました。

ローカル→リモートを同期しようとすると、確認のメッセージが表示され、 dummy.pyファイルが自動的に削除されます。

ローカルからリモート
ローカルからリモート
リモート→ローカル

リモートファイルをローカルで同期し、ローカルプロジェクトフォルダー内の余分なファイルを削除します。

両方向

双方向の同期により、リモートとローカルの両方で同一のコピーを保持できます。ローカルフォルダーとリモートフォルダーに同時に異なる変更を加える場合に便利です。

リモートを閲覧

[リモート参照]オプションを使用して、プロジェクトディレクトリ以外のリモートファイルとフォルダーにアクセスできます。

リモートを閲覧
リモートを閲覧
複数のリモートマッピング

これで、プロジェクトを同期するための1つのリモートホストが構成されました。複数のリモートマッピングを作成することもできます。 sftp-config-alt.jsonを作成する「 代替リモートマッピング 」オプションを選択します。

これは、2番目のリモートホストを構成する必要があるsftp-config.jsonファイルと同じ構成ファイルです。 2番目のリモート情報を構成して保存しました。複数のリモートマッピングを構成できます。

複数マッピング
複数マッピング

これで、選択するリモートマッピングを決定できます。

スイッチマッピング
スイッチマッピング

リモートマッピングの切り替え… 」オプションを選択します。構成されたすべてのマッピングから選択するように求められます。プロンプトからマッピングを選択し、次の操作から、選択したマッピングでファイルとフォルダの同期が行われます。

マッピングを選択
マッピングを選択
リモートファイルの比較

Diff Remote File 」オプションを使用して、ローカルファイルとリモートファイルの違いを確認できます。リモートマシンでdummy.pyファイルを作成し、 print(“Hello world”)を追加しましたが、ローカルで同期されていません。これで、リモートファイルで変更を確認しようとすると、行った変更が印刷されます。

リモートファイルの比較
リモートファイルの比較
キーバインド

常にメニューをホバーする代わりに使用できるデフォルトのキー割り当てがあります。キーバインディングのリストを知るには、 PREFERENCESPACKAGE SETTINGSSFTPKEY BINDINGS DEFAULTを参照してください

デフォルトのバインディングをオーバーライドする独自のキーバインディングのセットを定義することもできます。 SFTPプリファレンス →PACKAGE SETTINGS→SFTP→ キーバインドユーザーのユーザー定義キーバインディングを作成します。

キーバインド
キーバインド

これまでのところ、この記事では、 SFTPパッケージをインストールして、ローカルマシンとリモートマシンの間でファイル転送プロトコルを介してファイルを転送する方法について説明しました。また、ローカルからリモートへ、およびリモートからローカルマシンへフォルダをアップロード/同期する方法も見てきました。デフォルトのキー割り当てとユーザー定義のキー割り当ての設定方法。

Source

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です