分享10个必备的VS Code技巧和窍门,提高你的开发效率

目录

前言

1. 时间线视图:本地源代码控制

2. 自动保存:不再需要按Ctrl + S

3. 使用命令面板进行任何操作

4、快速转到文件

5. 快速跳转指定行

6. 快速删除该行

7. 享受使用流畅的光标进行打字

8. 快速格式化代码

9. 使用多光标编辑功能节省时间

10、快速创建新文件夹/文件

总结

结束


前言

你知道全球73%的开发者都依赖于同一个代码编辑器吗?是的,2023年Stack Overflow开发者调查结果已经出来了,而且再次证明,Visual Studio Code是迄今为止使用最广泛的开发环境。

我们都知道原因:太棒了。

但是我们是否充分发掘了它的潜力?在本文中,我们揭示了一些令人信服的VS Code功能,包括增强本地源代码控制、动画打字和快速删除行等。让我们开始使用它们,以实现比以往更快的编码目标。

1. 时间线视图:本地源代码控制

时间线视图为我们提供了本地源代码控制。

我们中的许多人都知道Git和其他源代码控制工具的用处,它们帮助我们轻松追踪文件变更并在需要时恢复到之前的某个点。

所以在VS Code中的时间轴视图提供了一个自动更新的时间轴,显示与文件相关的重要事件,例如Git提交、文件保存和测试运行。

图片

展开此视图以查看与当前文件相关的事件快照列表。这里包括文件保存以及文件被暂存的Git提交。

图片

将鼠标悬停在快照项目上,即可查看 Visual Studio Code 创建快照的日期和时间。

图片

选择一个快照项目,查看差异视图,显示快照时间的文件与当前文件之间的更改。

图片

2. 自动保存:不再需要按Ctrl + S

你能数一下你用过这个快捷方式的次数吗?你现在可能已经下意识地使用它了。自动保存功能会在我们编辑文件时自动保存,无需手动保存。使用自动保存功能,我们可以避免 Ctrl + S 疲劳,节省时间,并确保始终使用文件的最新更改。虽然它并不完美,但权衡利弊的决定在你手中。

图片

图片

使用文件 > 自动保存轻松启用此功能。

图片

3. 使用命令面板进行任何操作

除了输入之外,你在VS Code中做的几乎所有操作都是“命令”。

命令让我们在编辑器中完成任务,它们包括与文件相关的命令、导航命令、编辑命令和终端命令,每个命令都经过最佳设计,以增强您的编辑体验的不同方面。

所以,通过命令面板,我们只需搜索命令并选择执行相关操作。要打开命令面板,请使用以下键盘快捷键:

  • Windows/Linux: Ctrl + Shift + P

  • Mac: Shift + Command+ P

图片

正如你猜对的那样,右侧的键盘快捷键是使用键盘更快地运行命令的方法。

命令面板相比快捷键的主要优点在于当存在没有快捷键的命令,或者你正在寻找一个你不确定是否存在的命令时。

4、快速转到文件

这个鼠标太慢了。

是的,你可以在资源管理器窗格中点击文件,但为了更快的选择,可以使用 Ctrl + P 来搜索并打开项目中的特定文件。

图片

按住 Ctrl 并按下 Tab 以在编辑器实例中循环浏览当前打开的文件列表。

图片

你甚至可以使用 Alt + Left 和 Alt + Right 来快速浏览这些打开的文件。

所有这些方法都比使用光标更快地访问文件。

5. 快速跳转指定行

跳起来,不要滚动。

在调试过程中,快速导航到某一行是非常宝贵的,特别是当你需要在特定行号遇到错误时。通过跳转到这些行,你可以在特定的上下文中检查代码,评估变量并解决问题。

使用 Ctrl + G 键盘快捷键来完成此操作。

图片

6. 快速删除该行

你现在已经到了这一行,如果你想删除它怎么办?

你会拖拽并选中文本然后按下删除键吗?你会不知疲倦地按下退格键直到每个字符都消失吗?

或者,你会使用 Ctrl + Shift + K 快捷方式在几秒钟内快速删除那些行和其他几十行吗?

图片

7. 享受使用流畅的光标进行打字

VS Code有一个平滑光标功能,当光标移动时会有动画效果,就像在MS Word中一样。这使得打字感觉更流畅和精致,同时在浏览代码行并将光标放置在不同位置时,给我们带来更平滑和自然的感觉。

图片

要打开它,请在命令面板中打开设置UI并搜索“smoot caret”。

我们正在寻找 Editor: Cursor Smooth Caret Animation 设置,它有3个可能的选项:

图片

off: 没有流畅的光标动画

explicit:只有在我们明确将光标放在代码的某个位置时,才会使其动起来。

on :平滑的光标动画始终启用 - 包括在打字时。

将其设置为 on 以获得完整的视觉体验。

8. 快速格式化代码

格式化是通过以结构化和一致的方式组织代码来提高代码的可读性。

如果你一直在手动操作,你需要知道有更好的方法。

是的,您需要使用 Format Document 命令自动开始格式化代码,该命令可以在命令面板中轻松访问。根据当前文件的语言,将使用特定的“默认”格式化程序使用各种缩进、行长度、大括号等规则来格式化代码。

图片

虽然有一个相当不错的内置JS/TS格式化工具,但为了更强大的解决方案,我强烈推荐使用Prettier扩展。

图片

图片

安装后,您将把它设置为默认格式化程序。

当您使用手动保存而不是自动保存时,有一个功能您应该启用,以使格式设置变得更加容易:

Editor: Format On Save : "保存时格式化文件。必须有可用的格式化工具,文件不能在延迟后保存,编辑器必须正在关闭中。默认情况下禁用。"

所以,当你在保存文件时,VS Code会自动使用当前默认的格式化程序对你的代码进行格式化,就像你在上面的演示中看到的那样。

当你进行自动保存时,每隔一段时间都要打开命令面板来进行格式化会变得很繁琐。这就是键盘快捷键的用途所在:

Windows: Shift + Alt + F

Mac: Shift + Option + F

Linux: Ctrl + Shift + I

我使用的是Windows系统,个人而言,我不喜欢这个默认的键盘快捷键;自动保存让我不时需要重新格式化,而Shift + Alt + F用久了也变得非常痛苦。

所以我将其更改为 Ctrl + D, Ctrl + D - 一个更容易按下和记住的键盘快捷键组合,并且没有冲突的按键绑定。我建议你也这样做。

9. 使用多光标编辑功能节省时间

在我最早使用VS Code的日子里,多光标编辑是一个令人惊叹的时刻,它允许你在不同的位置放置多个光标,并多次删除或插入相同的文本。这大大加快了编辑速度,极大地提高了生产力,因为我们可以通过快速创建代码高效地完成重复的任务。

当然,在编辑时,总是至少有一个光标。使用 Alt + Click 来添加更多。

图片

您还可以轻松地在当前行的上方或下方直接添加光标,使用 Ctrl + Alt + Down 或 Ctrl + Alt + Up 。

图片

这些快捷方式分别调用 Add Cursor Below 和 Add Cursor Above 命令。

10、快速创建新文件夹/文件

没有一的项目不需要创建新的文件夹和文件,如果有一种加速文件/文件夹创建的方法,节省下来的时间将累积起来,为我们提供显著的生产力提升。

如果你一直在使用VS Code的新建文件和新建文件夹按钮来创建新的文件和文件夹,那么是有办法的。

图片

不必不停地移动鼠标来定位那些小按钮,你知道吗?你只需双击资源管理器面板就可以创建一个新文件。

图片

要不要新建一个文件夹?嗯,没有文件的文件夹就什么都不是。当你创建一个新文件时,你可以轻松使用 / 字符来表示层级关系,并创建新的文件夹和子文件夹来容纳该文件。

作为一名曾经的Atom粉丝,我很快就习惯了使用 A 和 Shift + A 快捷键来分别创建新文件和文件夹;我知道我该怎么做。

图片

由于 A 和 Shift + A 显然是用于编码的键,我在这里包含了 when 值,以确保它们只在资源管理器窗格具有焦点且当前编辑器中没有活动光标时创建新文件/文件夹。

因此,要在打字时使用这些快捷键,您必须首先专注于资源管理器窗格;单击它或使用 Ctrl/Command + Shift + E 。

总结

  • 在资源管理器窗格中,默认情况下启用时间线视图的本地源代码控制。

  • 自动保存带有 File > Autosave 的文件。

  • 使用 Ctrl + Shift + P 或 Shift + Command + P 在命令面板中运行命令。

  • 打开一个带有 Ctrl + P 的文件,使用 Alt + Left/Right 或 Ctrl + Tab 在打开的文件之间切换。

  • 去到一个带有 Ctrl + G 的行。

  • 删除一行带有 Ctrl + Shift + K 的内容

  • 通过 Editor: Cursor Smooth Caret Animation 设置实现流畅的打字体验。

  • 使用“格式化文档”命令对代码进行格式化,使用Prettier,将快捷键更改为 Ctrl + D, Ctrl + D

  • 使用 Alt + Click, Ctrl + Alt + Up/Down 可以同时添加多个光标,一个在上方,一个在下方

  • 在Windows/Mac中,使用Alt/Option + 上/下键将一行向上或向下移动

  • 通过双击资源管理器窗格创建一个新文件,或者设置一个自定义的键盘快捷键。

结束

由于文章内容篇幅有限,今天的内容就分享到这里,文章结尾,我想提醒您,文章的创作不易,如果您喜欢我的分享,请别忘了点赞和收藏。同时,如果您想获取更多知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146184.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【智能家居项目】裸机版本——项目介绍 | 输入子系统(按键) | 单元测试

🐱作者:一只大喵咪1201 🐱专栏:《智能家居项目》 🔥格言:你只管努力,剩下的交给时间! 目录 🏀项目简介🏀输入子系统(按键)⚽应用层⚽设备层⚽ 内核层抽象层⚽…

flink选择slot

flink选择slot 在这个类里修改 package org.apache.flink.runtime.resourcemanager.slotmanager.SlotManagerImpl; findMatchingSlot(resourceProfile):找到满足要求的slot(负责从哪个taskmanager中获取slot)对应上图第8,9&…

IDEA 使用

目录 Git.gitignore 不上传取消idea自动 add file to git撤销commit的内容本地已经有一个开发完成的项目,这个时候想要上传到仓库中 Git .gitignore 不上传 在项目根目录下创建 .gitignore 文件夹,并添加内容: .gitignore取消idea自动 add…

【OpenCV-Torch-dlib-ubuntu】Vm虚拟机linux环境摄像头调用方法与dilb模型探究

前言 随着金秋时节的来临,国庆和中秋的双重喜庆汇聚成一片温暖的节日氛围。在这个美好的时刻,我们有幸共同迎来一次长达8天的假期,为心灵充电,为身体放松,为未来充实自己。今年的国庆不仅仅是家国团聚的时刻&#xff…

STL容器

C STL STL实现原理及其实现 STL(Standard Template Library,标准模板库),提供了六大组件,可以相互之间组合套用,这六大组件分别是:容器(Containers),算法&a…

1.6.C++项目:仿muduo库实现并发服务器之channel模块的设计

项目完整版在: 文章目录 一、channel模块:事件管理Channel类实现二、提供的功能三、实现思想(一)功能(二)意义(三)功能设计 四、代码(一)框架(二…

凉鞋的 Godot 笔记 103. 检视器 :节点的微观编辑和查看

在上一篇,笔者简单介绍了场景与节点的增删改查,如下所示: 在这一篇,我们接着往下学习。 我们知道在场景窗口,可以对节点进行增删改查。 在 Godot 引擎使用过程中,场景窗口的使用频率是非常高的。 但是场景窗口只能编…

macOS Sonoma 14 正式版(23A344)发布,附黑/白苹果镜像下载地址

系统介绍(系统下载地址:http://www.imacosx.cn/115300.html) 黑果魏叔9 月 27日消息,苹果今日向 Mac 电脑用户推送了 macOS Sonoma 14 正式版(23A344)。 macOS 14正式版系统发布:全新功能与改…

ChatGPT Prompting开发实战(十二)

一、如何开发prompts实现个性化的对话方式 通过设置“system”和“user”等roles,可以实现个性化的对话方式,并且可以结合参数“temperature”的设定来差异化LLM的输出内容。在此基础上,通过构建一个餐馆订餐对话机器人来具体演示对话过程。…

Arcgis克里金插值报错:ERROR 010079: 无法估算半变异函数。 执行(Kriging)失败。

Arcgis克里金插值报错:ERROR 010079: 无法估算半变异函数。 执行(Kriging)失败。 问题描述: 原因: shape文件的问题,此图可以看出,待插值的点有好几个都超出了地理范围之外,这个不知道是坐标系配准的问…

JAVA设计模式-代理模式

一.概念 在软件开发中,也有一种设计模式可以提供与代购网站类似的功能。由于某些原因,客户端不想或不能直接访问一个对象,此时可以通过一个称之为“代理”的第三者来实现间接访问,该方案对应的设计模式被称为代理模式。 ​ 代理模…

数据结构——堆(C语言)

本篇会解决一下几个问题: 1.堆是什么? 2.如何形成一个堆? 3.堆的应用场景 堆是什么? 堆总是一颗完全二叉树堆的某个节点总是不大于或不小于父亲节点 如图,在小堆中,父亲节点总是小于孩子节点的。 如图&a…

GO 比较两个对象是否相同

本文主要是来聊一聊关于 Golang 中的深度比较 DeepEqual 因为最近发现身边的小伙伴写 2 个或者多个 map 比较的时候,都是自己去实现去比较每一个结构,每一个节点的 key 和 value 是不是都相等,且根据不同的数据结构,都要去实现一…

【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作

【Python】基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 文章目录 手势识别人脸追踪键盘控制整体代码附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 视频: 基于OpenCV人脸追踪、手势识别控制的求实之路FPS游戏操作 手…

Everything+cpolar搭建在线资料库,实现随时随地访问

Everythingcpolar搭建在线资料库,实现随时随地访问 文章目录 Everythingcpolar搭建在线资料库,实现随时随地访问前言1.软件安装完成后,打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 前…

Python日期的加减等操作

嗨喽,大家好呀~这里是爱看美女的茜茜呐 日期输出格式化 所有日期、时间的api都在datetime模块内。 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都…

scala基础入门

一、Scala安装 下载网址:Install | The Scala Programming Language ideal安装 (1)下载安装Scala plugins (2)统一JDK环境,统一为8 (3)加载Scala (4)创建工…

ARM底层汇编基础指令

汇编语言的组成 伪操作 不参与程序执行,但是用于告诉编译器程序怎么编译.text .global .end .if .else .endif .data 汇编指令 编译器将一条汇编指令编译成一条机器码,在内存里一条指令占4字节内存,一条指令可以实现一个特定的功能 伪指令 不…

Hudi第二章:集成Spark(二)

系列文章目录 Hudi第一章:编译安装 Hudi第二章:集成Spark Hudi第二章:集成Spark(二) 文章目录 系列文章目录前言一、IDEA1.环境准备2.代码编写1.插入数据2.查询数据3.更新数据4.指定时间点查询5.增量查询6.删除数据7.覆盖数据 二、DeltaStre…

设计模式8、装饰者模式 Decorator

解释说明:动态地给一个对象增加一些额外的职责。就扩展功能而言,装饰模式提供了一种比使用子类更加灵活的替代方案 抽象构件(Component):定义一个抽象接口以规范准备收附加责任的对象 具体构件(ConcreteCom…