visual studio code 使用


  我的开发电脑是 win10
  python 的 IDE 一直使用 pycharm,但后来有个需求,我需要去运行服务器上的代码,pycharm 理论上也是支持的,但是需要专业版,得破解,之前见同事,用 vs code,也可以连接远程服务器并开发,而且免费,就想尝试下 visual studio code 的使用

一、简单探索

  稍微google 了下,在左侧边栏,点击倒数第二个图标(有4个方块,其中一个方块脱离的图标),搜索 ssh,出来两个相关的插件,一个是 Remote - SSH,一个是 Remote - SSH: Editing Configuration Files ,我把2个插件都下载了,接着就要远程连接服务端了,也是摸索了半天
   点击左侧最后一个图标(Remote Explore, 看着像是个远程的图标),如下图:
在这里插入图片描述
第一处要选择 Remote,表示的是用 ssh 连接,如果你下载了容器的插件和wsl 的插件,这里也是可以选的,点击第二处的设置图标,就会出现第三处,选择你电脑的ssh 配置,这个前提是,win10 的ssh 客户端你得先弄好,这里有好多教程的,然后会出现如下界面
在这里插入图片描述
填写自己的ip 和用户名就好了,默认是没有 Port 的,如果端口不是22,就需要自己去加,这里要注意,填完之后关闭,左侧有个刷新按钮,得刷新一下才行,然后点击向右的箭头去连接,密码是需要自己输入的,也可以不用输入,但需要自己配置,有教程的,可能需要生成秘钥啥的,我这里就没搞,自己手动输入密码
  连接成功后,主界面上会出现 open files,就可以看到你服务器上的文件,然后打开就可以了

二、运行服务器python 代码

  上面已经可以利用 vscode 打开服务端的代码了,但要调试上面的 python 代码,需要安装 Python 插件,当我点击安装时,显示一直在安装,一直安装不上,最后报如下错误

This extension is disabled in this workspace because it is defined to run in the Remote Extension Host. Please install the extension in 'SSH: 192.168.10.98' to enable. Learn More

大致意思是,我得去服务端把这个插件给装上,在这里貌似是不生效的,并且 给出了 learn more 链接,肯定是可以搞的,有空再研究吧

三、运行 wsl 中 python 代码

  首先要做的就是选择 python 解释器,现在还不知道一开始怎么选择 python 解释器,但我知道,如果选择错误的python 解释器,可以怎么更改,在vscode 的最下方,点击如下圈红部分,然后vsconde 的上方会跳出选择解释器的位置,会列出你环境中已经存在的python解释器,选择你需要的解释器即可
在这里插入图片描述

  在我安装完 wsl 的插件后,一开始 通过 vscode 连接 wsl 一直连接不上,后来可能我重启了 vscode ,可以连接到 wsl 了,就如上面简单探索里说的,把 1 的位置选择 WSL Targets,然后再去选择自己的子系统连接就可以了
  连接上之后,我要调试 wsl 上的代码,依然需要 python 插件,我用同样的方法点击安装,依然装不上,后来我参考文章 Remote development in WSL ,就好使了,其实什么也没做
  就学到了一点,在 wsl 上通过 code . 可以打开 windows 上的 vscode,而且莫名的,wsl 上的python 调试插件竟然安装好了,我都不知道为啥,因为之前直接打开 vscode 连接到 wsl 去安装 python 调试插件是一直安装不成功了,我不知道这和 code . 有没有关系,我猜测是有关系,我直接在 wsl 上 输入 code . 然后弹出 windows 的 vscode,相当于是 wsl 和 Windows 建立一个连接
  插件安装好后,输入F5 进行调试,它会让你选择一个 python 解释器,这时候你 wsl 安装的 python 解释器都会被读出来,无论是 conda 的还是非conda 的python 解释器,下来就很方便了

四、运行python时添加参数

Run -> Open Configurations 就会出现如下 launch.json
在这里插入图片描述
比如 python 的运行命令如下:

python main.py --do_train --train_file AdvertiseGen/train.json --validation_file AdvertiseGen/dev.json --prompt_column content --response_column summary --overwrite_cache --model_name_or_path /mnt/e/new_AI_Chat_doc/large_model/chat-glm-model --output_dir output/adgen-chatglm-6b-pt-128-2e-2 --overwrite_output_dir --max_source_length 64 --max_target_length 64 --per_device_train_batch_size 1 --per_device_eval_batch_size 1 --gradient_accumulation_steps 16 --predict_with_generate --max_steps 3000 --logging_steps 10 --save_steps 1000 --learning_rate 2e-2 --pre_seq_len 128 --quantization_bit 4

  按照如上方式,添加 args 选项,注意参数前面的 - - 是不能去掉的,如果写成 “train_file”, “AdvertiseGen/train.json”,那么它运行的时候,也会去掉 - -,按如下方式运行

python main.py train_file AdvertiseGen/train.json

那显然是跑不通的
  我这里的 name 是 “Python: Current File”,那么它就会运行当前打开的文件,你也可以写成具体运行的文件名称

五、用 vscode 调试

按键说明:

按键说明
F5开始调试
F10单步调试
F11进入函数内部
F5继续运行

调试过程中,如何查看变量,或者执行python 命令:
在这里插入图片描述
如上图,在第2个位置,就可以打印变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值