5.4 KiB
title | description | lang |
---|---|---|
SpaceVim lang#python 模块 | 这一模块为 Python 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 | zh |
可用模块 >> lang#python
模块简介
这一模块为在 SpaceVim 中进行 Python 开发提供了支持,包括代码补全、语法检查、代码格式化、交互式编程以及调试等特性。
功能特性
- 代码补全
- 文档查阅
- 语法检查
- 代码格式化
- 交互式编程
- 代码调试
依赖安装及启用模块
启用模块
可通过在配置文件内加入如下配置来启用该模块:
[[layers]]
name = "lang#python"
语言工具
语法检查:
checkers
模块提供了代码检查功能, 此外需要安装 flake8
包:
pip install --user flake8
代码格式化:
默认的代码格式化快捷键为 SPC b f
, 需要安装 yapf
。
若需要在保存文件时自动格式化该 Python 文件,需要设置 format_on_save
为 true
。
[[layers]]
name = "lang#python"
format_on_save = 1
pip install --user yapf
如果需要使用其他命令作为格式化工具,比如black
命令,可以在启动函数中进行配置:
let g:neoformat_python_black = {
\ 'exe': 'black',
\ 'stdin': 1,
\ 'args': ['-q', '-'],
\ }
let g:neoformat_enabled_python = ['black']
格式化导包:
若需要更便捷地删除未使用的 imports,需要安装 autoflake:
pip install --user autoflake
通过安装 isort 可快速对 imports 进行排序:
pip install --user isort
测试覆盖:
通过安装 coverage 可对代码测试覆盖情况进行统计:
pip install --user coverage
模块设置
-
python_file_head
: 设置默认的 Python 文件头信息模板。默认情况下,当新建一个空白 python 文件时,会自动添加文件头,如果需要修改默认的文件头样式, 可以通过设置
python_file_head
选项:[[layers]] name = "lang#python" python_file_head = [ '#!/usr/bin/env python', '# -*- coding: utf-8 -*-', '', '' ]
默认自动补全是不显示类型信息,因为这会让补全变得比较慢,如果需要显示,可以启用 enable_typeinfo
选项:
[[layers]]
name = "lang#python"
enable_typeinfo = true
-
format_on_save
: 启用或者禁用文件保存时的自动格式化,默认为禁用状态, 若想启用这一功能,可以使用如下配置:[[layers]] name = 'lang#python' format_on_save = true
-
python_interpreter
: 设置 python 的可执行命令路劲,默认值为python3
,该选项的值将被应用于g:neomake_python_python_exe
和代码快速运行器。[[layers]] name = 'lang#python' python_interpreter = 'D:\scoop\shims\python.exe'
-
python_linters
: 设置 python 语言默认的语法检查工具,默认是['python']
,你也可以修改该选项为['python', 'pylint']
。[[layers]] name = 'lang#python' enabled_linters = ['python', 'pylint']
快捷键
跳至定义处
模式 | 快捷键 | 功能描述 |
---|---|---|
Normal | g d |
跳至光标函数的定义处 |
代码生成
模式 | 快捷键 | 功能描述 |
---|---|---|
Normal | SPC l g d |
生成 docstring |
测试覆盖
模式 | 快捷键 | 功能描述 |
---|---|---|
normal | SPC l c r |
coverager report |
normal | SPC l c s |
coverager show |
normal | SPC l c e |
coverager session |
normal | SPC l c f |
coverager refresh |
交互式编程
启动 python
或 ipython
交互进程,快捷键为: SPC l s i
。如果存在可执行命令 ipython
,
则使用该命令为默认的交互式命令;否则则使用默认的 python
命令。可通过设置虚拟环境来修改可执行命令。
将代码传输给 REPL 进程执行:
快捷键 | 功能描述 |
---|---|
SPC l s b |
发送整个文件内容至 REPL |
SPC l s l |
发送当前行内容至 REPL |
SPC l s s |
发送已选中的内容至 REPL |
运行当前脚本
在编辑 Python 文件时,可通过快捷键 SPC l r
快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。
整理 imports
快捷键 | 按键描述 |
---|---|
SPC l i r |
使用 autoflake 移除未使用的导包 |
SPC l i s |
使用 isort 对导包进行排序 |