vscode: debug环境配置

1 debug环境

步骤一:9步配置远程环境

  • 成功解决 vscode远程调试python
  • 如果单步跳过快捷键F10没有反应,可以“设置 – 键盘快捷方式” 重新设置一遍 Debug: 单步跳过:随便设一个键,然后再设置回 F10.
  • 拓展插件
    • remote development: 远程服务器控制
    • remote - SSH: 远程使用shell
    • python (Microsoft): python编程
    • Office Viewer(Markdown Editor): 一个窗口实现markdown文件编写与查看
    • View Image for Python Debugging: debug时可以显示图片(具体怎么看要看下插件内的教程)
    • Settings Sync: 自动同步vscode的设置,会推荐给您安装
    • Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code
    • vscode-pdf
    • Xmind Viewer

步骤二:代码相对路径设置(VS code 默认以项目根目录为初始路径)

How to run python interactive in current file’s directory in Visual Studio Code?
pydevd warnings in Visual Studio Code Debug Console

不想分析英文论坛,可以直接使用下面具体的解决方案:

  1. 勾选Python > Terminal: Execute In File Dir:点击左下角齿轮设置按钮 Ctrl + , 搜索 python.terminal.execute In File Dir 并勾选;
  2. 菜单栏运行(Run),选择打开配置(Open configuration),在configurations花括号末尾一行加上逗号后换行并输入"cwd": "${fileDirname}"
    {
       //  使用 IntelliSense 了解相关属性。(Use IntelliSense to learn about possible attributes.)
       // 悬停以查看现有属性的描述。(Hover to view descriptions of existing attributes.)
       // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 (For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387)
       "version": "0.2.0",
       "configurations": [                
           {
               "name": "Python: Current File",
               "type": "python",
               "request": "launch",
               "program": "${file}",
               "console": "integratedTerminal",
               "justMyCode": true,  // debug时只进入项目自带文件,不进入安装的包文件
               "env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"},  // 以防debug看变量时,由于加载时间长而显示warning
               "cwd": "${fileDirname}"  // 控制代码的初始路径为debug文件所在路径
           }
       ]
    }
    

步骤三:debug 时args参数传入

debug时给参数类parser = argparse.ArgumentParser()传入指定参数而无需修改类中指定的默认参数,也可以使用xxx.yaml参数文件传入。同“步骤二”在debug配置文件中增加:

	{
	   //  使用 IntelliSense 了解相关属性。(Use IntelliSense to learn about possible attributes.)
	   // 悬停以查看现有属性的描述。(Hover to view descriptions of existing attributes.)
	   // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387 (For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387)
	   "version": "0.2.0",
	   "configurations": [                
	       {
	           "name": "Python: Current File",
	           "type": "python",
	           "request": "launch",
	           "program": "${file}",
	           "console": "integratedTerminal",
	           "justMyCode": true,  // debug时只进入项目自带文件,不进入安装的包文件
	           "env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"},  // 不显示 pydevd warnings
	           "cwd": "${fileDirname}",  // 控制代码的初始路径为debug文件所在路径
	           "args": ["./configs/xxx.yaml",  // debug时传入的参数
	           			"--a", "A",
	           			"--b", "B"
	           ]         
	       }
	   ]
	}

可能的错误

过程试图写入的管道不存在
C:\Users\Administrator.ssh\known_hosts,尝试删除你要连接的服务器的IP,保险起见删前先备份。

2 使用vs code过程中遇过的问题

2.1 远程使用服务器时,需重新下载插件

方法1:修改设置
因为: Microsoft is no longer supported as explained in this thread.

  • File > Preferences > Settings > TYPE “python.language server”
  • 将 ‘Microsoft’ 改成 ‘Pylance’

方法2:删除\改名备份缓存文件:

  • 将文件夹C:\Users\Administrator\AppData\Roaming\Code重命名Code_backups为进行备份,重启使用vscode

2.2 使用jupyter开发,并正常显示图片

  1. 安装插件:Jupyter Keymap
  2. 设置渲染为image/png: ctrl+shift+p——“首选项:打开用户设置”——输入plots——去掉勾选项:Jupyter: Generate SVGPlots——点击无法正常显示图片位置的按钮选中“image/png”——重新加载

2.3 github远程代码管理

使用源代码管理,先点+stage changes(相当于git add [文件名]),再提交(相当远git commit -a)。具体参考:https://zhuanlan.zhihu.com/p/34753075

问题:每次提交都会先输出文件,再文件中输入comment才能完成commit

左下角设置,搜索设置输入use Editor As commit input去掉勾选框

保留后期可参考的博客

  1. 配合vscode使用git: 新手(3)—VSCode上的GitHub实现代码管理
  2. 克隆别人的代码为自己所用:git上clone别人的项目怎么放在自己的git上
  3. fork别人的代码同步更新:如何把别人的项目修改后,提交到自己的 github,并同步更新
  4. 服务器配置github的key: 云服务器中 ssh key 管理与 github 配置
  5. gitconfig文件路径:~\.gitconfig

2.4 Debug时导入不同级别路径

  1. 上级目录
    import sys
    sys.path.append("..") 
    
  2. N级目录
    CURRENT_DIR = os.path.split(os.path.abspath(__file__))[0]  # 当前目录
    config_path = CURRENT_DIR.rsplit('/', 2)[0]  # 上N级目录
    sys.path.append(config_path)
    
  3. 创建路径(如果路径tmp_path不存在 则自动创建)
    n = 1
    tmp_path = './dir/tmp_{}'.format(n)
    os.makedirs(tmp_path , exist_ok=True)
    

2.5 文件、代码对齐线

文件对齐线:首选项——设置——搜索:renderIndentGuides,选择always
代码对齐线:更换颜色主题就会出现
代码对齐线设置

2.6 正在加载… 和 F12无法定位到函数定义

鼠标放在函数上显示“正在加载…”,ctrl + 鼠标左键 或者 F12 无法定位到函数定义

大概率是扩展插件导致的,切换使用稍旧版本的插件:右键插件——安装另一版本…

2.7 macOs收起左侧文件树

快捷键收起资源管理器:command + b

2.8 文件修改在文件树、文件内无标记

设置下搜索Compact Folders,取消勾选。
vscode 1.76版本以后在文件内的标记修改取消了,可以降级到1.75版本快速修复;参考:VS Code highlight modified lines

2.9 GLIBCXX_3.4.29 not found

ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by /home/wuye/anaconda3/envs/tf2/lib/python3.8/site-packages/google/protobuf/pyext/_message.cpython-38-x86_64-linux-gnu.so)

这个是默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.29

# 确认路径下有哪些GLIBCXX
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
# 查找系统中所有的libstdc++.so.6
sudo find / -name "libstdc++.so.6*"

# 假设有一条为:/home/amax/anaconda3/envs/libo_tf/lib/libstdc++.so.6.0.29
# 查看该条下是否有GLIBCXX_3.4.29
strings /home/amax/anaconda3/envs/libo_tf/lib/libstdc++.so.6.0.29 | grep GLIBCXX
# 如果有的话就复制一份并建好软链接
# 复制
sudo cp /home/amax/anaconda3/envs/libo_tf/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
# 删除之前链接
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
# 创建新的链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

2.10 pydevd warning: Getting attribute ndarray.imag was slow (took 82.74s)

Customize report timeout by setting the PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT environment variable to a higher timeout (default is: 0.5s)
launch.json文件中加入

"env": {"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT": "2"}, 

2.11 多个显示屏编辑同一个项目

ctrl + shift + P 输入:Workspace: Duplicate As Workspace in New Window

2.12 将执行文件路径设为当前路径

打开 文件 -> 首选项 -> 设置
在’设置’的搜索栏输入"file dir",将Python > Terminal:Execute In File Dir勾选
重启vscode软件,代码中的相对路径就可以正常获取。

3 便捷操作

3.1 vscode使用快捷键

【调试】
继续: F5
调试下一步(需要重新设置一遍):F10
单步跳入: F11
单步跳出:Shift F11
重新调试:Ctrl + Shift + F5
结束调试:Shift + F5
复制整行:SHIFT + ALT + UP/DOWN
添加监视(自行设置):Alt + F10
选择整行:CTRL + L
删除整行:CTRL + SHIFT + K
移动选中的行:ALT + UP/DOWN
批量更改变量(多按几次):CTRL + D
光标在任意位置换行:CTRL+ENTER
光标跳到下一个单词:CTRL + LEFT/RIGHT
代码折叠:ctrl k 再 ctrl 0(n任意层级)
代码展开:ctrl k 再 ctrl j

3.2 设置运行到光标处(Run to Cursor)快捷键

[win] File - Preference - Keyboard Shortcuts - 搜索 run to cursor - 设置快捷键(比如 Ctrl+F10)
[mac] code - 首选项 - 键盘快捷方式[command + K, command + S] - 搜索 run to cursor - 设置快捷键(比如 command+F10)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在VSCode中,`.vscode`文件夹是用来存放与工作区相关的配置文件的目录。它是一个隐藏文件夹,通常位于项目的根目录下。 `.vscode`文件夹中包含一些常用的配置文件,如: 1. `launch.json`:用于配置调试器的启动选项,如执行程序的参数、启动前执行的任务等。 2. `tasks.json`:用于配置任务(Task),比如编译、运行、测试等。 3. `settings.json`:用于配置工作区相关的设置,如缩进、自动保存等。 这些配置文件可以根据你的项目需求进行自定义。你可以根据下面的步骤访问和编辑`.vscode`文件夹中的配置文件: 1. 在VSCode中,打开你的项目文件夹。 2. 在VSCode的侧边栏中,点击文件资源管理器图标(或按下Ctrl+Shift+E)以展开文件资源管理器。 3. 找到并展开你的项目文件夹,在其中找到`.vscode`文件夹。 4. 点击`.vscode`文件夹,你将看到其中的配置文件列表。 5. 选择你想要编辑的配置文件,双击打开它进行编辑。 在`.vscode`文件夹中,你也可以创建其他自定义的配置文件,以满足你的特定需求。例如,你可以创建一个名为`myconfig.json`的文件,并在其中定义自己的配置选项。不过,请注意,某些配置文件(如`settings.json`、`launch.json`和`tasks.json`)是VSCode默认识别并加载的,而自定义的文件可能需要手动引用。 希望对你有所帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值