VS Code 配置

VSCode Python 配置

安装 Python 插件ext install python

安装包(用于 Python 代码的格式化):

pip install pep8   
pip install --upgrade autopep8

将 Python 的安装路径添加到环境变量中。
Ctrl+Shift+B 生成 tasks.json 文件,编辑:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "args": ["${file}"],
    "showOutput": "always"
}

调试

  • launch.json 文件中的 "stopOnEntry": true 改为 "stopOnEntry": false,这样无断点时按 Ctrl+F5F5,直接运行程序不调试。当然也可以用此替代 Ctrl+Shift+B

  • Python Console App:从外部终端显示调试窗口,若 *.py 中有 input() 语句,这样也就可以在终端输入。

Run Build Task 中文乱码 BUG

解决 Tasks: Run Build Task 即:Ctrl+Shift+B 时乱码 bug:
方法一:
Python 文件添加:

import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
# 下面开始主程序
# .....

方法二:
tasks.json 文件添加 options 参数:

{
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "args": ["${file}"],
    "showOutput": "always",
    "options": {
        "env": {
            "PYTHONIOENCODING": "UTF-8"
        }
    }
}

方法三:

直接在系统环境变量中添加:PYTHONIOENCODING 项,值为 UTF-8

研究下 bug 成因:

import sys
print(sys.stdout.encoding)

Ctrl+Shift+B 运行代码上述代码,输出:cp936

Ctrl+F5 运行代码上述代码,输出:utf8

参数说明:

  • ${workspaceRoot} -- the path of the folder opened in VS Code

  • ${file} -- 当前打开的文件

  • ${relativeFile} -- the current opened file relative to workspaceRoot

  • ${fileBasename} -- 当前打开文件的文件名

  • ${fileDirname} -- 当前打开文件所在的路径

  • ${fileExtname} -- the current opened file's extension

  • ${cwd} -- the task runner's current working directory on startup

相当于在终端中运行:<command> args,如:python script.py

参见:Tasks

重构技巧

  • 重命名:F2

  • import 排序:Ctrl+Shift+P,输入或选择 Sort Imports 命令。可对 'python.sortImports' 选项设置快捷键。

  • 变量提取:选中要提取的表达式,Ctrl+Shift+P,输入或选择 Refactoring: Extract Variable 命令。可对 'python.refactorExtractVariable' 选项设置快捷键。

  • 方法提取:选中要提取的表达式,Ctrl+Shift+P,输入或选择 Refactoring: Extract Method 命令。可对 'python.refactorExtractMethod' 选项设置快捷键。

相关快捷键

快捷键 说明
ctrl+shift+k 删除当前行
ctrl+del 删除光标右侧的所有字
alt+shift+f 格式化代码
ctrl+d 选中下一个匹配项
ctrl+enter 在当前行下边插入一行
ctrl+shift+enter 在当前行上方插入一行
shift+alt+up/down 向上/向下复制一行
alt+up/down 上/下移动一行
home/end 移动到行首/尾
ctrl+home/end 移动到文件开头/结尾
ctrl+shift+] 移动到后半个括号
shift+home 选择从行首到光标处
shift+end 选择从光标到行尾
shift+alt+a /**/ 风格注释
ctrl+/ // 风格注释
shift+alt+f 格式化代码
ctrl+shift+c 打开系统终端
ctrl+` 打开 VSCode 集成终端

ctrl+shift+p技巧

ctrl+shift+p 输入(或简写,有提示):

  • insert Snippet -- 选择代码片段。

  • compare -- 文件比较

  • reload -- 重启窗口

参见:
Key Bindings for Visual Studio Code
PDF 版本快捷键汇总

Windows 快捷键

快捷键 说明
alt+tab 任务切换
win+e 打开“文件资源管理器”
win+tab 虚拟桌面
win+ctrl+left/right 多桌面切换
win+d 显示/隐藏桌面
shift+鼠标右键 可看到“在此处打开命令窗口”、“复制为路径”选项
alt+双击文件(夹) 打开文件(夹)属性
ctrl+shift+esc 打开任务管理器

流水账
笔记

每天进步一点点……

549 声望
19 粉丝
0 条评论
推荐阅读
postgresql 笔记
视图table_constraints包含属于特定表的所有约束,这些表要满足的条件是:当前用户拥有表或者是当前用户在表上具有某种除SELECT之外的特权。

l1xnan阅读 1.3k

python里打印list的四种方法
原文链接标题:Print lists in Python (4 Different Ways)用for循环来打印 {代码...} 结果1 2 3 4 5用 * 星号来打印 {代码...} 结果 {代码...} 把list转换为str来打印 {代码...} 结果 {代码...} 用map把数组里非...

chiiinnn阅读 10.4k

封面图
VSCode 格式化哲学
当我们说「团队需要统一的代码样式」,大家都没有什么反对意见;但当问题变为「统一成什么样式?」时,大家的声音就嘈杂了起来。人们对于特定的编码方式很抵触,没有人喜欢花时间这样写代码,没人愿意接受别人的...

Cheri2阅读 640

Ubuntu20.04 从源代码编译安装 python3.10
Ubuntu 22.04 Release DateUbuntu 22.04 Jammy Jellyfish is scheduled for release on April 21, 2022If you’re ready to use Ubuntu 22.04 Jammy Jellyfish, you can either upgrade your current Ubuntu syste...

ponponon1阅读 4k评论 1

VS Code For Web 深入浅出 -- Server 模块设计篇
在了解了 VS Code 的通信机制后,我们可以着手分析 VS Code Server 中各模块的实现以及设计思路了。&lt;!-- more --&gt;VSCode Server 模块设计通过之前的介绍我们可以了解到,VS Code 的能力是前后端分离的,这...

Duang1阅读 1.6k

日常Python 代码片段整理
1、简单的 HTTP Web 服务器 {代码...} 2、单行循环List {代码...} 3、更新字典 {代码...} 4、拆分多行字符串 {代码...} 5、跟踪列表中元素的频率 {代码...} 6、不使用 Pandas 读取 CSV 文件 {代码...} 7、将列表...

墨城2阅读 336

Unicode 正则表达式(qbit)
前言本文根据《精通正则表达式》和 Unicode Regular Expressions 整理。本文的示例默认以 Python3 为实现语言,用到 Python3 的 re 模块或 regex 库。基本的 Unicode 属性分类 {代码...} 基本的 Unicode 子属性Le...

qbit阅读 4.4k

每天进步一点点……

549 声望
19 粉丝
宣传栏