ウェブサイト検索

リモート開発のためのSublime Text sFTPの設定方法


この記事は、SFTPパッケージを使用してリモート開発のためにSublime Textを設定する方法に関するシリーズの第二弾です。Sublime Text 3のインストールと設定についての以前の記事を参照することをお勧めします。

私たちの開発と展開のほとんどは、リモートサーバーやクラウドサーバーで行われます。その場合、リモートサーバーと協力するために、SublimeのSFTPパッケージを使用できます。このパッケージを使用すると、ファイル転送プロトコルを使って(ローカルからリモートへ)コードやファイルをプッシュしたり(リモートからローカルへ)プルしたりできます。SFTPにはライセンスコストがありますが、パッケージをインストールして無期限に使用することができます。

Sublime Text sFTPの特徴

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

Sublime TextエディタにsFTPをインストールする

あなたが記事に記載されたようにパッケージコントロールをインストールおよび設定したと仮定すると、コマンドパレット [ CTRL + SHIFT + P ] → パッケージのインストール → SFTP。

今、コマンドパレットを開きます [ CTRL + SHIFT + P ] → SFTPと入力してください。いくつかのSFTP機能に関するオプションが表示されます。この記事の中でこれらのオプションをすべて探求します。

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

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

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

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

SSHキーに基づく認証も可能で、公開鍵と秘密鍵のペアを作成することができ、“ssh_Key_file”パラメータを使用してキーの場所を指定することができます。

プロジェクトのファイルやフォルダーを同期するために、リモートディレクトリパス「remote_path」を設定します。また、「file_permission」および「dir_permission」パラメーターを使用してファイルとディレクトリの権限を設定できます。「ignore_regexes」にファイル識別子を提供することで、同期する必要のないファイルやフォルダーを無視することもできます。

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

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

Sublime Text sFTP操作と使用方法

すべての選択肢を分解しましょう。

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

ローカルプロジェクトフォルダをsftp-config.jsonファイルに設定されたリモートディレクトリにアップロードします。すべての操作はSublime Textの下部に表示されます。

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

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

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

ローカルおよびリモートフォルダーを削除する

このオプションは、現在のプロジェクトフォルダーをリモートマシンとローカルマシンの両方から、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」)を追加しましたが、ローカルには同期されていません。今、リモートファイルで変更を確認しようとすると、私が加えた変更が表示されるでしょう。

キー バインディング

メニューを常にホバーする代わりに使用できるデフォルトのキー バインディングがあります。キー バインディングのリストを知るには、環境設定 → パッケージ設定 → SFTP → デフォルトのキー バインディングをご覧ください。

デフォルトのバインディングをオーバーライドする独自のキー バインディングのセットを定義することもできます。ユーザー定義のキー バインディングを作成するには、SFTP PREFERENCES → PACKAGE SETTINGS → SFTP → KEY BINDINGS → USER に進んでください。

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

関連記事: