1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-25 02:20:04 +08:00
SpaceVim/docs/cn/layers/lang/python.md

139 lines
3.6 KiB
Markdown
Raw Normal View History

---
2018-06-23 14:37:41 +08:00
title: "SpaceVim lang#python 模块"
2019-02-03 20:51:01 +08:00
description: "这一模块为 Python 开发提供支持,包括代码补全、语法检查、代码格式化等特性。"
2018-06-23 14:37:41 +08:00
lang: cn
---
2018-06-23 14:37:41 +08:00
# [可用模块](../../) >> lang#python
<!-- vim-markdown-toc GFM -->
2018-06-23 14:37:41 +08:00
- [模块简介](#模块简介)
- [功能特性](#功能特性)
- [依赖安装及启用模块](#依赖安装及启用模块)
- [启用模块](#启用模块)
- [语言工具](#语言工具)
2018-06-23 14:37:41 +08:00
- [快捷键](#快捷键)
- [跳至定义处](#跳至定义处)
- [代码生成](#代码生成)
- [测试覆盖](#测试覆盖)
2018-06-23 14:37:41 +08:00
- [交互式编程](#交互式编程)
- [运行当前脚本](#运行当前脚本)
2019-01-05 19:14:00 +08:00
- [整理 imports](#整理-imports)
<!-- vim-markdown-toc -->
2018-06-23 14:37:41 +08:00
## 模块简介
2019-02-03 20:51:01 +08:00
这一模块为在 SpaceVim 中进行 Python 开发提供了支持,包括代码补全、语法检查、代码格式化、交互式编程以及调试等特性。
2018-06-23 14:37:41 +08:00
## 功能特性
2018-06-23 14:37:41 +08:00
- 代码补全
- 文档查阅
- 语法检查
- 代码格式化
- 交互式编程
- 代码调试
2018-06-23 14:37:41 +08:00
## 依赖安装及启用模块
2018-06-23 14:37:41 +08:00
### 启用模块
2018-06-23 14:37:41 +08:00
可通过在配置文件内加入如下配置来启用该模块:
2018-06-23 14:37:41 +08:00
```toml
[[layers]]
name = "lang#python"
```
### 语言工具
**语法检查:**
2018-06-23 14:37:41 +08:00
`checkers` 模块提供了代码检查功能, 此外需要安装 `flake8` 包:
```sh
pip install --user flake8
```
**代码格式化:**
2019-02-03 20:51:01 +08:00
默认的代码格式化快捷键为 `SPC b f` 需要安装 `yapf`。若需要在保存文件时自动格式化该 Python 文件,需要设置 `format-on-save``true`
```sh
pip install --user yapf
```
**格式化导包:**
2018-06-23 14:37:41 +08:00
若需要更便捷地删除未使用的 imports需要安装 [autoflake](https://github.com/myint/autoflake)
```sh
pip install --user autoflake
```
2018-06-23 14:37:41 +08:00
通过安装 [isort](https://github.com/timothycrosley/isort) 可快速对 imports 进行排序:
```sh
pip install --user isort
```
**测试覆盖:**
通过安装 coverage 可对代码测试覆盖情况进行统计:
```sh
pip install --user coverage
```
2018-06-23 14:37:41 +08:00
## 快捷键
### 跳至定义处
2019-02-03 20:51:01 +08:00
| 模式 | 快捷键 | 功能描述 |
| ------ | ------ | -------------------- |
| Normal | `g d` | 跳至光标函数的定义处 |
2018-06-23 14:37:41 +08:00
### 代码生成
2019-02-03 20:51:01 +08:00
| 模式 | 快捷键 | 功能描述 |
2018-06-23 14:37:41 +08:00
| ------ | ----------- | -------------- |
| 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 |
2018-06-23 14:37:41 +08:00
### 交互式编程
2018-06-23 14:37:41 +08:00
启动 `python``ipython` 交互进程,快捷键为: `SPC l s i`。如果存在可执行命令 `ipython`
则使用该命令为默认的交互式命令;否则则使用默认的 `python` 命令。可通过设置虚拟环境来修改可执行命令。
2018-06-23 14:37:41 +08:00
将代码传输给 REPL 进程执行:
2019-02-03 20:51:01 +08:00
| 快捷键 | 功能描述 |
2018-06-23 14:37:41 +08:00
| ----------- | ----------------------- |
| `SPC l s b` | 发送整个文件内容至 REPL |
| `SPC l s l` | 发送当前行内容至 REPL |
| `SPC l s s` | 发送已选中的内容至 REPL |
2018-06-23 14:37:41 +08:00
### 运行当前脚本
2019-02-03 20:51:01 +08:00
在编辑 Python 文件时,可通过快捷键 `SPC l r` 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。
2019-01-05 19:14:00 +08:00
### 整理 imports
2018-06-23 14:37:41 +08:00
| 快捷键 | 按键描述 |
| ----------- | ------------------------------- |
| `SPC l i r` | 使用 autoflake 移除未使用的导包 |
| `SPC l i s` | 使用 isort 对导包进行排序 |