首页 > 编程语言 >编程利器-Visual Studio Code

编程利器-Visual Studio Code

时间:2024-09-04 09:56:45浏览次数:6  
标签:插件 Code Visual js 编辑器 开源 VS Studio

前言:

在日益繁忙的工作环境中,选择合适的编程工具已成为提升开发者工作效率的关键。不同的工具能够帮助我们简化代码编写、自动化任务、提升调试速度,甚至让团队协作更加顺畅。那么,哪款编程工具让你的工作效率翻倍?是智能的代码编辑器,强大的版本控制工具,还是那些让你事半功倍的自动化脚本?让我们一起分享、探讨,找到能让效率飞升的秘密武器。

​VS Code工具介绍

​VS Code 的全称是 Visual Studio Code,是一款开源的、免费的、跨平台的、高性能的、轻量级的代码编辑器。它在性能、语言支持、开源社区方面,都做得很不错。

微软有两种软件:一种是 VS Code,一种是其他软件。

在2015年4月29日的微软Build开发者大会上,微软宣布推出 VS Code之后,这个轻量级的编辑器成为全球无数开发者们最喜爱的开发工具。VS Code基于开源且跨平台的理念,每月都会进行迭代,并提供每天发布的 insider 版本(insider是微软的一种公测计划,类似于国内软件所说的内测版)。它拥有至少几万个插件,生态极为活跃和丰富。

VS Code 的特点

跨平台:支持 MacOS、Windows 和 Linux 等多个平台。在这多种平台下,拥有一致的用户界面和开发体验。
开源:VS Code 的源代码以 MIT 协议开源。不仅代码开源,而且整个产品的开发计划和发布管理也都是开源的。VS Code团队每年都会在 GitHub 的Wiki上发布 Roadmap,列出一整年的规划图。VS Code 软件的官方文档也托管在了 GitHub 上。
自带终端、图形化的调试工具、Git 版本控制。
插件扩展:支持第三方插件,功能强大。既有中心化的插件市场,也可以直接在 VS Code里搜索你想要的插件。
生态:社区生态活跃且丰富,社区氛围浓厚。
自带 emmet:支持代码自动补全,快速生成简单的语法结构。要知道,这个功能在 Sublime Text中,得先安装插件才行。
语法支持:VS Code 自带了 JavaScript、TypeScript 和 Node.js 的语法支持,包括:语法高亮、代码智能提示和补全、括号匹配、颜色区分、代码片段提示等。也就是说,你在书写 JS 和 TS 时,这些语法支持都是自带的。其他的一些语言,你需要先安装相应的扩展包插件,就出现语法支持。
在修改配置方面,既有图形化的配置界面,也有 基于 JSON 文件的配置方式,满足不同人群的使用习惯。

前端利器之争: VS Code 与 WebStorm

前端小白最喜欢问的一个问题是:哪个编辑器/IDE 好用?是 VS Code 还是 WebStorm (WebStorm 其实是 IntelliJ IDEA 的定制版)?我来做个对比:


所以,如果你以后还问这个问题,那就真有些掉底了。

VS Code 的技术栈、核心组件
了解 VS Code的技术栈和核心组件,可以让我们对 VS Code 有更深入的认识。此小段,了解即可。

开发框架:Electron。Electron可以使用 Node.js + JS这样的技术栈开发桌面GUI应用程序。
编辑器:Monaco Editor。Monaco Editor 是一款开源的在线代码编辑器,是 VS Code 浏览器版本的最核心组件。#
编程语言:TypeScript。TypeScript 是 JavaScript的严格超集。TS 在JS的基础上添加了许多功能,引入了声明文件,而且支持类型扩展。TS 适合长期的、多人开发的大型项目开发。
让编辑器支持语言功能:Language Server Protocol (LSP) 语言服务协议。LSP是编辑器/IDE 与语言服务器之间的一种协议,通过 JSON-PRC 传输消息,可以让编辑器嵌入并支持各种编程语言。开发者可以在编辑器中使用各种语言来编写程序。
让编辑器支持调试功能:Debug Adapter Protocol(DAP)。DAP 是基于 JSON的协议,它抽象了开发工具与调试工具质检的通信。
集成终端:Xterm.js。VS Code的集成终端是基于开源项目Xterm.js 进行开发的。Xterm.js 是一个使用 TS 开发的终端组件。另外,Xterm.js 并不是直接下来下来就能用的终端应用,它只是一个前端组件,可以与 bash这样的进程进行连接,然后让用户通过 Xterm.js 进行交互。

标签:插件,Code,Visual,js,编辑器,开源,VS,Studio
From: https://blog.csdn.net/2401_86544677/article/details/141885237

相关文章

  • 代码随想录算法训练营|Day06 LeetCode 242.有效的字母异位词,349.两个数组的交集,202.快
    理论知识哈希表是根据关键码的值而直接进行访问的数据结构,一般用来快速判断一个元素是否出现在集合里映射——哈希函数哈希碰撞线性探测法拉链法常用的哈希结构数组set(集合)map(映射)242.有效的字母异位词242.有效的字母异位词-力扣(LeetCode)classSolution{......
  • 算法练习题10:leetcode76最小覆盖子串-滑动窗口
    目录题目题目描述约束条件解决思路代码getOrDefault(c,0) 方法方法签名参数返回值示例getOrDefault 与 get 的主要区别Integer 题目题目描述给定两个字符串s和t,请你在字符串s中找到包含t中所有字符的最小子串。要求:        如果 s ......
  • Leetcode面试经典150题-239.滑动窗口最大值
    解法都在代码里,不懂就留言或者私信官方定级hard难度,其实是medium,确实字节考过classSolution{publicint[]maxSlidingWindow(int[]nums,intk){if(nums.length==1){returnnewint[]{nums[0]};}/**我们要返回的是一个......
  • Leetcode面试经典150题-54.螺旋矩阵
      解法都在代码里,不懂就留言或者私信这个题可能和算法关联不大,coding技巧为上classSolution{publicList<Integer>spiralOrder(int[][]matrix){/**先定义结果集*/List<Integer>ans=newArrayList<>();/**当前位置从(0,0)开始*/......
  • 【前端面试】leetcode树javascript
    写一个树//定义二叉树节点functionTreeNode(val,left,right){this.val=(val===undefined?0:val)this.left=(left===undefined?null:left)this.right=(right===undefined?null:right)}//示例使用constroot=newTr......
  • AtCoder ABC 369题解
    前言本题解部分思路来源于网络,仅供参考!A-369题目大意给定\(A\),\(B\)两个整数,求有多少个整数\(x\)使得可以通过某种排列使得\(A\),\(B\),\(x\)为等差数列。解题思路稍加分析即可得到:如果\(A=B\)则结果为\(1\)。如果\(A=B\)但\((A+B)\bmod......
  • 322. 零钱兑换(leetcode)
    https://leetcode.cn/problems/coin-change/description/代码上比较麻烦的dp题,由于求的是最少数量,因此求答案时需要初始化无穷大来计算classSolution{publicintcoinChange(int[]coins,intamount){//f[i][j]表示前i个数中选,体积等于amount的选择最少硬......
  • Educational Codeforces Round 169(A-D)
    A.ClosestPoint        给你一组点。你必须在这个集合中加入一个整数的点,使它与集合中现有的每一个点不同,并且它成为与集合中每一个点**最近的点。这可能吗?(输入yesorno)    一道思路题,简单思考可以发现,如果数字超过两个,那么这题答案就是NO。当两个数字的......
  • 8.30 上午 becoder 模拟赛总结 & 题解
    T1密码当时想到解法了,却依然认为自己不会做,我真是个人才。结论:对于$\foralli\in[1,n)$,满足密码不是$a_i$的因数,且密码是$a_k$的因数,设满足条件的最小值为$g$则答案为$\frac{n}{g}$。一种最好想的做法:枚举$\gcd(a_k,n)$的因数作为$g$,并枚举$i\in[1,n)$,判断是......
  • 8.31 上午 becoder 模拟赛总结 & 题解
    T1四个质数的和赛场亲测搜索+小剪枝可以得到70pts。考虑$O(p(V)^2)$枚举任意两个质数的和,其中$p(V)$表示$V$以内质数的个数。然后开个数组记录下对于每种和的记录有多少种情况,查询时for循环扫一遍即可,详见代码。复杂度去掉质数筛$O(p(V)^2+tn)$,代码贴在下面(100pts)......