2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS EC2上でVimを使わず、VScodeで開発したい

Posted at

#はじめに
AWS EC2でNodeをインストールし、Node.jsで開発を始めたいがリモートサーバでどうやって開発していいものか、、、

方法としては、2つ

  1. ターミナルで「Vim」コマンドを使い、その都度ファイルを開いて書き込んでいく。
  2. VScodeの拡張機能を使い、EC2上のファイルをローカルのVSCodeと同期し、そのまま編集、保存する

1は何か面倒そう、、VScodeの方が慣れているし2で行こう!

#SFTP

今回はVScodeのSFTPという拡張機能を使うことにします。
まず、AWSでEC2インスタンスを立ち上げて、ターミナルからSSH接続させておきます。

スクリーンショット 2019-07-29 23.10.07.png

今度はVScodeの方へ行き、SFTPをインストールします。

スクリーンショット 2019-07-29 23.12.48.png

インストールし終わったら、Windowsなら「Ctrl + Shift + P」、Macなら「Cmd + Shift + P」を入力し、「SFTP: config」を選択してください(SFTPのUsageにも書いてあります。)。そうするとExplolerにsftp.jsonというファイルが出てきます。そこにEC2の場合、以下のように入力してください。

スクリーンショット 2019-07-29 23.14.02.png

中身を簡単に説明します。

  • name ⇨ なんでも良い
  • host ⇨ EC2インスタンスのパブリックIPアドレス
  • protocol ⇨ 転送するためのプロトコル。sftpかftp。安全性が高いのはsftp
  • port ⇨ SSH接続で使っているポート番号。22
  • username ⇨ EC2インスタンスのログインユーザー名(ec2-user)
  • privateKeyPath ⇨ SSH接続の秘密鍵の配置場所
  • remotePath ⇨ サーバーを保存する階層
  • uploadOnsave ⇨ ここをtrueにしておくと保存した時に自動的にサーバーにアップロードされる。

EC2インスタンスで開発する場合、上と同じ設定にしてもらえれば大丈夫かと思います。

入力、保存し終わったらWindowsなら「Ctrl + shft + P」、Macなら「Cmd + Shft + P」を入力して「SFTP:List ALL」から編集したいインスタンス上のディレクトリまで進んでください。

スクリーンショット 2019-07-29 23.16.36.png

そこで「.choose current folder」をクリックすると、自分のExplorerに編集したいフォルダーが現れ、編集可能になります。

スクリーンショット 2019-07-29 23.16.36.png

今回下の二つの記事を参考にさせていただきました。ありがとうございました。

参考資料①https://www.karelie.net/vscode-sftp/
参考資料②https://qiita.com/humuhimi/items/7d8d49c88a8d306df89f

他の主な機能の「ファイルのアップロード」「差分表示」「同期」については参考資料①を見てください。

これで大分開発が捗るはず、、

2
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?