vscode python配置及调试环境搭建

本帖记录用于在Macbook上ssh至Linux云主机的vscode配置方案。

准备工作

首先在vscode官网安装vscode: https://code.visualstudio.com

安装插件coderunner(用于运行程序)

ps. 在Mac系统下调出终端的方法:

ps. 在Mac系统下调出设置的方法:

ps. 有时候设置是灰的,这时候需要我们把鼠标点一下旁边的位置,然后重新进入菜单就可以了。

另外注意:在配置ssh后用户和远程的设置是分开的(如下图所示),所以不要配错。

python环境的安装:在云主机安装官网提供的python解释器或anaconda解释器,具体过程不再赘述。安装成功的标准是在terminal中可以用python3调出python shell。

配置remote ssh

该插件用于ssh至云主机,可以将云主机像本机一样在vscode里使用。

先安装remote ssh插件。左侧边栏会多出一个电脑图标,点击图标,在插件的ssh target栏点“+”符号新建,输入ssh的一串命令(@前是user,@后是hostname),可以在点击齿轮按钮中的config文件中查看到已经添加的ssh服务器

连接服务器:右键对应的服务器图标,点击connect

更多remote ssh的配置参考: cnblogs.com/liyufeia/p/

当ssh需要多级代理时,可以参考: blog.csdn.net/qq_384766

另:许多公司会使用堡垒机。堡垒机有独特的验证方式,所以不能将堡垒机以这种方式添加到vscode中,堡垒机的代码只能使用shell中的vim编辑

在云主机上安装python插件

注意该插件仅仅是提供vscode对python的支持,没有这个插件(仅仅使用coderunner)也能够运行python脚本,但无法调试。安装成功后左下角将显示当前python解释器的版本,点击这个版本可以切换当前使用的解释器。

安装完python之后右上角会出现这个图标,点击下三角会出现如下的菜单,这是python插件对应的运行按键。

如果想修改python插件的默认解释器,进入设置 -> 扩展 -> python -> Default Interpreter Path

(这个默认解释器指的是新创建一个project的时候默认的解释器,而且只有在填完整路径时才会生效,简单写python没啥用,这个路径如果有效会在选择解释器这里多一行。每次打开一个老的项目文件时左下角的python版本是上次关闭时的python版本)

需要注意的是code runner的python版本和python插件的版本是分开的 ,左下角的python版本是python插件的当前已选择的python版本。使用这个版本运行代码有两种做法,第一种方法是像点箭头旁的菜单,选择Run Python File(注意不是code runner的run code),第二种方法是需要多行选中要执行的代码(可以是任意行,因为只会执行这些行),然后shift+enter。(另外,debug tool的python版本也和左下角保持一致)注意我们在使用shift+enter执行代码时,在切换完python版本后, 需要关掉当前python终端,重新开个新的终端 才会在新的版本下运行

关于python插件的更多配置可参考: 黄盼:用 VSCode 愉快地写 Python

配置coderunner

安装完code runner后菜单上面会多一行run code。

直接安装后的coderunner根本没法用,因为其很多默认配置都比较反人类。因此需要进行如下配置:

1.设置python版本为python3 (默认是python2):(待修改!!)

code runner的默认版本和python插件是独立的,需要额外在code runner的设置里修改。

    • 法1:将运行脚本的python命令改为python3命令,使用的是系统默认的python3解释器。

首先进入设置,点击扩展,点code runner的设置(叫run code configuration),找到executer map,点击在setting.json中编辑:

点进去我们要修改"code-runner.ExecutorMap",但有时候我们发现根本没这个选项:

这时候我们在最后一行的true后打一个逗号,然后先输入双引号,然后逐字打code-runner.ExecutorMap,如果出现提示自动补全,就选择code-runner.ExecutorMap然后按tab,这时候会自动补一大堆默认设置,我们找到python这一行,把他的value从"python -u"改成"python3 -u"即可

另外,如果不使用自动补全,也可以从defaultsetting.json中自己找到这一堆, 复制到setting.json里然后修改 !(因为defaultsetting.json是不可编辑的)详见: code runner插件修改python默认运行环境为python3

2. 设置运行前自动保存: 如果不自动保存,python脚本更改后coderunner运行的还是旧的脚本。更改方法:设置 -> run code configuration -> 勾选下面两项

参考: vscode 运行程序时自动保存

3. 设置在terminal中运行: 之所以要在terminal中运行,是因为默认运行窗口是一个“不可输入”的terminal。如果我们需要更改环境变量就只能修改系统默认的环境变量。而在terminal中运行可以使用terminal自己的环境变量。

更改方法:设置 -> run code configuration -> 勾选下面一项

注:在terminal中运行的情况下,如果执行了source刷新了环境,注意退到上级目录再run而不要在这个文件夹里直接run,因为这会涉及到python导包的“顶层模块”问题,导致找不到当前模块(no module named xxx)(另:每开一个新terminal都要重新source,所以可以直接在~/.bashrc中修改环境变量,一劳永逸,见Linux命令行大全p107)

注释:右上角的三角键

当我们安装完python和code runner之后,右上角三角按键菜单里应该有三个选项:

那么我们点三角运行的是哪一个呢?答案是运行的是上次点击的那个选项。也就是我们点下run code,之后再点三角就是运行code runner。如果我们点下run python file再点三角就是python插件。debug python file同理。

此外,code runner和python插件弹出的terminal也有不同的名字。

在vscode里调试python代码

1.安装好python插件: 首先请确认是否已安装vscode的python插件,这是调试进行的前提。

2. 允许设置断点: 文件(win)/code(mac)-> 首选项 -> 设置 -> 功能 -> 调试 ->“允许在任何文件中设置断点” -> 保存

3. 检查是否已经打开了一个文件夹 (在vscode里用文件夹表示项目,我们后面会在项目中生成debug用的json文件,所以必须要有一个项目,因此要打开文件夹而不是打开一个单独的文件,打开文件夹的方法如下图所示,点左边栏第一个图标,点打开文件夹,选择文件夹后点确定)

4. 在debug配置文件中添加python ,具体可参考: 马索萌:使用VS Code调试Python程序

5. 点击左侧debug图标调出调试窗口 ,点击上方的绿色三角可以开始调试(而不是右上角的coderunner直接运行),注意要选择“python:当前文件”,而不要选择浏览器。

6. 在程序中加断点后调试, 再将鼠标再放在变量处,就可以显示变量此时的值。

快捷键设置

在Mac下,vscode的注释快捷键是“command”(上面图标有花形状的按键)+ “/”

如需查看或修改快捷键,上方状态栏code菜单 -> 首选项 -> 键盘快捷方式。

其中多行注释的选项可搜索comment得到(参考 vscode修改多行注释的快捷键_朱梦阳-CSDN博客_vscode修改注释快捷键 ):

设置自动保存

为了避免代码丢失,可以设置自动保存:设置 -> 常用设置 -> 自动保存

其中几个选项的意思可以参考: jingyan.baidu.com/artic

其他一些功能小记

  1. 设置语言为中文: Visual Studio Code(VSCODE)语言设置为中文

注意在“首选项”中找不到语言设置,必须在vscode的命令面板中调出locale.json

2. vscode API(语言为JavaScript)doc:

code.visualstudio.com/a

3. vscode command: Commands Built-in Commands

ps. command和api的区别在于,command是vscode自己编写的一些与编辑器交互的命令,可以认为不属于任何语言。而api是属于JavaScript的。

编辑于 2022-02-15 14:27