Cách sử dụng mã Visual Studio để phát triển từ xa qua plugin Remote-SSH
Visual Studio Code là một Môi trường Nhà phát triển Tích hợp (IDE) phổ biến dành cho các nhà phát triển. Nhiều lựa chọn bổ sung, thiết kế tối giản và hỗ trợ đa nền tảng khiến nó trở thành lựa chọn tuyệt vời cho các nhà phát triển ở mọi cấp độ. Hướng dẫn này tập trung vào việc sử dụng plugin Remote-SSH để cho phép phát triển phần mềm từ xa. Với plugin này, bạn có thể chỉnh sửa file trên máy trạm local của bạn , nhưng chạy các việc phát triển như thực thi chương trình, kiểm tra đơn vị hoặc phân tích tĩnh trên server từ xa.Có nhiều lý do tại sao điều này có thể có lợi cho bạn. Ví dụ: bạn có thể có một máy trạm Windows và muốn phát triển trên Windows, nhưng mã của bạn cuối cùng sẽ chạy trên Linux. Bạn có thể cần nhiều RAM hoặc sức mạnh xử lý hơn so với khả năng của máy hiện tại, hoặc bạn muốn giữ mã trên máy cá nhân của bạn do policy của công ty hoặc muốn giữ uy tín cho máy trạm của bạn.
Trong hướng dẫn này, bạn sẽ bật plugin Remote-SSH, cấu hình Visual Studio Code để thực thi mã trên server từ xa và thực thi mã từ cài đặt Visual Studio Code local của bạn trên server từ xa.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần :
- Máy phát triển local chạy Windows, MacOSX hoặc Linux. Hướng dẫn này sẽ không hoạt động trên thiết bị ChromeOS.
- Visual Studio Code, bạn có thể download và cài đặt từ trang web chính thức .
-  Một cặp SSH key  đã được tạo:- Nếu đang sử dụng macOS hoặc Linux, bạn có thể làm theo Bước 1 từ Cách cài đặt SSH key trên Ubuntu 18.04 . Các lệnh đều giống nhau, vì vậy đừng lo lắng rằng hướng dẫn nói rằng nó dành cho Ubuntu 18.04.
- Nếu bạn đang sử dụng Windows, hãy làm theo hướng dẫn Cách tạo SSH key bằng PuTTY trên Windows để tạo Khóa SSH của bạn.
- Nếu bạn đang sử dụng DigitalOcean, bạn có thể làm theo Hướng dẫn cách tải lên public key SSH lên account DigitalOcean .
 
-  Một  server  Ubuntu 18.04 được  cài đặt   theo  hướng dẫn  cài đặt   server  ban đầu Ubuntu 18.04 , bao gồm một  user  không root sudo-enabled và firewall .
Bước 1 - Cài đặt Plugin Remote-SSH
Thị trường Tiện ích mở rộng là nơi bạn có thể download các tiện ích mở rộng được hỗ trợ và của bên thứ ba cho nhiều công cụ và ngôn ngữ lập trình khác nhau. Đây là nơi bạn sẽ tìm kiếm plugin Remote-SSH và cài đặt nó.
Ở phía bên trái của IDE có một hàng dọc gồm năm biểu tượng. Biểu tượng dưới cùng, trông giống như bốn hình vuông trong một hộp với hình vuông trên cùng bên phải nổ ra, là biểu tượng cho Thị trường Tiện ích mở rộng:
 Bạn cũng có thể truy cập phần này bằng cách nhấn Ctrl+Shift+X Khi mở trang này, bạn sẽ thấy các plugin được đề xuất để  download  và cài đặt.
 Khi bạn đã mở Thị trường tiện ích mở rộng, hãy nhập Remote-SSH vào Tiện ích mở rộng tìm kiếm trong thanh tìm kiếm Thị trường . Khi bạn tìm thấy plugin, hãy chọn nó và sau đó nhấp vào nút Cài đặt màu xanh lục để cài đặt tiện ích mở rộng. 
Tiện ích mở rộng hiện đã được cài đặt. Tiếp theo, bạn sẽ cấu hình tiện ích mở rộng để có thể kết nối với server của bạn .
Bước 2 - Cấu hình Plugin Remote-SSH và kết nối với server của bạn
Đến đây bạn đã cài đặt plugin, bạn có thể cấu hình nó để kết nối với server . Để làm như vậy, bạn cần những thông tin sau:
- IP của server hoặc tên server .
- Tên user mà bạn sẽ kết nối.
- Khóa riêng tư bạn sẽ sử dụng để xác thực user của bạn .
Bạn sẽ sử dụng thông tin này để tạo file cấu hình SSH mà Visual Studio Code có thể sử dụng để SSH tới server để đồng bộ hóa file và thực thi mã thay mặt bạn. Bạn sẽ tạo cấu hình này bằng Visual Studio Code.
Đến đây bạn đã cài đặt plugin Remote-SSH, bạn sẽ thấy một hộp nhỏ màu xanh lục ở góc dưới cùng bên trái của giao diện Visual Studio Code. Nếu bạn di chuột qua hộp bằng con trỏ chuột, cửa sổ bật lên sẽ thông báo Mở cửa sổ từ xa . Nút trông giống như một dấu lớn hơn một chút dưới một dấu nhỏ hơn > < , giống như trong hình ảnh sau:
Nhấp vào nút và một hộp thoại xuất hiện ở giữa trên cùng. Chọn Remote-SSH: Mở Tệp Cấu hình… từ danh sách:
Dấu nhắc tiếp theo sẽ hỏi bạn muốn mở file cấu hình nào. Nếu bạn đang sử dụng Windows, bạn sẽ thấy hai vị trí: một trong folder user cá nhân của bạn và một trong vị trí cài đặt cho SSH. Bạn nên sử dụng file trong folder user của bạn khi cấu hình server .
 Chọn file  và  editor  sẽ mở file  config . Thêm mã sau vào file  để xác định kết nối với  server  của bạn, thay thế các phần được đánh dấu bằng thông tin cho  server  của bạn:
Host my_remote_server     HostName your_server_ip_or_hostname     User sammy     IdentityFile /location/of/your/private/key Đây là cách file cấu hình này hoạt động:
-  Host: Điều này chỉ định tên cho server của bạn. Điều này cho phép bạn sử dụng tên ngắn hoặc viết tắt thay vì địa chỉ IP đầy đủ hoặc tên server khi kết nối với server .
-  HostName: Tên server thực tế của server , là địa chỉ IP hoặc domain đủ điều kiện.
-  User: User bạn muốn sử dụng để kết nối.
-  IdentityFile: Đường dẫn đến private key SSH của bạn. Trên các hệ thống Mac và Linux, bạn sẽ tìm thấy điều này trong folder chính của bạn trong một.sshẩn, thường được gọi làid_rsa. Nếu bạn đang sử dụng Windows, bạn sẽ chỉ định một vị trí để lưu file này khi bạn tạo nó bằngputty-gen.
Chỉ định các giá trị thích hợp trong file của bạn và lưu file .
Visual Studio Code hiện đã được cấu hình và sẵn sàng kết nối với server của bạn. Nhấp vào nút màu xanh lục Mở cửa sổ từ xa ở góc dưới cùng bên trái và chọn Remote-SSH: Connect to Host…
Sau khi bạn thực hiện xong việc này, tất cả các server có sẵn và được cấu hình sẽ xuất hiện trong menu thả xuống. Chọn server mà bạn muốn kết nối từ danh sách này.
Nếu đây là lần đầu tiên bạn kết nối với server này từ máy của bạn , bạn có thể sẽ được yêu cầu với hộp thoại xác minh Fingerprint SSH, giống như hộp thoại trong hình sau:
 Điều này là  đảm bảo  rằng bạn đang thực sự kết nối với  server  mà bạn nghĩ. Bạn có thể xác minh điều này bằng cách đăng nhập vào  server   của bạn  theo cách thủ công và chạy ssh-keygen -l -f /etc/ssh/ssh_host_key.pub để xem dấu  fingerprint  của  server . Nếu dấu  fingerprint  này giống với dấu  fingerprint  được hiển thị cho bạn trong Visual Studio Code, thì bạn thực sự đang kết nối với  server  mà bạn nghĩ là bạn đang sử dụng để bạn có thể nhấp vào Tiếp tục .
 Visual Studio Code mặc định mở một cửa sổ mới khi kết nối mới được tạo. Một cửa sổ mới sẽ xuất hiện với màn hình chào mừng. Bạn sẽ biết rằng kết nối  của bạn  đã thành công nếu bạn thấy SSH: your_ip_address_or_hostname trong hộp màu xanh lục ở góc dưới cùng bên trái. Điều này  nghĩa là  Visual Studio Code được kết nối và giao tiếp với  server  từ xa của bạn. 
Đến đây bạn đã kết nối, bạn có thể chạy các lệnh và mã từ editor của bạn .
Bước 3 - Thực thi mã trên server từ xa
 Plugin Remote-SSH đã được  cấu hình  và đã đến lúc chạy một số mã trên máy tính từ xa của bạn. Mở cửa sổ  terminal  bằng cách chọn Thiết bị  terminal  từ thanh  chuyển  ở đầu cửa sổ Visual Studio và nhấp vào Thiết bị  terminal  mới . Bạn cũng có thể mở một terminal  bằng cách nhấn CTRL+Shift+` . Thiết bị  terminal  được mở là terminal  trên  server  từ xa của bạn, không phải trên máy local  của bạn.
Khi terminal mở ra, hãy đưa ra lệnh sau để xem địa chỉ IP của server của bạn để xác minh bạn được kết nối với server từ xa của bạn :
- ip addr 
Bạn sẽ thấy kết quả sau trong terminal của bạn :
Output1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00     inet 127.0.0.1/8 scope host lo        valid_lft forever preferred_lft forever     inet6 ::1/128 scope host        valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000     link/ether 16:cb:05:5b:30:f1 brd ff:ff:ff:ff:ff:ff     inet your_server_ip brd your_broadcast_address scope global eth0        valid_lft forever preferred_lft forever     ... Để kiểm tra khả năng chạy mã từ xa, hãy tạo một file  Python mới có tên hello.py trong trình soạn thảo của bạn. Khi bạn được kết nối với  server  từ xa  của bạn , tất cả các file  được tạo thông qua Visual Studio Code sẽ được lưu vào  server  đó, không phải trên máy local  của bạn.
Thêm các nội dung sau vào file :
print("Hello Sammy!") Để chạy chương trình này trên  server  của bạn, hãy mở một terminal  trong Visual Studio Code từ menu  chuyển  hoặc bằng cách nhấn tổ hợp phím CTRL+Shift+` . Vì phiên  terminal  này được kết nối với  server  từ xa của bạn, hãy chạy lệnh sau trong terminal  để thực thi chương trình hello.py của bạn:
- python3 hello.py 
Kết quả chương trình của bạn sẽ được hiển thị.
Bạn cũng có thể thực thi file từ menu ngữ cảnh Gỡ lỗi bằng cách chọn Chạy mà không cần gỡ lỗi .
 Lưu ý : Nếu bạn đã cài đặt bất kỳ tiện ích mở rộng phát triển nào trong Visual Studio Code, chẳng hạn như tiện ích mở rộng Python, bạn sẽ phải cài đặt lại các tiện ích mở rộng này trên  server   của bạn  thông qua Thị trường mở rộng. Nếu trước đó bạn đã cài đặt các plugin này trong Visual Studio Code, khi bạn tìm kiếm lại, Marketplace sẽ thông báo Cài đặt trên SSH: tên  server  . Luôn chú ý đến ngữ cảnh phát triển bạn đang ở, vì đây là nơi Visual Studio Code sẽ cài đặt các plugin và tạo file  của bạn. Nếu bạn cố gắng chạy mã  của bạn  mà không cài đặt các plugin này, các hộp thoại lỗi sẽ xuất hiện ở góc dưới cùng bên phải của màn hình nhắc bạn cài đặt chúng trên  server  từ xa  của bạn . Sau khi bạn đã cài đặt chúng, chúng có thể sẽ yêu cầu bạn  reload  Visual Studio Code. Khi bạn  chạy  lại nó, nó sẽ tiếp tục hoạt động trên  server  từ xa mà bạn không cần phải kết nối lại theo cách thủ công.
Kết luận
Đến đây bạn đã cấu hình Visual Studio Code để phát triển trên server từ xa bằng SSH. Thực thi từ xa với IDE mang lại nhiều lợi ích, bao gồm khả năng nhanh chóng kiểm tra cách mã của bạn chạy trên các hệ điều hành khác nhau và các thông số kỹ thuật phần cứng khác nhau. Miễn là bạn có kết nối internet, bạn có thể kết nối với server của bạn và làm việc trên mã từ bất kỳ máy tính nào và bạn có thể phát triển bằng môi trường Linux ngay cả khi bạn chạy Windows làm hệ điều hành chính của bạn .
Các tin liên quan
 

