当前位置: 首页 > news >正文

[工具探索]VSCode介绍和进阶使用

在这里插入图片描述

相比较GoLand、PhpStorm、PyCharm、WebStorm的重量级内存占用,从Windows系统来,各种卡死,换到MacOS倒不会卡死,但是内存占用太多,影响体验,决定换到VSCode。当然这个过程需要适应过渡期,旧伙计都属于JetBrains IDE,已经用习惯了,该新伙计VSCode交班了;

Visual Studio Code(简称 VSCode)是由 Microsoft 开发的一款免费、轻量级且功能丰富的开源代码编辑器。
它支持多种编程语言,具有强大的扩展性和用户友好的界面。以下是一些 VSCode 的特点以及与其他编辑器的区别:

安装

  • https://code.visualstudio.com/download

VSCode 特点:

  • 跨平台支持: VSCode 可以在 Windows、macOS 和 Linux 上运行,使其成为一个跨平台的编辑器。
  • 轻量级: VSCode 是一款相对轻量级的编辑器,启动速度快,占用系统资源相对较少。
  • 强大的扩展支持: VSCode 的扩展生态系统非常丰富,你可以根据需要安装各种插件,从而个性化和增强编辑器的功能。
  • 集成调试器: VSCode 内置了调试器,支持多种语言的调试,方便开发者进行代码调试。
  • Git 集成: 内置 Git 特性,可以直接在编辑器中进行版本控制和代码提交。
  • 智能代码补全和建议: 借助于 IntelliSense 技术,VSCode 提供了强大的代码补全和智能建议功能,提高了编码效率。
  • 多窗口支持: 支持分割窗口,使得在一个编辑器中同时查看和编辑多个文件变得更加方便。
  • 自定义主题和设置: 可以根据个人喜好选择不同的主题,并根据需要配置各种设置。

与其他编辑器的区别:

  • 轻量级 vs. 重量级: 相对于一些重量级的集成开发环境(IDE)如 Eclipse 和 IntelliJ IDEA,VSCode 更轻量,启动更快。
  • 扩展生态系统: VSCode 的插件生态系统非常庞大,各类扩展插件让你可以根据自己的需求灵活地定制编辑器。这点在一些传统编辑器上可能需要额外的插件或者较为繁琐的配置。
  • 社区活跃度: VSCode 的开发社区非常活跃,新的特性和插件不断涌现,问题能够得到迅速解决。这使得 VSCode 变得更具有前瞻性和持续性。

插件

  • 最好不去装中文包,要让自己熟悉英文的环境

VSCode最有意思的就是玩插件,以下常用的插件罗列:

1、VS Code Counter
该插件用于帮助我们统计项目代码的行数,安装插件后,先选中需要进行代码统计的代码文件夹,然后鼠标右键点击唤出菜单,选择“Count lines in directory”,该扩展就是自动生产一个 .VSCodeCounter 的文件夹。

2、Code Spell Checker
Code Spell Checker插件是是一个拼写检查工具,用于在 VSCode编辑器中检查代码拼写错误。它可以在你编写代码时,自动检测变量、函数、注释等文本内容的拼写错误,并给出错误提示。这样可以有效避免拼写错误造成的代码错误和不必要的麻烦。此外,CodeSpell Checker 也支持自定义词典,可以添加项目特定的术语和缩写,使其能够更好地适应不同的项目需求。

3、Codelf

该插件可以帮助开发者更快、更准确地搜索项目中的变量名、函数名等等。
Codelf 的主要功能包括:

  • 帮助开发者快速搜索命名示例
  • 自动完成和智能联想
  • 支持多种语言和框架

4、Github Copilot

GitHub Copilot 是由 GitHub 和 OpenAI 共同开发的一款 AI 代码助手,作为 VSCode 的一款插件,它可以为开发者提供高效、智能的代码提示和补全功能。使用该插件,开发者可以在编写代码的同时,自动获得最优秀、最合适的代码段和建议,从而显著提高编码效率和代码质量。

GitHub Copilot 的主要特点包括:

  • 智能代码预测和补全功能,支持多种编程语言和框架。
  • 可以根据上下文环境自动生成最优代码段和建议。
  • 支持自定义代码片段和广泛的 AI 库。

5、Git Graph

Git Graph 插件用于可视化查看存储库的 Git 操作,并从图形中轻松执行Git操作。类似于SOurceTree的可视化版本控制插件,可以更新、提交代码,查看提交记录,审视代码。

6、Git History

该插件用于查看 Git 日志和文件历史记录并比较分支或提交。

7、Project Manager

该插件可以帮助我们方便的管理多个项目,支持快速的在多个项目间切换工程,如果你在日常开发中需要进行多项目的管理那用它就对了。

8、Indent-rainbow
让缩进带有颜色,再也不用担心被Python的换行符坑了

9、Material Icon Theme
让文件夹带上图标,再也不枯燥了

10、Git Blame
看看这一行是谁写的代码

11、Image preview
图片预览,可以更好查看markdown中引入图片

12、vscode-live2d(谨慎-踩坑)

安装后你就黑屏,还影响敲代码,没有体验感,本来想玩玩,结果浪费时间
当你装上踩坑后按照下边步骤即可处理:

找到你的VSCode文件,进入到具体文件内,我的路径如下:
~/Documents/softwares/Visual Studio Code.app/Contents/Resources/app/out/vs/code/electron-sandbox/workbench

# cd workbench.html,将 loader.js屏蔽即可,不要删除该插件原始文件,也会打不开黑屏<script src="../../../../bootstrap.js"></script>
<!-- <script src="../../../../vs/loader.js"></script> -->
<script src="../../../../bootstrap-window.js"></script>

参考:https://github.com/iCharlesZ/vscode-live2d/issues/35

13、Docker
兼容docker容器插件
Makes it easy to create, manage, and debug containerized applications.

14、Eclipse Keymap
用习惯了eclipse 快捷键,就需要一个过渡插件

15、Notes
Notes is a Markdown focused notes extension

参考

  • https://github.com/Microsoft/vscode
  • https://zh.wikipedia.org/wiki/%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83

相关文章:

[工具探索]VSCode介绍和进阶使用

相比较GoLand、PhpStorm、PyCharm、WebStorm的重量级内存占用&#xff0c;从Windows系统来&#xff0c;各种卡死&#xff0c;换到MacOS倒不会卡死&#xff0c;但是内存占用太多&#xff0c;影响体验&#xff0c;决定换到VSCode。当然这个过程需要适应过渡期&#xff0c;旧伙计都…...

Oracle迁移到mysql-表结构的坑

1.mysql中id自增字段必须是整数类型 id BIGINT AUTO_INCREMENT not null, 2.VARCHAR2改为VARCHAR 3.NUMBER(16)改为decimal(16,0) 4.date改为datetime 5.mysql范围分区必须int格式&#xff0c;不能list类型 ERROR 1697 (HY000): VALUES value for partition …...

【SpringCloudAlibaba系列--nacos配置中心】

Nacos做注册中心以及使用docker部署nacos集群的博客在这&#xff1a; 容器化部署Nacos&#xff1a;从环境准备到启动 容器化nacos部署并实现服务发现(gradle) 使用docker部署nacos分布式集群 下面介绍如何使用nacos做配置中心 首先要进行nacos-config的引入&#xff0c;引入…...

使用LinkedList实现堆栈及Set集合特点、遍历方式、常见实现类

目录 一、使用LinkedList实现堆栈 堆栈 LinkedList实现堆栈 二、集合框架 三、Set集合 1.特点 2.遍历方式 3.常见实现类 HashSet LinkedHashSet TreeSet 一、使用LinkedList实现堆栈 堆栈 堆栈&#xff08;stack&#xff09;是一种常见的数据结构&#xff0c;一端…...

springboot-cache+redis 为指定名称缓存设置独立超时时间

版本 spring-boot: 3.2.2 方案 注册 RedisCacheManagerBuilderCustomizer Bean对指定名称缓存进行定制 Bean RedisCacheManagerBuilderCustomizer redisCacheManagerBuilderCustomizer() {return builder -> builder.withCacheConfiguration(// Cacheable 注解使用的cac…...

Flutter 数据持久化存储之Hive

Flutter 数据持久化存储之Hive 前言正文一、配置项目二、UI① 增加UI② 显示和删除UI 三、使用Hive① 初始化Hive② TypeAdapter自定义对象③ 注册TypeAdapter③ CURD 四、源码 前言 在Flutter中&#xff0c;有多种方式可以进行数据持久化存储。以下是一些常见的方式&#xff1…...

Java中继承静态属性,方法,和非静态属性和方法的继承区别

结论&#xff1a; Java中静态属性和静态方法是可以被继承的&#xff0c;但是不可以被重写&#xff0c;而是被隐藏。 Java中非静态属性&#xff0c;可以被继承&#xff0c;但是不可以被重写&#xff0c;而是被隐藏。 Java中非静态方法&#xff0c;可以被继承&#xff0c;可以…...

C# If与Switch的区别

在 switch 语句中使用表达式比较时&#xff0c;编译器会生成一个查找表&#xff0c;其中包含所有表达式的值和对应的 case 标签。因此&#xff0c;与使用常量或字面量比较相比&#xff0c;使用表达式比较可能会略微降低性能。 只有当 switch 语句中的所有 case 标签都使用常量或…...

实验室预约|实验室预约小程序|基于微信小程序的实验室预约管理系统设计与实现(源码+数据库+文档)

实验室预约小程序目录 目录 基于微信小程序的实验室预约管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、微信小程序前台 2、管理员后台 &#xff08;1&#xff09;管理员登录 &#xff08;2&#xff09;实验室管理 &#xff08;3&#xff09;公告信息…...

蓝桥杯DP算法——区间DP(C++)

根据题意要求的是将石子合并的最小权值&#xff0c;我们可以根据DP思想使用二维数组f[i,j]来存放所有从第i堆石子到第j堆石子合并成一堆石子的合并方式。 然后由第二个图所示&#xff0c;我们可以将i到j区间分成两个区间&#xff0c;因为将i到j合并成一个区间的前一步一定是合…...

pytest结合Allure生成测试报告

文章目录 1.Allure配置安装2.使用基本命令报告美化1.**前置条件**2.**用例步骤****3.标题和描述****4.用例优先级**3.进阶用法allure+parametrize参数化parametrize+idsparametrize+@allure.title()4.动态化参数5.环境信息**方式一****方式二**6.用例失败截图1.Allure配置安装 …...

Linux--ACL权限管理

一.ACL权限管理简介 ACL&#xff08;Access Control List&#xff0c;访问控制列表&#xff09;是一种文件权限管理机制&#xff0c;它提供了比传统的UGO&#xff08;用户、组、其他&#xff09;权限更灵活的权限设置方式。以下是ACL的一些主要功能&#xff1a; 针对特定用户或…...

Xcode中App图标和APP名称的修改

修改图标 选择Assets文件 ——> 点击Applcon 换App图标 修改名称 点击项目名 ——> General ——> Display Name...

Spring 手动实现Spring底层机制

目录 一、前言 二、Spring底层整体架构 1.准备工作 : 2.架构分析 : &#xff08;重要&#xff09; 3.环境搭建 &#xff1a; 三、手动实现Spring容器结构 1.自定义注解 : 1.1 Component注解 1.2 Scope注解 2.自定义组件 : 3.自定义用于封装Bean信息的BeanDefinition类&a…...

CSV数据导入到ClickHouse数据库

问题描述&#xff1a;手头上有一个数据量较大的CSV文件&#xff0c;希望导入到指定的ClickHouse数据中&#xff0c;ClickHouse部署在服务器中。 解决方案&#xff1a;通常来说&#xff0c;数据量较少的CSV文件可以直接通过DBeaver软件的可视化界面导入数据。 若数据量较大&…...

第十二天-ppt的操作

目录 创建ppt文档 安装 使用 段落的使用 段落添加数据 段落中定义多个段落 自定义段落 ppt插入表表格 PPT插入图片 读取ppt 读取ppt整体对象 ​编辑 获取ppt文本 获取表格内容 创建ppt文档 安装 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple python…...

计算机网络-网络层,运输层,应用层

网络层/网际层 网络层的主要任务包括&#xff1a; 提供逻辑上的端到端通信&#xff1a;网络层负责确定数据的传输路径&#xff0c;使数据能够从源主机传输到目标主机&#xff0c;即实现端到端的通信。数据包的路由和转发&#xff1a;网络层根据目标主机的地址信息&#xff0c…...

Python爬虫学习

1.1搭建爬虫程序开发环境 爬取未来七天天气预报 from bs4 import BeautifulSoup from bs4 import UnicodeDammit import urllib.request url"http://www.weather.com.cn/weather/101120901.shtml" try:headers{"User-Agent":"Mozilla/5.0 (Windows …...

台式电脑黑屏无法开机怎么办 电脑开机黑屏的解决方法

经常有朋友电脑一开机&#xff0c;发现电脑黑屏没法用了。很多人看到黑屏就懵了&#xff0c;以为电脑要报废了&#xff0c;这是什么原因?电脑开机黑屏怎么解决?一般常说的黑屏故障分为两种&#xff0c;显示屏没有任何显示以及显示英文。下面小编要为大家带来的是台式电脑黑屏…...

【Docker】初学者 Docker 基础操作指南:从拉取镜像到运行、停止、删除容器

在现代软件开发和部署中&#xff0c;容器化技术已经成为一种常见的方式&#xff0c;它能够提供一种轻量级、可移植和可扩展的应用程序打包和部署解决方案。Docker 是目前最流行的容器化平台之一&#xff0c;它提供了一整套工具和技术&#xff0c;使得容器的创建、运行和管理变得…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

自然语言处理——循环神经网络

自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元&#xff08;GRU&#xff09;长短期记忆神经网络&#xff08;LSTM&#xff09…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

实战设计模式之模板方法模式

概述 模板方法模式定义了一个操作中的算法骨架&#xff0c;并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下&#xff0c;重新定义算法中的某些步骤。简单来说&#xff0c;就是在一个方法中定义了要执行的步骤顺序或算法框架&#xff0c;但允许子类…...

机器学习的数学基础:线性模型

线性模型 线性模型的基本形式为&#xff1a; f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法&#xff0c;得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...