分享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.rhkb.cn/news/145630.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据计算-第15届蓝桥杯第一次STEMA测评Scratch真题精选

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第154讲。 第15届蓝桥杯第1次STEMA测评已于2023年8月20日落下帷幕,编程题一共有6题,分别如下&a…

详解Avast Driver Updater:电脑驱动更新工具的利器还是多余的软件?

亲爱的读者朋友们,你是不是经常为电脑的驱动问题而烦恼?如果是的话,你可能会对这款软件——Avast Driver Updater 电脑驱动更新工具感兴趣。但在你决定尝试之前,不妨先和我一起深入探讨一下它的优点、缺点以及它适用的使用场景。 …

pytorch第一天(tensor数据和csv数据的预处理)lm老师版

tensor数据: import torch import numpyx torch.arange(12) print(x) print(x.shape) print(x.numel())X x.reshape(3, 4) print(X)zeros torch.zeros((2, 3, 4)) print(zeros)ones torch.ones((2,3,4)) print(ones)randon torch.randn(3,4) print(randon)a …

使用U3D、pico开发VR(二)——添加手柄摇杆控制移动

一、将unity 与visual studio 相关联 1.Edit->Preference->External tool 选择相应的版本 二、手柄遥控人物转向和人物移动 1.添加Locomotion System组件 选择XR Origin; 2.添加Continuous Move Provider(Action-based)组件 1>…

10.1 File类

前言: java.io包中的File类是唯一一个可以代表磁盘文件的对象,它定义了一些用于操作文件的方法。通过调用File类提供的各种方法,可以创建、删除或者重命名文件,判断硬盘上某个文件是否存在,查询文件最后修改时间&…

12、Kubernetes中KubeProxy实现之iptables和ipvs

目录 一、概述 二、iptables 代理模式 三、iptables案例分析 四、ipvs案例分析 一、概述 iptables和ipvs其实都是依赖的一个共同的Linux内核模块:Netfilter。Netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供…

Docker从认识到实践再到底层原理(九)|Docker Compose 容器编排

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 然后就是博主最近最花时间的一个专栏…

Mysql生产随笔

目录 1. Mysql批量Kill删除processlist 1.1查看进程、拼接、导出、执行 1.2常见错误解决方案 2.关于时区 3.内存占用优化 记录一下生产过程中的一些场景和命令使用方法,不定期进行更新 1. Mysql批量Kill删除processlist 1.1查看进程、拼接、导出、执行 sho…

Java后端接口编写流程

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Java后端接口编写流程 Java后端接口编写流程,更具业务逻辑编写Java后端接口,提供给前端访问 实现逻辑流程 POJO:实体类编写 Data B…

黑豹程序员-架构师学习路线图-百科:Java

1、简介 Java是Sun公司推出的一门面向对象的编程语言,它是一种通过解释方式来执行的语言。 它出身名门,简化C而来,但并未照搬。继承了C语言各种优点,却摒弃了C里的多继承、指针等概念,因此Java语言具有功能强大和简单…

CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明

国庆假期,闲着没事,在家研究技术~ 上一篇,我们介绍了动画剪辑、动画组件以及基本的使用流程,感兴趣的朋友可以前往阅读: CocosCreator 动画系统-动画剪辑和动画组件介绍。 今天,主要介绍动画编辑器相关功能…

【进阶C语言】动态内存分配

本章大致内容介绍: 1.malloc函数和free函数 2.calloc函数 3.realloc函数 4.常见错误案例 5.笔试题详解 6.柔性数组 一、malloc和free 1.malloc函数 (1)函数原型 函数参数:根据用户的需求需要开辟多大的字节空间&#xff…

C++实现集群聊天服务器

C实现集群聊天服务器 JSON Json是一种轻量级的数据交换模式(也叫做数据序列化方式)。Json采用完全独立于编程语言的文本格式来存储和表示数据。见解和清晰的层次结构使得Json称为理想的数据交换语言。易于阅读和编写。同时也易于支持机器解析和生成&am…

Qt::图层框架-图片图层-序列图层-QGraphicsPixmapItem

二维矢量动画智能制作软件开发合集 链接:软件开发技术分享及记录合集 个人开发二维矢量动画智能制作软件界面如下: 目录 一、图片序列图层原理 二、图片序列图层代码实现 三、图片序列图层软件测试视频 结束语 一、图片序列图层原理 本软件的11种…

【Java 进阶篇】深入理解 JDBC:Java 数据库连接详解

数据库是现代应用程序的核心组成部分之一。无论是 Web 应用、移动应用还是桌面应用,几乎都需要与数据库交互以存储和检索数据。Java 提供了一种强大的方式来实现与数据库的交互,即 JDBC(Java 数据库连接)。本文将深入探讨 JDBC 的…

vue 实现弹出菜单,解决鼠标点击其他区域的检测问题

弹出菜单应该具有的功能,当鼠标点击其他区域时,则关闭该菜单。 问题来了,怎么检测鼠标点击了其他区域而不是当前菜单? 百度“JS检测区域外的点击事件”,会发现有很多方法,有递归检测父元素,有遍…

装饰器模式详解和实现(设计模式 二)

装饰器模式(Decorator Pattern)是一种结构型设计模式,它允许你动态地将对象添加到现有对象中,以提供额外的功能,同时又不影响其他对象。 实现示例 1.定义一个接口或抽象类,表示被装饰对象的公共接口 //抽…

mathtype试用期后如何继续使用?

MathType7已经正式发布,作为一款强大的数学公式编辑器可以将编辑好的公式保存成多种图片格式或透明图片模式,可以很方便的添加或移除符号、表达式等模板(只需要简单地用鼠标拖进拖出即可),也可以很方便地修改模板,为理…

NLP的不同研究领域和最新发展的概述

一、介绍 作为理解、生成和处理自然语言文本的有效方法,自然语言处理 (NLP) 的研究近年来迅速普及并被广泛采用。鉴于NLP的快速发展,获得该领域的概述和维护它是困难的。这篇博文旨在提供NLP不同研究领域的结构化概述,…