macos安装vscode_VS Code 代码编辑器入门指南:核心组件与概念

4fb4baa675a7ed9d317edb6237cfb847.png
作者:思考问题的熊

写在前面

如果当电脑只能装一个软件还需要尽量不影响日常学习工作时,不知道你的选择会是什么。我把这个看似「荒诞」的问题理解为「All-in-One」的升级版拷问。

这个问题陪伴了我很久,每用一个软件我都会想想它对我究竟有多不可代替,然后决定是否继续用下去;当决定深度使用后,我就会问自己它能在多大程度上帮助我完成日常的学习和工作。截至这篇文章完稿,如果我的电脑只能装一个软件还要做到基本不影响日常学习工作,我的选择是 VS Code。

参考之前写过的 文献管理工具 Zotero 入门指南,本入门指南将从 VS Code 特点出发,介绍入门 VS Code 必须了解的核心概念和组件(本篇)以及 5 个 VS Code 实际使用场景(下篇)。希望对想了解和学习 VS Code 的读者能有一点帮助和启发。

什么是代码编辑器

如果此前对「代码编辑器」没有任何概念,我们可以和文本编辑器(写作工具)进行类比,就是为了更好更方便进行代码编写开发的工具。

提到代码编辑器,不少「工龄」较长的程序员第一反应都会是 Notepad++,这款代码编辑器发布于 2003 年并更新至今,非常经典。因为使用惯性和轻量的特点它目前依旧很受欢迎。不过在 2020 年的今天,有更多好用的代码编辑器值得向你推荐。目前比较受欢迎的代码编辑器主要有 VS Code、Atom 和 Sublime text 。它们各有特点也都有不少死忠粉,新手在初期都可以尝试。

另外你或许还经常人提起 IDE (Intergreated Development Environment),和代码编辑器相比 IDE 更关注开箱即用的体验、对代码的智能理解和对大型项目的支持,因此相对「笨重」;代码编辑器则更加轻量,侧重于文件,对于语言和工作流的支持也更自由。

为什么选择 VS Code

Visual Studio Code(简称 VS Code)是一个由微软开发,同时支持 Windows 、 Linux 和 macOS 等操作系统且开放源代码的代码编辑器,它支持测试,并内置了 Git 版本控制功能,同时也具有开发环境功能,例如代码补全(类似于 IntelliSense)、代码片段和代码重构等。该编辑器支持用户个性化配置,例如改变主题颜色、键盘快捷方式等各种属性和参数,同时还在编辑器中内置了扩展程序管理的功能。 ——维基百科

瑞士计算机科学家 Erich Gamma (《设计模式》作者、 Eclipse 主要开发者之一) 2011 年从 IBM 来到微软后起初负责组建团队开发一款线上开发工具(Manaco),后来他们在这个工具的基础上开发了如今的 VS Code 并于 2015 年发布。VS Code 定位为一个 高性能轻量级的编辑器,为了保证主进程的稳定,插件系统运行在主进程之外,所有个性化功能都由插件系统完成,在 IDE 和编辑器之间找到一个比较理想的平衡。

在微软所有开源项目中,VS Code 是目前最受欢迎的一个。经过不同工具之间的比较,我最终选择 VS Code 的原因包括:

  • 完全免费且开源,更新迭代稳定
  • 跨平台编辑器,满足日常在不同系统中的使用
  • 占用系统资源比较少,大文件打开速度快
  • 插件丰富,扩展性极强
  • 使用人数多且社区活跃,碰到问题和需求容易找到解决方案

从 0 到 1 开始使用 VS Code

下载与安装

VS Code 有两个不同版本:稳定版(Stable)每月更新;预览版(Insiders)每个工作日更新。两个版本可同时安装互不影响,在 官网 即可选择自己需要的平台和版本,本文使用的版本为稳定版 1.44.1。

adc325212ea36097aa532a5370f44c41.png

客户端安装完成后,如希望通过终端启动 VS Code,可以按下 shift+command+p 调出命令面板,在搜索框内输入shell command 后找到并点击「Shell Command: Install 'code' command in PATH」即可。

40eab827eaa0c8b1e2ea3f634207295d.png

VS Code 默认是英文界面,这里并不建议把默认语言修改为中文,因为在学习大量英文相关教程和说明时使用英文界面或许更容易操作。另外,VS Code 绝大多数插件都没有汉化,使用起来会中英混杂。

如果需要使用中文,依旧可以通过 shift+command+p 调取命令面板,然后在搜索框中输入 display 找到并点击「Configure Display Language」,这时会显示目前可以选择的语言或者安装其它语言。选择「Install additional languages...」后会跳转到相关语言插件,选择中文语言包安装并进行安装。安装完成后再次找到「Configure Display Language」后选择「zh-cn」后重启即可。

e237662c0ea3326c00a0ac1ca6b51646.png

欢迎界面

打开 VS Code 后,未修改默认配置的情况下首先会看到「欢迎页面」。如下图,欢迎页面有五部分内容。首次使用不妨先花点时间浏览「学习」部分内容,其中交互式演练场(interactive playground)是新手了解 VS Code 好资料。

7f0d8ba922281e42dfbc2c45ef53d749.png

VS Code 主题与图标

在个性化设置部分点击「Color theme」可以选择一个你喜欢的主题。

e16ea40c7c55d7e39fe2a928a9a6f36c.png

除了主题之外,你还可以为 VS Code 选择一套自己喜欢的文件图标。点击左下角的「设置」图标,选择「file icon theme」。

f1ddeeac3bd446a5eeb0d5d93fd0a84f.png

然后选择「Install additional File icon theme...」会弹出可以安装的 icon 插件列表,例如 Material Icom Theme,点击安装后选择使用即可。

核心概念与组件

acc1add022b521afbd7f952a013ead2b.png

上面这张图展示了默认配置情况下 VS Code 的基本界面。

  1. 编辑器:在这里码字写代码
  2. 侧边栏:可以类比为 macOS 的扩展坞,姑且称为「组件坞」,这里会展示各种组件和插件图标。
  3. 组件内容:击侧边栏不同的组件后这里会展示相应显示组件内容。
  4. 面板:包括问题显示、输出、调试控制台和终端四个组件。问题面板会显示代码中的警告和问题,输出面板会呈现命令和插件的运行结果,调试控制台用来进行代码调试,终端则可以帮助我们直接在 VS Code 中进行命令行操作。
  5. 状态栏:可以类比为 macOS 的菜单栏 + 通知中心,这里会展示和文档及项目相关的简单信息以及部分插件提供的信息。

侧边栏及常用组件

5d08bcf0549799e68c39c06e0e7147cd.png

默认情况下,侧边栏显示的五个组件分别是:资源管理器、跨文件搜索、源代码管理、启动和调试和扩展管理。随着后期安装插件的增多,侧边栏可以显示的组件数量也会越来越多,不过你可以通过右击侧边栏选择隐藏那些用不到的组件还可以拖动组件图标进行排序。

侧边栏显示的默认组件中「资源管理器」和「跨文件搜索」就是字面功能,分别用来浏览管理文件和进行内容查找替换,我们会在下篇中配合具体应用场景进行更详细的介绍。源代码管理和调试分别用于 git 一系列操作和 debug,如果你并非程序员,没有这方面的需求也可以选择将其隐藏。

扩展管理及插件

这一部分需要详细介绍「扩展管理」组件和「插件」这个概念。

如文章开头所言,VS Code 中为了保证主进程的稳定所有个性化功能的实现都将通过插件来完成,在下文的应用场景部分我们也会用到大量插件。我们可以把插件理解为 macOS 中的应用,而扩展管理则是 VS Code 的应用商店。

76b42b4e79dec4e457226db6fea96951.png

如上图,在组件显示部分可以看到已经安装的插件和推荐插件,所有你想找的东西都可以尝试在搜索框进行搜索。点击感兴趣的插件后会显示插件详情,其中包括详细介绍、作者和更新日志等内容。

需要说明的是,由于 VS Code 的扩展插件数量实在过于庞大,在浏览插件的时候系统已提供了一些过滤操作,点击 ··· 可以选择只查看安装的插件或者流行的插件等等。

更方便的是你还可以直接在插件搜索框中输入 @ 来进行快速过滤。

0dff87573b6f50c4e8c20b0dc6a5b6bf.png

为了更方便的找到需要的插件,VS Code 支持按照类别进行查找,目前支持的类别如下图所示,包括语言支持、代码片段和主题等。

160d5709952f1ba51a54c6903f6d52b8.png

目前在官方的插件商店中,我们可以看到共有 12 类 20000 余款插件。如果你想开发自己的插件,可以进一步参考 官方插件 API 。

26aa8337d5fc1c867dca3f4777f12166.png

命令面板

VS Code 作为一个代码编辑器,它本身有两个比较极客的设计思想。一个是基于文本(命令)的交互界面,另一个是基于文本的系统设置。基于文本的交互界面就是这里提到的命令面板,系统设置将会稍后介绍。

命令面板的存在提供了一种全新的使用逻辑,熟练使用后可以极大提高效率,因此对命令面板有基本了解是上手 VS Code 的关键。其实在上文安装命令行启动以及设置中文支持时我们都用过它,shift+command+p 就是调用命令面板的一种基本方式。

命令面板的高效在于其可以通过输入框中的第一个字符来触发不同功能。

如下图所示,当你按下 shift+command+p 时,命令面板的输入框会自动出现一个 > 它意味着此时命令面板认为你想要搜索相关命令并执行。

d267becf3483137286e701045d738b07.png

当删除 > 后会看到命令面板切换到了「访问最近文件」状态。如果你想在调用命令面板时直接访问最近文件,快捷键是 command+p

42d9033a4ff6a5ba6607119850860087.png

如果此时输入 ? 会触发命令面板的「帮助」功能,我们可以看到支持哪些操作。下图中显示的切换文件、>执行命令、@符号跳转等我们在后续的应用场景中都会提及。其他单词缩写也代表了对应的操作,例如edt接空格可以管理打开的编辑器,term接空格可以打开或管理终端。

5b394fc55c4c3ace4e30dd6385c8321e.png

修改设置

在下篇介绍中,我们会涉及到更改默认设置的内容,因此有必要了解 VS Code 更改设置的方法。

VS Code 目前已经有了比较完善的图形化设置界面,只需要使用 command+, 就可以调用。

632831b0a47703440344fd33696cad91.png

如上图所示,设置面板已经列出了用户常用配置内容,你可以寻找自己想要改变的东西,但是这里更加推荐直接在搜索框里搜索。此外,VS Code 的配置分为用户(User)和工作区(workspaces)两个层级,其中用户配置会对全局生效,工作区配置只会对当前所在的项目(目录)生效且优先级更高。

除了图形化界面以外,VS Code 的所有配置其实都写在 json 格式的一个文本文件中。你可以非常方便的调出该文件进行设置,只需要在命令面板中输入open sett 然后选择 JSON 即可。如果是针对工作区的设置,json 文件将会保存在工作区.vscode目录下。

在 json 文件中,你可以直接编写设置,也可以点击行号前的「笔形」图标查看可以更改的内容。之所以有必要了解如何通过配置文件更改设置是因为部分插件提供的复杂设置只能通过修改 json 文件完成。

76dcb6f4998757bc0b9299956f3839c9.png

工作区

工作区(workspace)是另一个需要了解的核心概念,它对应在 VS Code 中如何进行文件管理。

上文我们提到相比于 IDE 着重于项目管理,代码编辑器更加侧重于文件本身,VS Code 所有操作就是基于当前目录、子目录和其中的文件进行的。在下篇内容中我们会讲到很多操作和插件都会基于所在目录生成相关的配置文件,而这些文件通常都会被保存到所在目录的.vscode文件夹中。.vscode 文件夹中的各种配置决定了不同目录被打开时 VS Code 会启动哪些插件和配置。

随着项目逐渐发展,单一文件夹往往无法满足我们的开发需求,VS Code 通过工作区这个概念解决了同时操作多个文件夹的问题。简而言之,当你使用 VS Code 打开一个文件夹后可以在命令面板中搜索运行 add folder to workspace,然后选择想要打开的其它文件夹,此时就会显示一个尚未保存的工作区。

89bed93efc21984f2c7053796ee05608.png

当所有文件夹添加完成后在命令面板执行 save workspace as 选择我们的工作区名字和要保存的位置,就可以对该工作区进行保存。

a721062065dad521d849985a8759e87a.png

这时我们会看到一个名字后缀为code-workspace的文件,其本质依旧是一个 json 格式的配置文件。其中包括了文件夹的相对路径以及针对工作区的其它设置。

03fda486a685deba38688adf8a800bfb.png

此外,记住两个目录切换的快捷键也会大大提高效率,ctrl+r 可以快速查看并切换最近打开的文件夹,ctrl+w 则可以快速在所有打开的 VS Code 窗口中进行切换。

语言支持

作为一个代码编辑器,VS Code 提供了统一的 Language Server Protocol 和 Code Debugging Protocol API,所有语言支持都能够借助这两个 API 在 VS Code 上得到类似 IDE 的开发和调试体验。

程序员可能最关心的内容就是对编程语言的支持,但初学者最不需要担心的其实也是这部分内容。到目前为止常用的主流编程语言在 VS Code 中都得到了很不错的支持,你需要的往往只是安装对应语言插件和进行一点基本配置。这些语言包括基础的 Markdown 和 JSON,以 HTML、CSS 和 JavaScript 为代表的多种前端语言和以 Python、Java、Go、C#、PHP 等为代表的大量后端语言。对于一些在程序员群体中相对使用人数较少的编程语言,例如 R 和 Julia 等也都有插件提供支持。下图为官网展示的几个流行语言插件。

afee08dd56796eea7dc745a66d8b9f9a.png

如果想查看自己使用的编程语言是否支持,可以在 插件商店 中查找。此外,当你用 VS Code 打开一个文件时,系统会根据文件名后缀自动提示你安装与之相关的语言插件,非常方面。

这一部分我们也会在下篇中结合具体的应用场景进行介绍。

常用快捷键

提倡使用使用快捷键,主要目的是提高效率尽量让双手不离开键盘。快捷键的使用开始看似是一件更浪费时间的事情,但是随着肌肉记忆和熟练度增加效率将会大大提高。

如果你是从其它编辑器切换到 VS Code 完全可以移植之前熟悉的快捷键配置,比如 Vim, Atom 或者 sublime。如果是一个新手,下图是我自己日常用到的 VS Code 高频快捷键,供参考。

9bf3b8561995300582596e060e49cd56.png

如果需要查看所有快捷键,可以通过 ctrl+K ctrl+s 进入快捷键设置界面或者直接查看官方文档。

  • windows 快捷键
  • macOS 快捷键

以上就是 VS Code 编辑器入门指南上篇的内容,介绍了什么是代码编辑器、为什么选择 VS Code 、从 0 到 1 开始使用 VS Code 以及上手 VS Code 需要了解的核心概念与组件。有了这些知识储备,在下篇中将会介绍 5 个 VS Code 实际应用场景,进而更好的了解 VS Code 的特性和插件。

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

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

相关文章

环路滤波一些概念

熵编码需要编码的数据如下: 熵编码需要编码的数据如下:

【深度学习】TensorFlow之卷积神经网络

卷积神经网络的概念 在多层感知器(Multilayer Perceptrons,简称MLP)中,每一层的神经元都连接到下一层的所有神经元。一般称这种类型的层为完全连接。 多层感知器示例 反向传播 几个人站成一排第一个人看一幅画(输入数…

golang 的交叉编译

为什么80%的码农都做不了架构师?>>> Go是一门编译型语言,所以在不同平台上,需要编译生成不同格式的二进制包。 由于Go 1.5对跨平台编译有了一些改进,包括统一了编译器、链接器等。 编译时候只需要指定两个参数&#x…

【深度学习】Cifar-10-探究不同的改进策略对分类准确率提高

cifar10数据集上进行图片分类,基于tensorflow框架, 旨在探究不同的改进策略对分类准确率的影响,如何一步步得提高准确率 一、问题描述 当我们在处理图像识别或者图像分类或者其他机器学习任务的时候,我们总是迷茫于做出哪些改进…

Acer 4750 安装黑苹果_黑苹果 MacOS 10.15 Catalina安装教程

一、准备工作一个8G以上的U盘(安装 10.15 Catalina 必须要16G及以上的U盘 );Mac OS镜像、TransMac(刻录工具)、DiskGenius(分区工具)、EasyUEFI(引导工区)、EFI驱动文件。安装工具获取方式:关注公众号【远景论坛】,回复:黑苹果二、…

帧内16*16模式的宏块数据传输顺序

如果宏块以16*16帧内模式编码,那么块-1首先被传输,携带的信息是每个4*4亮度块的DC系数。然后,亮度残差块0-15被传输(此时,16*16帧内宏块的DC系数为零)。对于亮度分量Cb和Cr,16和17块携带DC系数的…

pcie1 4 速度_太阳系行星们谁转得最快?八大行星自转速度排行榜,地球排第五...

不知道大家有没有玩儿过陀螺呢?玩儿陀螺的技术如果很好的话,它可以在地上飞快地旋转并且能够旋转很长的时间。有趣的是,宇宙中的很多星球就像陀螺一样绕着一个中心轴旋转着。这就是星球的自转。在太阳系中有八颗大行星,它们都在自…

分布式资本沈波:未来区块链杀手级应用将出现在“+区块链”

雷锋网5月22日报道,日前“区块链技术和应用峰会”在杭州国际博览中心举行。会上,分布式资本创始管理人沈波作了《区块链的投资现状与发展趋势》演讲。 沈波表示,由于区块链的共识机制和无法篡改两大特点,它在各行各业皆有应用潜力…

帧间预测小记

帧间预测后,在比特流中会有相应的信息:残差信息,运动矢量信息,所选的模式。 宏块的色度分量分辨率是亮度分辨率的一半(Cr和Cb),水平和垂直均一半。色度块采用和亮度块一致的分割模式&#xff0…

ImageJ Nikon_科研论文作图之ImageJ

各位读者朋友们又见面了,今天给大家介绍一款图片处理软件——ImageJ,这是一款免费的科学图像分析工具,广泛应用于生物学研究领域。ImageJ软件能够对图像进行缩放、旋转、扭曲、模糊等处理,也可计算选定区域内分析对象的一系列几何…

【urllib】url编码问题简述

对url编解码总结 需要用到urllib库中的parse模块 import urllib.parse # Python3 url编码 print(urllib.parse.quote("天天")) # Python3 url解码 print(urllib.parse.unquote("%E5%A4%E5%A4%")) urlparse() # urllib.parse.urlparse(urlstring,scheme,…

独家| ChinaLedger白硕:区块链中的隐私保护

隐私问题一直是区块链应用落地的障碍问题之一,如何既能满足监管,又能不侵害数据隐私,是行业都在攻克的问题。那么,到底隐私问题为何难?有什么解决思路,以及实践创新呢?零知识证明、同态加密等技…

手机处理器排行榜2019_手机处理器AI性能排行榜出炉,高通骁龙第一,华为排在第十名...

↑↑↑击上方"蓝字"关注,每天推送最新科技新闻安兔兔在近日公布了今年四月份Android手机处理器AI性能排行榜,榜单显示高通骁龙865处理器的AI性能在Android阵营中排在第一名——该处理器的AI性能得分接近46万分,今年的小米10、三星G…

芯片支持的且会被用到的H.264特性 预测编码基本原理

视频压缩: 1.H.264基本档次和主要档次;2.CAVLC熵编码,即基于上下文的自适应变长编码;(不支持CABAC,即基于上下文的自适应算术编码)分辨率:仅用到1080p60,即分辨率为1920*…

MongoDB 数据库 【总结笔记】

一、MongoDB 概念解析 什么是MongoDB? ​ 1、MongoDB是有C语言编写的,是一个基于分布式文件存储的开源数据库系统,在高负载的情况下,添加更多节点,可以保证服务器的性能 ​ 2、MongoDB为web应用提供了高性能的数据存储…

PHP 函数截图 哈哈哈

转载于:https://www.cnblogs.com/bootoo/p/6714676.html

2016年光伏电站交易和融资的十大猜想

1领跑者计划备受关注,竞价上网或从试点开始 领跑者计划规模大,上网条件好,又有政府背书,虽说价格也不便宜,但省去很多隐性成本,对于致力于规模化发展的大型企业来说仍是首要选择。同时,从能源管…

loading gif 透明_搞笑GIF:有这样的女朋友下班哪里都不想去

原标题:搞笑GIF:有这样的女朋友下班哪里都不想去这样的广场舞看着不凉快吗?大哥慢点,机器经受不住你这样的速度求孩子的心里阴影面积生孩子就是用来玩的。有这样的媳妇做饭,下班哪里也不想去1.领导在门外用门夹核桃&am…

eigen库安装_OpenCV+Eigen上位机程序移植(七十一)

1、给硬盘分区现在小伙伴们对于给电脑硬盘分区想必比较头疼,给电脑硬盘分区分为两种情况,一是在安装系统之前给系统硬盘分区,二是在安装系统之后给硬盘分区,我们现在购买的品牌机和笔记本的用户比较多,而且笔记本和品牌…

【实战操作】使用FFmpeg将一个视频文件中音频合成到另一个视频中 只需三秒

直接进入主题 主要参数: -i——设置输入文件名。-f——设置输出格式。-y——若输出文件已存在时则覆盖文件。-fs——超过指定的文件大小时则结束转换。-t——指定输出文件的持续时间,以秒为单位。-ss——从指定时间开始转换,以秒为单位。-t从…