作业4:从需求分到软件设计

小菜阳 2023-05-30 18:28:02

VScode简介

由微软推出的一款轻量级编辑器,拥有大量可拓展插件,可以根据自己的需求添加插件使编辑器的功能丰富起来。VScode和Sublime Text应该是最受欢迎的两款编辑器,本文将介绍在Windows下如何使用VScode连接远程linux服务器进行开发。

VScode Remote实现原理

原理

 

需求分析

连接远程服务器的方法有很多,比如可以借助XShell、putty等软件使用ssh命令来登录远程服务器。但如果使用这种连接方法在远程服务器上进行开发工作,会来带诸多不便,比如:

  • 全程只能在终端使用指令操作,文件操作麻烦。
  • 写代码不方便,我们可能会先在本地写好代码再使用scp指令把源代码传送到服务器再运行,或直接在服务器上使用Vim或Vi进行编辑,这些操作起来我个人觉得都不顺手。
  • 服务器上的图片无法查看,比如有时候我们的程序最后输出一些图片,我们在终端上无法查看,还要传回本地才能看到。

使用VScode能够很好的解决以上问题,VScode连接服务器后的方便程度和本地开发几乎没有差别!在VScode中编辑代码直接同步更新到服务器上,可以用鼠标在文件目录对文件进行操作,可以查看图片。

逆向工程

  • 阅读源码,找到Remote SSH扩展的代码和依赖项,了解其架构和原理。
  • 了解加密和身份认证的相应流程。
  • 了解其文件传输方法和同步方式。

总结

根据需求分析和逆向工程我们提出具体的解决方法。

  • 在远程连接模块中,需要实现SSH协议的连接和认证功能,以及与远程服务器的通信和数据传输。
  • 在远程编辑下使得开发者可以在本地VS Code中打开和编辑远程服务器上的文件。这可能涉及文件同步、差异传输和实时更新等技术。。
  • 远程调试中插件可能使用调试协议(如Debug Adapter Protocol)与远程服务器上的调试器进行通信。
  • 在终端模块中,需要实现在远程服务器上运行命令和脚本的功能,以及与终端会话的管理和控制。

通过这次逆向工程,我们能够更清楚地了解"远程访问和连接"功能的实现方式和设计决策,从而为用户提供安全、灵活和易于使用的远程连接体验。

学号:378 

...全文
181 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

571

社区成员

发帖
与我相关
我的任务
社区描述
软件工程教学新范式,强化专项技能训练+基于项目的学习PBL。Git仓库:https://gitee.com/mengning997/se
软件工程 高校
社区管理员
  • 码农孟宁
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧