编辑进阶
这是什么:本章的技巧让编辑速度翻倍:自动补全少打字、多光标一次改一排、F2 重命名全局生效、格式化一键把代码理顺。
为什么用:「只会当记事本」和「会用编辑器」的差距全在这章——同样是改名,手改 20 处 vs F2 一秒;同样是排版,手动对齐缩进 vs 一键格式化。
如何用:每个技巧配一个场景,打开 playground 里的文件当场练。
自动补全:打两个字母按回车
输入时 VSCode 会弹出建议框(IntelliSense),根据语言和你文件里已有的词给出候选:
# 输入 pri 之后:
print ← 方向键选中,Tab 或回车补全
- Tab / 回车:接受建议;Esc:关掉建议框
- 补全来源:语言关键词 + 当前文件里出现过的词 + 插件提供的语言服务(装了 Python 插件后,能补全标准库和自定义函数,还带参数提示)
- 别背 API:函数名打到一半看候选列表,比翻文档快得多
多光标:一次改一排
场景:想把下面三行的 temp 全改成 result:
temp = load()
temp = clean(temp)
temp = save(temp)
两种玩法:
| 手法 | 操作 | 适合 |
|---|---|---|
Ctrl+D |
光标放在 temp 上,连按 Ctrl+D,每按一次多选中下一个相同词 |
精确选中这几个 |
Alt+点击 |
按住 Alt(macOS:Option)在每行行首各点一下 |
任意位置加光标 |
多个光标同时存在时,打字、删除、粘贴都是所有光标一起动。改完按 Esc 退出多光标。
F2 重命名:全局改名不漏一处
变量、函数名改名的正确姿势:光标放在名字上按 F2,输入新名字回车——当前文件(装了语言插件则是整个项目)里所有引用点一起改,包括它被调用的地方。
对比手改:手改靠肉眼找,漏一处就是 undefined 或 NameError。F2 是「语义级」替换,它知道哪里是这个名字,注释和字符串不会被误伤。
常用编辑快捷键速查
| 快捷键 | 功能 | 场景 |
|---|---|---|
Ctrl+/ |
注释/取消注释整行 | 调试时临时屏蔽一行 |
Alt+↑/↓ |
整行上下移动 | 调整代码顺序 |
Shift+Alt+↓/↑ |
复制整行到下/上一行 | 造相似行 |
Shift+Alt+F |
格式化整个文档 | 保存前理顺缩进 |
Ctrl+S |
保存 | 最常用的键,没有之一 |
Ctrl+Z |
撤销 | 兜底 |
macOS 上 Alt 对应 Option、Ctrl 大多对应 Cmd。
格式化:一键把代码理顺
缩进乱、引号混、逗号空格随意的代码,Shift+Alt+F 一键整理(Python 装官方插件后可选 black 等格式化器,按底部提示选一个设为默认即可)。更狠的一招:设置里开启「保存时格式化」——
Ctrl+,打开设置,搜format on save- 勾选 Editor: Format On Save
之后每次 Ctrl+S 自动格式化,代码永远整洁,不用再纠结空格缩进这类琐事。
记忆口诀:补全回车少打字;D 键连按选中词;F2 改名全局变,保存顺手格式齐。
❓ 常见问题
Q1:输入代码没有补全弹框?
两种可能:① 文件没写扩展名(VSCode 不知道是什么语言,看右下角语言模式);② 该语言的语言服务没装(Python 需要官方 Python 插件,见第 5 章)。修复:补扩展名或装插件。
Q2:Ctrl+D 按多了选过头?
按 Ctrl+U 回退一次选择(或用 Ctrl+K Ctrl+D 跳过当前、选下一个)。多光标是「加选」逻辑,Esc 全部清空重来。
Q3:格式化把代码改得面目全非?
格式化只改排版不改逻辑,但不同 formatter 风格不同(引号、换行偏好)。修复:Ctrl+Z 撤销;Ctrl+, 搜 default formatter 选定一款并固定,团队统一用同一种。
📝 本章小结
- 补全:Tab/回车接受,Esc 关闭;装语言插件后能补全项目内函数
- 多光标:
Ctrl+D连按选相同词,Alt+点击任意加光标 F2语义级全局重命名,永不用手改变量名- 开启 Format On Save,缩进引号琐事交给机器
动手改
- 写 5 行
temp = ...代码,用Ctrl+D全选temp改成result - 写一个
def greet(name):函数并调用两次,F2把greet改成say_hi,观察调用处是否同步 - 写一段缩进混乱的 Python,开 Format On Save 后按
Ctrl+S看魔法