Viết extension FTP Synchronize cho VSCode

Xin chào anh em nào lớ ngớ đọc được cái bài này (tất nhiên là trừ người viết bài ._.)

Cũng đã lâu chưa rờ vào blog và cũng tương đối lâu rồi không tự improve khả năng của mình với Pet Project, nên hôm nay mình sẽ bắt đầu lại cả hai việc này với một Pet Project có cái tên “FTP Synchronize”, một extension dành cho Visual Studio Code.

Lý do

  • Ngứa tay (50% nguyên nhân =)))
  • Muốn trau dồi thêm về Javascript, Typescript
  • Tự cung cấp cho mình một extension “bá đạo” (hiện tại mình đang dùng VSCode kết hợp với FileZilla để đồng bộ, chỉnh sửa code trên server, và việc này khá bất tiện)
  • Khoe bạn bè (nếu làm được =)))

Tính năng

  1. Những tính năng cần có
    – Kết nối tới ftp/sftp server
    – Upload file(s) từ local lên server
    – Download file(s) từ server xuống local
    – So sánh file giữa local và server
    – Đồng bộ file giữa local và server (thủ công, tự động)
    – Hiển thị cây thư mục trên server
    – Sử dụng queue khi đồng bộ file
  2. Những tính năng nên có
    – Quản lý danh sách server và bảo mật thông tin (một số plugin đã trải nghiệm lưu trữ password dạng plain text hoặc base64 không an toàn)
    – Hỗ trợ kết nối qua ssh
    – Hiển thị log trên editor
    – Có cơ chế retry khi đồng bộ lỗi/mất kết nối mạng
    – Hỗ trợ tìm kiếm trên server
    – Giới hạn tốc độ băng thông
    – Giới hạn lượng file đồng bộ đồng thời
    – Hỗ trợ queue priority
    – Import/Export thông tin

Các thông tin này có thể được bổ sung hoặc bỏ đi (vì khó quá ._.). Mình sẽ chia các tính năng theo bài (có thể vài tính năng/bài nếu lúc đó tăng động :v)

Về cơ bản thì vậy thôi, mình sẽ cập nhật danh sách bài dưới đây để tiện theo dõi.

À quên, link source cho các bạn tham khảo: Github