【Linux】(四)VS Code远程开发方式-实验室服务器使用VS Code远程开发

news2025/8/2 17:44:33

VS code 方式

  • 系列文章
  • 一、服务器情况简介
    • 1.1服务器及用户
    • 1.2 cuda
    • 1.3 conda环境
  • 二、VS code连接使用说明
    • 2.1 下载VS code
    • 2.2 配置
    • 2.3 调试文件
  • 附录:
    • VS code调试复杂配置
    • 公共数据集

系列文章

(一)服务器初次配置及安装vncserver
(二)实验室添加新用户及其配置vnc4server、xfce4桌面访问流程
(三)VNC桌面连接开发方式-实验室服务器多用户访问xfce4桌面使用手册
(四)VS Code远程开发方式-实验室服务器使用VS Code远程开发
(五)GateWay远程开发方式-实验室服务器使用GateWay远程开发
(六)MobaXterm文件传输与终端-实验室服务器使用MobaXterm传输文件和ssh终端连接

一、服务器情况简介

1.1服务器及用户

服务器有三台,分别编号服务器1、2、3

  • 用户名均为intleomn,其中m为服务器编号,n为用户序号,所有intleomn的用户组名为intleom1,所有用户的权限掩码为0002
    例如服务器2中的用户为 intleo21, intleo22, intleo23, ··· , 用户均属于 intleo21组

文件说明

  • 所有共享资源安装在/usr/local/
  • 所有个人文件(如程序及数据集)请放置于机械硬盘下,不要直接存放于home目录下,机械硬盘一般挂载于/media/D_4TB/media/E_4TB/media/D_8TB等文件夹下,再这类文件夹下新建文件夹为名字拼音大写首字母,例如名字:张三,文件请放置于/media/D_4TB/ZS中,有些服务器多硬盘,请根据情况新建

1.2 cuda

  • cuda使用版本为cuda-10.1,安装位置为/usr/local/cuda-10.1

1.3 conda环境

  • anaconda安装至/usr/local/anaconda3中,文件所属用户组为第一号intleo用户(如服务器2为intleo21), 权限为775,即用户组成员可读可写可执行
  • 所有已安装环境处于/usr/local/annconda3/envs/下, 如图所示
    在这里插入图片描述

二、VS code连接使用说明

2.1 下载VS code

下载链接为Download Visual Studio Code
在这里插入图片描述

2.2 配置

  1. 安装远程开发插件
    在这里插入图片描述

  2. 添加主机,两种方式,推荐2

    • 方案一
      ctrl+shift+p
      输入remote-ssh,选Add New SSH Host
      在这里插入图片描述
      填写远程服务器用户名及ip地址, 如ssh intleo21@192.168.1.202,选择配置保存位置,第一个就可以,将会保存到这个文件当中,也可以通过方式二直接编辑该文件来实现
      在这里插入图片描述
    • 方案二:
      也可以通过下面这种方式添加连接
      在这里插入图片描述
      在这里插入图片描述
      默认选第一个即可
      在这里插入图片描述
      在打开的文件中输入如下内容
      Host i21	# 别名,随便取,自己能认出就行
              HostName 192.168.1.202  # IP
              User intleo21           # 用户名
      
  3. ctrl+s保存,即可看到左边多了一台名为i21的主机
    在这里插入图片描述
    双击主机即可进行连接,需要输入密码

  4. 新弹出一个界面,选择目标主机系统类型
    在这里插入图片描述

  5. 等待远程服务器安装完server并完成连接

  6. 连接后,点击Explore,可以选择远程文件夹进行打开
    在这里插入图片描述选择想要打开的远程文件夹目录,即工程目录,例如我打开如下目录,最上面的双点可以进入上一级,请确保文件放置再media下的机械硬盘中,确认即可打开
    在这里插入图片描述

  7. 安装python插件
    在这里插入图片描述

  8. 打开一个python文件,点击右下角选择远程环境
    在这里插入图片描述
    弹出如下进行选择
    在这里插入图片描述

  9. 打开终端
    在这里插入图片描述
    下面弹出如下,并自动激活所选环境
    在这里插入图片描述

2.3 调试文件

以下例子非实验室服务器实操记录,但类同
点击要执行调试的python文件,点击菜单栏Run -> Add Configuration,添加配置文件
在这里插入图片描述
将生成
在这里插入图片描述
运行或调试时,点击左侧运行和调试,选择配置文件,这里我们目前只有一个配置文件,即Python: Current File
在这里插入图片描述
在python文件行号左边点击设置一个断点,再点击绿色启动按钮即可启动调试
在这里插入图片描述

如果只是简单调试,那么使用已生成的即可,如果复杂调试,那么可以对launch.json进行编辑,在后面的附录将放置较为复杂的几种配置

附录:

VS code调试复杂配置

添加配置的方式为在配置文件中configurations的列表后面继续追加配置字典,
例如我想对文件夹下的某个文件指定启动的配置,那么可以在configurations列表中添加一项内容,例如下面放置几个比较复杂的

		//1
        {
            "name": "Python: restapi_trt",  // 名称,随意取,自己看的出来即可
            "python": "/usr/bin/python3",  // 指定python解释器
            "type": "python",               // 类型python
            "request": "launch",
            "program": "${workspaceFolder}/data_process/restapi_trt.py",    // 选择要执行的文件
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}/data_process",   // 指定工作目录
            "justMyCode": false, //调试封装包里面的代码,可以在里面打断点
            "env": {"CUDA_VISIBLE_DEVICES":"0,1"},   // 设置环境变量,例如指定显卡
            "args": ["--train_dir", "./input/train_data",   // 命令行参数
                "--dev_dir", "./input/valid_data",
            ],
        },
        //2,想要执行python -m torch.distributed.launch --nproc_per_node=4  train.py  --batch_size 8 --imgsize 680
        // 定位到当前解释器中torch.distributed.launch包的位置并设置,可以通过import torch.distributed.launch as launch 然后打印 launch.__file__即可获得
        {
            "name": "train-base",
            "type": "python",
            "request": "launch",
            "program": "/usr/local/anaconda3/envs/openmmlab/lib/python3.7/site-packages/torch/distributed/launch.py",
            "console": "integratedTerminal",
            "env": {"CUDA_VISIBLE_DEVICES":"0,1,2,3"},
            "args": ["--node_rank=4", "train.py", 
                    "batch_size", "8", "--imgsize", "680"]
        },

公共数据集

  1. 存放位置:/media/D_4TB/Shared/Datasets/
  2. 软链接至自己的目录
    例如将公共目录下的coco数据集,软链接至自己项目内的data/coco目录下,那么就可以在终端中,先cd到自己的项目路径,再执行下面这条命令即可
    ln -s /media/D_4TB/Shared/Datasets/coco ./data/coco

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35026.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

磨金石教育摄影技能干货分享|古风人像拍摄要注意哪些问题

古风人像与普通人像的拍摄略有不同,有三个要素需要做好准备。服装、妆容、道具。 服装有不少考究,不同的服装有不同的风格,侠士、温婉、清新、可爱等等,今天我们要拍摄的主题风格是侠女。所以选择的是魏晋风汉服。 妆 容 妆容也是…

【无人机】基于PID控制器和A星算法实现无人机路径规划附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

生鲜电商十年:如何撞破盈利难墙?谁在竞速突围?

生鲜电商已十年。 这十年间,无数资本和公司前赴后继,试图探索出一条持续盈利路径,并完成商业模式的持续迭代,然而成功者寥寥。 这么大规模、长时间的摸索,在整个互联网行业都较为少见。一是因为它足够难,…

神经网络和深度学习-反向传播back propagation代码

反向传播back propagation代码 再简单模型中,按照下图的神经网络来完成模型的训练 在复杂的模型当中,输入,权重,隐藏层的数量都是很多的,例如下图中,输入x有5个神经元,第一层隐藏层h中有6个神经…

Rust China Hackathon 2022 达坦科技组空中宣讲会来啦!

Rust China Hackathon 2022 即将来袭! 本届Hackathon的主题为「Rust For Fun」,分为「社区组」与「企业组」。 达坦科技作为本届Hackathon的协办方,赞助参与本次企业组赛道,将基于Xline这个开源项目,就Concurrent Inde…

【linux】物理磁盘挂载目录——(分区、格式化、重启自动挂载)

大家好,我是好学的小师弟! 现有一全新的物理磁盘需要挂载到某个目录下,操作步骤如下。 目录 一、磁盘分区 二、磁盘格式化 三、磁盘挂载 四、重启自动挂载 注意点: 1.该目录要存在,不存在的话需手动mkdir创建 2.该目录需要为…

IMS各网元的主要功能

文章目录用户注册时: 手机发出一个注册消息到他所在的拜访地的P。 比如,他是山西太原的用户,他这时候到了北京,那么这个时候,他要注册到IMS网络里面的话,这个P-CSCF就是北京的P-CSCF,这个北京的…

[附源码]java毕业设计游戏账号交易平台

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【零基础入门MyBatis系列】第十一篇——动态SQL

一、概述 📖 1、什么是动态SQL? 根据不同条件生成不同的SQL语句,是mybatis的一大优势。用于动态拼接SQL语句 📖 2、如何实现动态SQL? mybatis 为我们提供了一些标签,在写SQL语句的时候,合理…

Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别

Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别 目录Qt | QListView、QListWidget、QTableView、QTableWidget的使用示例及区别1、简介2、使用示例1、QListView2、QTableView3、QListWidget4、QTableWidget1、简介 QListView、QListWidget是列表形式…

Maven安装配置

Maven安装配置 第一步 : 解压 解压 apache-maven-3.6.1.rar 既安装完成 解压缩后的目录结构如下: bin目录 : 存放的是可执行命令。mvn 命令重点关注。conf目录 :存放Maven的配置文件。settings.xml 配置文件后期需要修改。lib目录 &#xf…

基于DPDK(x86平台)应用性能优化实践

产生性能瓶颈有多方面的原因,包括硬件(自身能力限制或BIOS设置不当)、操作系统(某些feature没打开)和软件。软件方面的性能瓶颈主要是由于编码不当导致,常见原因有以下几种: 数据结构cache lin…

【多线程】读写锁ReentrantReadWriteLock源码分析

【多线程】读写锁ReentrantReadWriteLock源码分析(一)读写锁ReentrantReadWriteLock源码分析【1】类图结构和参数【2】写锁的获取和释放(1)lock方法(2)lockInterruptibly方法(3)tryL…

GPS+北斗定位借助Arduino的数值显示

GPS北斗定位借助Arduino的数值显示 一、前言二、硬件要求三、参数基础四、原理剖析五、使用方式六、程序概要七、成果展示八、数据解析九、总结一、前言 较多的导航软件在生活中层出不穷,但是卫星定位同样也适用于轨迹记录、经纬分析、授时系统等,多样的…

【杰理AC696X】外挂FLASH音乐播放及Bin文件制作

外挂FLASH音乐播放及Bin文件制作 测试SDK版本:《ac696n_soundbox_sdk_v1.6.0》 文章目录外挂FLASH音乐播放及Bin文件制作前言一、板级配置1.1 SPI配置1.2 FLASH配置二、FLASH音乐播放测试三、FLASH BIN文件制作1.1 FLASHPCWinHex1.2 U盘分区工具WinHex1.3 FLASHPCF…

嵌入式单片机智能药盒设计(含代码)

目录 前言 设计的内容 (1)显示 (2)定时时间与用药量的设定 (3)实时时间调节 (4)报警功能 时钟模块 蓝牙模块 系统软件设计 系统主程序 按键函数 中断服务函数 作品展示 测试药…

2023年天津农学院专升本专业课参考教材

2023年天津农学院高职升本科专业课参考教材一、人力资源管理专业 1、《人力资源管理实用教程》 (第2版),吴宝华,北京大学出版社 2、《人力资源管理》(第4版),刘昕,中国人民大学出版社 3、《人力资源管理概论…

kobject 与sysfs属性文件读写

kobject和kset的简单总结 • kobject是struct kobject类型的对象。Kobject 有一个名字和一个引用计数。kobject 也有一个父指针(允许 kobjects 被安排到层次结构中),一个特定的类型,也许还有一个在 sysfs 虚拟文件系统中的表示。…

OceanBase 4.0 解读:分布式查询性能提升,我们是如何思考的?

关于作者 王国平 OceanBase高级技术专家 目前OceanBase SQL引擎的技术负责人。2016年加入 OceanBase,负责SQL引擎的研发工作。2008年毕业于哈尔滨工业大学,2014年在新加坡国立大学获得博士学位,博士期间主要研究方向是数据库领域的(多)查询…

C++入门(2)-类与对象

类与对象初步认识类与对象一、面向过程与面向对象的区别二、类与结构体三、类的定义四、类的实例化五、类对象六、this指针七、构造函数八、析构函数九、拷贝构造函数十、运算符重载函数初步认识类与对象 一、面向过程与面向对象的区别 C语言是面向过程进行编程,注…