自动缩进、代码补全与实时分析
自动缩进
当你在一个缩进块里(比如 if、for、def 之后)敲回车换行时,Pydroid 会自动把新行的缩进调整到上一行的层级,不需要你手动按 Tab。
默认行为:
- 按下回车 → 新行自动复制上一行的缩进空格数
- 在缩进块结束处(比如
if块里的最后一行)按 Backspace → 可以退出当前缩进层级 - 底部扩展键盘栏的 Tab 按钮插入真实的 Tab 字符(不是空格)
如果你更习惯空格缩进(很多 Python 风格指南推荐 4 空格),在 Settings → Editor → Tab inserts spaces 里开启它。开启后按 Tab 就会插入你设置数量的空格(默认 4),而不是一个 Tab 字符。
智能配对补全
除了扩展键盘栏的 ( ) " ' 自动补全,Pydroid 编辑器还会:
- 打完
[自动补] - 打完
{自动补} - 开启 Settings → Editor → Autocomplete quotes / braces 后生效
如果你觉得某些场景下自动补全反而碍事(比如写正则表达式时 \( 这种转义),可以在编辑器设置里关闭这项。
代码补全(Premium 功能)
Premium 版的代码补全是上下文感知的——不是简单的单词字典,而是能理解作用域和类型:
- 输入
import num后按 Ctrl+空格(或某些版本里直接弹出建议面板),会提示 numpy - 输入
import numpy as np后打np.,会弹出 numpy 的方法列表(np.array, np.zeros, np.mean...) - 打
str后.,会弹出字符串方法(upper, lower, split, replace...)
免费版也有基础的补全(基于已输入过的单词),但没有类型推断和库方法提示。
实时代码分析(Premium 功能)
这是 Pydroid 编辑器里最接近桌面 IDE 的功能。Premium 版在你敲代码的同时,会后台跑一轮静态分析,标出可能的问题:
- 语法错误:未闭合的括号、缩进不对、缺少冒号(这些免费版也会标红)
- 名称未定义:调用了没 import 的库、变量名拼错(
pritn而不是print) - 类型不匹配:把 int 传给了期望 str 的参数
- 潜在 bug:比如
a is None写成了a = None(赋值而不是比较)
标红/标黄的下划线不会阻止 Run,只是提醒你有问题。最终能不能跑还是由 CPython 解释器来决定。