【VSCode】工作区及设置

【VSCode】工作区及设置

  • VSCode介绍
  • 工作区
  • 设置

VSCode介绍

Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器,以下是VSCode的一些功能及特性:

  • 编辑器核心
    • 多文档界面:VSCode允许同时打开多个文档,支持水平或垂直分割视图。
    • 代码高亮和语法树:VSCode能够识别多种编程语言,并为它们提供语法高亮显示。
    • 代码折叠:用户可以折叠代码块,以便更清晰地查看代码结构。
    • 多光标编辑:支持同时在多个位置输入,提高编辑效率。
  • 智能感知
    • IntelliSense:一个强大的代码补全和智能提示功能,支持大多数语言。
    • 代码导航:快速跳转到定义、引用和实现。
    • 代码片段:预定义的代码模板,可以快速插入常用代码。
    • 代码格式化:自动格式化代码,支持多种语言和自定义格式化规则。
  • 调试和测试
    • 内置调试器:支持断点、步进、查看变量等调试功能。
    • 调试控制台:在VSCode内部运行代码和调试输出。
    • 测试运行器:支持单元测试和测试探索。
  • 版本控制
    • Git集成:VSCode内置了Git版本控制系统,支持提交、推送、拉取等操作。
    • 分支管理:轻松管理Git分支和合并请求。
  • 扩展市场
    • 插件系统:VSCode拥有一个丰富的插件市场,用户可以安装扩展来增加新功能。
    • 主题和图标包:用户可以更换编辑器的主题和图标包来个性化编辑器外观。
  • 远程开发
    • 远程-SSH:通过SSH连接到远程服务器进行开发。
    • 远程-容器:在容器中开发,使得开发环境与生产环境保持一致。
  • 终端集成:VSCode内置了一个终端,用户可以在编辑器内部直接使用命令行。
  • 工作区:一个可以包含多个文件夹的项目空间,支持多根工作区。
  • 设置
    • 用户设置:全局或工作区级别的配置,控制编辑器行为。
    • 键盘快捷键:用户可以自定义快捷键来提高工作效率。
  • 语言支持
    • 丰富的语言支持:VSCode对多种编程语言提供了原生支持,包括JavaScript、TypeScript、Python、C++、C#、Java等。
  • 性能
    • 快速启动和响应:VSCode优化了性能,即使在大型项目中也能保持快速响应。
  • 可定制性
    • 用户自定义:用户可以自定义几乎所有的编辑器方面,包括界面布局、颜色主题、快捷键等。

VSCode的设计哲学是轻量级但功能强大,它通过插件系统和用户自定义设置提供了极高的灵活性,使其成为许多开发者的首选编辑器。

以上内容均由kimi生成。

工作区

个人理解VSCode中的工作区类似于一般集成开发环境(integrated development environment,IDE)(比如PyCharm)中的项目,本质上都是对从属于工作区/项目的代码文件进行统一配置及管理。

稍有区别的是,工作区支持在一个窗口中管理多个项目(工作区可以是多根的1),例如一个工作区可以同时支持Python和Java项目,这一点是很多IDE无法实现的。

以PyCharm为例,PyCharm可以在一个窗口中打开多个相同环境配置的项目并进行修改、运行,但无法直接运行PyCharm不支持的语言。
并且最好不要在IDE中一个窗口打开多个相同环境配置的项目,这样逻辑上是将多个项目集成为一个项目,很容易导致项目间的冲突。

设置

由于VSCode是高度定制化的,其允许用户以JSON格式精确控制编辑器的各种行为、外观和工作环境等,因此其使用settings.json文件作为配置系统的重要组成部分2

settings.json又可简单分为用户/全局settings.json和工作区settings.json,二者在以下几个方面略有差异:

  • 产生方式
    • 用户/全局settings.json在安装好VSCode后自动生成
    • 工作区settings.json需要首先在工作区目录下创建.vscode文件夹,然后手动创建
  • 访问方式
    • 用户/全局settings.json可通过以下几种方式进行访问:
      • 快捷键Ctrl+Shift+P打开命令面板,输入“settings.json”回车
      • 依次点击“文件”➡“首选项”➡“设置”➡“内容”➡“设置”
    • 工作区settings.json在工作区目录下的.vscode文件夹中找到并打开即可访问
  • 作用范围
    • 用户/全局settings.json在全局范围内有效
    • 工作区settings.json仅在该工作区下有效

值得注意的是,虽然用户/全局settings.json的作用范围大于工作区settings.json的作用范围,但在二者的重合作用范围内,用户/全局settings.json和工作区settings.json的相同属性的设置以工作区settings.json为准。
也就是说,在有工作区settings.json的工作区内,相同属性的设置由工作区settings.json决定,而非用户/全局settings.json。

VSCode的设置还有系统默认设置文件夹设置,系统默认设置不可修改,文件夹设置可简单理解为单个项目的设置,具体内容可参照《关于VSCode中工作区的讲解与使用工作区还你一个轻量的VSCode》。


  1. Visual Studio Code 配置教程,手把手教你如何配置 ↩︎

  2. settings.json:Visual Studio Code的深度定制化核心 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

clickhouse解决suspiciously many的异常

1. 问题背景 clickhouse安装在虚拟机上,持续写入日志时,突然关机,然后重启,会出现clickhouse可以正常启动,但是查询sql语句,提示suspiciously many异常,如图所示 2. 问题修复 touch /data/cl…

从零开始k8s-部署篇(未完待续)

从零开始k8s 1.部署k8s-部署篇 1.部署k8s-部署篇 本次部署完全学习于华子的博客点击此处进入华子主页 K8S中文官网:https://kubernetes.io/zh-cn 笔者从零开始部署的k8s,部署前置条件为 1.需要harbor仓库,存放镜像,拉取镜像&am…

Dots 常用操作

游戏中有多个蚂蚁群落,每个蚂蚁属于一个群落,如何设计数据结构? 方法1:为蚂蚁组件添加一个属性 ID,会造成逻辑中大量分支语句,如果分支语句逻辑不平衡可能带来 Job 调度问题,每个蚂蚁会有一份蚂…

如何通过 Kafka 将数据导入 Elasticsearch

作者:来自 Elastic Andre Luiz 将 Apache Kafka 与 Elasticsearch 集成的分步指南,以便使用 Python、Docker Compose 和 Kafka Connect 实现高效的数据提取、索引和可视化。 在本文中,我们将展示如何将 Apache Kafka 与 Elasticsearch 集成以…

深入浅出:AWT的基本组件及其应用

目录 前言 1. AWT简介 2. AWT基本组件 2.1 Button:按钮 2.2 Label:标签 ​编辑 2.3 TextField:文本框 2.4 Checkbox:复选框 2.5 Choice:下拉菜单 2.6 List:列表 综合案例 注意 3. AWT事件处理 …

Go Energy 跨平台框架 v2.5.1 发布

Energy 框架 是Go语言基于CEF 和 LCL 开发的跨平台 GUI 框架, 具体丰富的系统原生 UI 控件集, 丰富的 CEF 功能 API,简化且不失功能的 CEF 功能 API 使用。 特性? 特性描述跨平台支持 Windows, macOS, Linux简单Go语言的简单特性,使用简单…

JS 异步 ( 一、异步概念、Web worker 基本使用 )

文章目录 异步代码异步执行概念ES6 之前的异步 Web worker 异步 代码异步执行概念 通常代码是自上而下同步执行的,既后面的代码必须等待前面的代码执行完才会执行,而异步执行则是将主线程中的某段代码交由子线程去执行,当交给子线程后&…

机器学习(二)-简单线性回归

文章目录 1. 简单线性回归理论2. python通过简单线性回归预测房价2.1 预测数据2.2导入标准库2.3 导入数据2.4 划分数据集2.5 导入线性回归模块2.6 对测试集进行预测2.7 计算均方误差 J2.8 计算参数 w0、w12.9 可视化训练集拟合结果2.10 可视化测试集拟合结果2.11 保存模型2.12 …

Java字符串操作利器:StringBuffer与StringBuilder类详解

在处理字符串变更时,StringBuffer和StringBuilder类是优选工具。与String类不同,StringBuffer和StringBuilder允许对象被多次修改,而不会生成新的未使用对象。 StringBuilder类自Java 5起引入,其与StringBuffer的主要区别在于Stri…

软件确认测试报告的内容和作用简析

软件确认测试报告是对软件确认测试过程及结果的正式记录,是评估软件质量的重要依据。它不仅对开发团队起到反馈作用,更是决策层判断软件是否可以交付的重要参考。 一、软件确认测试报告包括的内容   1、测试目的:明确此次测试的目的和所要…

结构体(初阶)

结构体: 结构体类型的声明 结构体初始化 结构成员访问 结构体传参 1.结构体的声明 1.1结构的基础知识 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。 1.2结构的声明 struct tag { member - list; }variable-lis…

详解VHDL如何编写Testbench

1.概述 仿真测试平台文件(Testbench)是可以用来验证所设计的硬件模型正确性的 VHDL模型,它为所测试的元件提供了激励信号,可以以波形的方式显示仿真结果或把测试结果存储到文件中。这里所说的激励信号可以直接集成在测试平台文件中,也可以从…

React 第二十节 useRef 用途使用技巧注意事项详解

简述 useRef 用于操作不需要在视图上渲染的属性数据,用于访问真实的DOM节点,或者React组件的实例对象,允许直接操作DOM元素或者是组件; 写法 const inpRef useRef(params)参数: useRef(params),接收的 …

SQL子查询和having实例

有2个表如下;一个是站点信息,一个是站点不同时间的访问量, 现在要获取总访问量大于200的网站; 先执行如下sql,不包括having子句看一下,获得的是所有站点的总访问量; 这应是一个子查询&#xf…

【seatunnel】数据同步软件安装

【seatunnel】数据同步软件安装 下载 wget https://dlcdn.apache.org/seatunnel/2.3.8/apache-seatunnel-2.3.8-bin.tar.gz wget https://dlcdn.apache.org/seatunnel/seatunnel-web/1.0.2/apache-seatunnel-web-1.0.2-bin.tar.gz1、安装seatunnel Server 解压 tar zxvf ap…

散斑/横向剪切/迈克尔逊/干涉条纹仿真技术分析

摘要 本博文提供了多种数据类型的干涉条纹仿真,并展示了它们对应的散斑干涉条纹。还分别给出了横向剪切干涉以及剪切散斑干涉条纹的仿真。 一、迈克尔逊干涉与散斑干涉仿真 下图为干涉条纹与对应的散斑干涉条纹的仿真示意图。其中,干涉条纹可认为是源…

如何通过采购管理系统实现智能化采购?

随着人工智能、大数据等技术的快速发展,采购管理逐步迈入智能化时代。智能化采购不仅提升了效率,还为企业提供了更精准的采购决策支持。本文将从智能化采购的优势出发,探讨采购管理系统如何助力企业实现这一目标。 文中用到的采购管理系统&a…

【论文阅读笔记】IC-Light

SCALING IN-THE-WILD TRAINING FOR DIFFUSION-BASED ILLUMINATION HARMONIZATION AND EDITING BY IMPOSING CONSISTENT LIGHT TRANSPORT 通过施加一致的光线传输来扩展基于扩散模型的真实场景光照协调与编辑训练 前言摘要引言相关工作基于学习的基于扩散模型的外观和光照操纵光…

594: Maximum Tape Utilization Ratio

解法&#xff1a; 对于该题有以下错误&#xff08;敬希评论区指正 1.dp定义在全局会wa struct node {int count; // 当前容量下能够存储的程序数量int sum; // 当前容量下所占用的磁带长度vector<int> path; // 当前容量下选择的程序的路径&#xff08;存放的程序…

流量主微信小程序工具类去水印

工具类微信小程序流量主带后台管理&#xff0c;可开通广告&#xff0c;带自有后台管理&#xff0c;不借助第三方接口 介绍 支持抖音&#xff0c;小红书&#xff0c;哔哩哔哩视频水印去除&#xff0c;功能实现不借助第三方平台。可实现微信小程序流量主广告变现功能&#xff0c…