vscode 远程协作开发环境配置
- linux服务器配置
- 安装启用ssh服务
- 设置允许使用不对称密钥登陆
- 设置ssh公钥
- window服务器配置
- OpenSSH下载地址
- 解压并将目录添加至系统路径PATH
- Powershell 运行install-sshd.ps1安装服务
- 进入服务将两个服务改为自动启动,并启动
- Powershell 运行FixHostFilePermission.ps1
- C:\ProgramData\ssh目录为配置目录
- authorized_keys 安全->高级->删除继承->复制权限, 删除所有者只保留SYSTEM、userself
- restart sshd
- 本地配置
- 安装vscode
- 在vscode 插件栏搜索 remote Development 安装
- 安装后插件栏被分为远程和本地两类插件
- 链接window服务器的时候,remote-ssh需要disable local server
- 打开远程配置编辑,例如:
Host 10.228.129.42 Port 45685 User baoleiji
- 在远程机器列表中选择一台开发机链接
- 选择一个源码目录
- 底部控制栏可以执行linux命令
- 安装 ms-vsliveshare.vsliveshare-pack 插件可以实时协同编码
- 基本规则
- 新建项目将项目基础依赖如gdb、gcc、三方库、工具等安装配置到所有用户可以访问的目录
- 开发人员最好各自创建一个用户, 代码clone到服务器各自用户名下,不要共用。
- 如果所有开发人员都使用baoleiji账户,在baoleiji目录下创建不同的目录开发代码,否则有覆盖风险
- C/C++ 语言
- 安装时如果出错,大多是由于权限不足,可切换到root后设置适当的权限
- 命令行 yum groups install “Development Tools”(在root下安装, 初始配置远程环境时装一次)
- 安装本地C/C++语言插件
- 安装远程C/C++语言插件
- 编写源码
- 旧studio工程可直接识别、但部分路径、配置需要手动修改,对复杂项目有不少一次性成本
- 如果svn上传了studio生成的临时文件,需要删除,否则会查找缓存的路径报错
- 在调试栏设置调试配置
{ "version": "0.2.0", "configurations": [ { "name": "debug", "type": "cppdbg", "request": "launch", "program": "${workspaceRoot}/test_c", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "C/C++: gcc build active file", "miDebuggerPath": "/usr/bin/gdb" } ] }
- golang
- 解压golang工具包,一般安装在/usr/local目录下
- 在/etc/profile中配置golang的环境变量。
- 一定要配置export GO111MODULE=on export GOPROXY=https://goproxy.cn,direct,否则被墙
- 建议使用go mode 管理三方模块
- 安装golang 插件
- 安装提示的golang工具包,默认会安装到用户名的go目录,安装失败由于权限问题,可修改适当的文件夹权限
- golang项目由golang编译器自己管理,因此旧项目迁移比较容易
- 设置debug配置
{ "name": "go-debug", "type": "go", "request": "launch", "mode": "debug", "program": "${workspaceRoot}/test_go.go" }
- java
- centos自带java sdk最好先卸载
- 安装java sdk
- 在/etc/profile中配置JAVA_HOME等
- 安装java插件
- 如果插件提示java home路径错误,一般为系统java sdk没有卸载可以点击用户配置,选远程配置, 然后重启
- java旧项目中的配置需要通过json文件重新配置,一般java项目使用三方管理项目因此迁移成本应该不大
{ "java.configuration.updateBuildConfiguration": "interactive", "java.home": "/usr/local/java/jdk1.8.0_251", "java.completion.enabled": true }
- 设置debug配置
{ "name": "java-debug", "type": "java", "request": "launch", "mainClass": "test_java" }
- dotnet core
- sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
- yum update
- yum install dotnet-sdk-3.1
- 在/etc/profile中配置 export MSBuildSDKsPath=xx/dotnet/sdk/3.x.x/Sdks
- 在/etc/profile中配置 PATH=${PATH}:xx/dotnet/sdk/3.x.x:xx/dotnet/sdk/3.x.x/Sdks
- 安装dotnet插件
- dotnet new console -o test_donet
- 在调试或test界面点击debug即可调试
- 旧项目迁移可以直接识别studio工程,但如果svn上传了studio生成的临时文件,需要删除,否则会查找缓存的路径报错
vs live share
- 支持V Studio和VS Code互通
- 支持文字语音聊天
- 支持共享项目、协助结对编程
- 支持远程协助编程、教学
- 支持服务器分享
- 支持控制台分享