VS Code上でサーバーとファイルを同期する「SFTP」が便利

ブログ

Blog
  1. ホームページ制作・運営はアウラ:ホーム
  2. ブログ
  3. VS Code上でサーバーとファイルを同期する「SFTP」が便利

VS Code上でサーバーとファイルを同期する「SFTP」が便利

VS Code上でサーバーとファイルを同期する「SFTP」が便利

こんにちは、エンジニアの仁木です。

今回はVS Codeの拡張機能である「SFTP」を紹介したいと思います。

サーバーへのファイルのアップロードに、FTP/SFTPソフトを使ってアップしている方は多いんじゃないかと思います。
今回ご紹介する「SFTP」という拡張機能を使うことで、VS CodeからFTPソフトを介さずに直接ファイルをサーバーにアップロードできるようなります。

SFTPのインストールから使い方を紹介していきます。

インストール

まずは「SFTP」をVS Codeにインストールします。

SFTPで拡張機能を検索するといくつか同じ名前/アイコンの拡張機能が出てきます。

liximonoさんのものが一番ダウンロード数が多いようですが、現在は非推奨になっているようなので、代替のNatizyshunkさんのものをインストールします。

コンフィグを設定する

コンフィグファイルの作成

SFTPはワークスペース毎に専用のconfigファイルを用意し、サーバーの接続情報や拡張機能のコンフィグを設定します。
なので、まずはワークスペースを開きます。

ワークスペースを開いた後に、⌘+Shift+P でコマンドパレットを開きます。
コマンドパレット上で「sftp」と入力するとサジェストに表示される「SFTP: Config」を選択します。

「SFTP: Config」の選択後に、ワークスペースに「.vscode/sftp.json」ファイルが生成されます。
このsftp.jsonにサーバーの接続情報やSFTP拡張機能のコンフィグを書いていきます。

サーバーの接続情報

サーバーの接続情報については以下の項目を設定します。
普段FTPソフトを使っている場合はFTPソフトに設定してい情報をそのまま書きます。

  • name: サーバーの名前を決めます(任意の名前)
  • host: サーバーのホストです。(ホスト名またはサーバーのIPアドレスなど)
  • protocol: “ftp”、または”sftp”を指定します。
  • port: 接続するポートを指定します。(ftpは”21″、sftpは”22″が多いです)
  • username: ftp/sftpのユーザー名
  • password: ユーザーのパスワード
  • remotePath: ワークスペースのルートディレクトリと一致するサーバーのディレクトリパスを指定します。

sftpで接続する場合は以下の情報も追加で必要となります

  • privateKeyPath: 秘密鍵のパス
  • passphrase: 秘密鍵のパスフレーズ

その他コンフィグ

その他ファイルの同期に関する設定です

uploadOnSave
VS Code上でファイルを保存した際に自動でサーバーにアップロードするかどうかを指定します。
trueで自動アップロード、false にすると手動でアップロードします。

useTempFile
公式ドキュメントでは「VSCode の保存操作ごとに一時ファイルをアップロードして、ファイルのアップロード中 (不完全) にユーザーがアクセスしたときに Web ページが壊れないようにします。」ということでした。
アップロード中のファイルにユーザーがアクセスしないようにする設定のようです。デフォルトのfalseのままで良さそうです。

その他にも設定があり、Githubのドキュメントで確認できます。

https://github.com/Natizyskunk/vscode-sftp/wiki/Common-Configuration

ファイルのアップロード

接続情報が正しく設定され、コンフィグでuploadOnSaveをtrueにしている場合、ファイルを保存したタイミングで自動でサーバー上のファイルに保存されます。
任意のタイミングでサーバーに反映したい場合は uploadOnSaveをfalseにして、ファイルまたはディレクトリをアップロードできます。

手動アップロードの方法

VS Codeのエクスプローラタブを開き、アップロードしたいファイルまたはディレクトリを右クリック選択し、「Upload File(Folder)」でアップロードできます。

ファイルのダウンロードも可能

SFTPはアップロードだけでなく、サーバーにおいてあるファイルをダウンロードすることもできます。
サーバーにしかおいていないファイルを直接ダウンロードすることはできません。(ただしディレクトリごとダウンロードした場合は可能です)

ダウンロードも手動アップロードと同じようにダウンロードしたいファイル、ディレクトリを右クリックして、「Download File(Folder)」でダウンロードできます。

気をつけたいこと

本番サーバーでの利用は慎重に

自動反映の設定にしている場合など、意図しない変更を本番で稼働しているサーバーに反映してしまうと危険なので利用するにしても手動更新の方が良さそうです。(開発サーバーやテストサーバーで利用するくらいが良さそうです。)

サーバー間でファイルの内容が違うファイルがある場合は自動反映はしない方が吉

開発環境とサーバーで内容が違うファイルがある場合は、気づかないうちにファイルを上書きしてしまう恐れがあるので、手動反映の設定にしておくほうが良さそうです。

sftp.configをプッシュしない

ほとんどのプロジェクトでGitを利用していると思いますが、/vscode/sftp.jsonファイルはサーバーの接続情報が素のテキストで書かれているのでGitにプッシュしないように .gitignoreに追加しておきましょう。

まとめ

いかがでしたでしょうか。
VS Code上でファイルをアップロードできるので、これまでFTPやSFTPソフトを使うより手早くサーバーにアップできるようになるのではないでしょうか。

FTPやSFTPソフトを利用しているVS Codeユーザーはぜひ試してみてください

お電話でのお問い合わせはこちら:06-6292-8577。受付時間は平日9:30~18:30 インターネットからは24時間受付中!お問い合わせフォームはこちら
Webデザイナー、Webプログラマ募集中!