VSCode编码神器
微软出品的 VScode 现在已经越来越完善。性能远超 Atom 和 WebStorm,相对于 Sublime Text 免费开源,自带 Markdown 文档高亮,你还有什么理由不用它?
第一次使用 VS Code 你肯定想不到这是微软出品的开源编程工具,风格清冽,主题柔和,插件丰富,训疾如风。是的,VS Code 是微软推出的一款免费的、开源的、高性能的、跨平台的、轻量级的代码编辑器,它号称微软最好的开源软件作品,人们对它的喜爱超过了其他厚重的 Visual Studio 系列工具。 VS Code 综合了 Eclipse 等很多优秀编辑器的优势,同时也解决了很多编辑器的痛点,在性能、语言支持、开源社区方面都做得非常好。
程序员选择编辑器,一般可以从这三个方面考量:
第一,你对文本、代码的编辑效率要求有多高?比如说,在 Vim 里面你可以通过快捷键快速删掉一行或者某些单词,可以块选,可以快速分屏查看代码,可以高效匹配和替换查找……如果你喜欢这样的功能,那在选择编辑器的时候就要考虑它是否支持这样的特性了。VS Code 支持 Vim 模式编程。
第二,这个编辑器对编程语言的支持如何,配置是否繁琐?比如你平时多用 Java 编程,选择编辑器前最好去官网查查官方是否重点支持这门编程语言,相关的配置和运行时环境是不是繁琐。如果官方都不支持,那你可能就会吃力不讨好了。VS Code 几乎支持所有主流语言。
第三,它的插件生态怎么样,能否满足自己的需求?现在一个优秀的编辑器都具备良好的插件机制。完善的插件生态对已有的编辑器功能是非常好的补充,你会大概率使用到插件的各种功能,甚至,你可以根据自己的需要开发自己的插件,并贡献给社区。所以在选择之前,你要判断它的插件生态是否繁荣,能否支持你的基础需求。如果整个插件社区比较冷清,那你可就要慎重选择了……VS Code 的插件会自己冒出来问你,你正在找我么?
打开编辑器,不需要创建任何的项目工程文件你就可以开始使用 VS Code 了。你可以高效便捷地操作文本,编写程序,同时在编程语言插件的支持下获得语法检查、智能提示和运行时支持;你还可以借助丰富的插件 API 编写自己的插件,拓展 VS Code 的功能以满足自己的需求。
VS Code 强大之处还在于它的插件市场。这一点可以说是师承 Eclipse,不过 VS Code 吸取了 Eclipse 的教训,把插件系统运行在主进程之外,高度可定制但同时又是可控的,启动和运行速度非常快。VS Code 提供了 Windows、macOS 和 Linux 版本,内置支持JavaScript、TypeScript 和 Node.js,通过丰富的扩展和插件生态,你可以使用 VS Code 高效的编写 C++、C#、Java、Python、PHP、Go 等主流编程语言。可以说,VS Code 对几乎所有的编程语言、框架和开发技术都有支持,提供这种支持的方式是多样的,主要包括了为特定技术提供代码片段、语法高亮、Emmet以及智能提示功能。可以说这是一款轻量级的、高效的、高度可定制的编程利器。
插件
- Settings Sync:多个设备同步插件。
- Chinese (Simplified) Language Pack for Visual Studio Code:适用于 VS Code 的中文(简体)语言包。
- Sublime Text Keymap and Settings Importer:导入Sublime Text快捷键。
- Bookmarks:类似于sublime text的书签标记。
- Easy Sass:自动编译SASS。
- File Template:常用文件模板,新建文件的时候用的,默认支持
JavaScript
、HTML
、CSS
、PHP
、Python
、Ruby
、XML
、Vue
,如果需要修改,打开路径~/.vscode/extensions/RalfZhang.filetemplate-2.0.0/asset/templates/
,这里给出我自己弄的一份模板。 - Vetur:语法高亮、智能感知、Emmet等。
- Path Intellisense:自动路劲补全。
- Markdown All in One:所有需要的Markdown标记。
- Markdown Preview Enhanced:边写边预览,可以导出为PDF。
- Prettier:格式化代码。
- SVN:SVN版本管理。
- 知乎:上班摸鱼上知乎。
代码片段
文件 --> 首选项 --> 用户代码片段
例如我要建 CSS
的代码片段:
{
"new background": {
"prefix": "bg+",
"body": [
"background:${1:transparent} url(${2}) ${3:0} ${4:0} ${5:no-repeat;}"
],
"description": "new background"
}
}
new background
: 只是一个单纯的描述。prefix
: 是触发snippet
的简写。body
: 是展开的代码片段。
1,2,3表示占位符,用于用户展开代码片段所需要替换的,也可以写成${1:label}
键值对的方式。description
:用户你在输出snippet
之前,方便自己识别的注释,而不用强行记忆那些简写的。
全局代码片段
顾名思义,任意位置都可以调用!
{
"Background": {
"prefix": "bg+",
"body": [
"background:${1:transparent} url(${2}) ${3:0} ${4:0} ${5:no-repeat;}"
],
"description": "新建background"
},
"Console": {
"prefix": "con",
"body": [
"console.log(\"$1\")"
],
"description": "输出Console"
},
"Vue": {
"prefix": "vue+",
"body": [
"<template>",
"<div>$5</div>",
"</template>",
"",
"<script>",
"//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)",
"//例如:import 组件名称 from '组件路径';",
"export default {",
"//引入组件",
"props: [",
"",
"],",
"//引入混淆",
"mixins: [",
"",
"],",
"//import引入的组件需要注入到对象中才能使用",
"components: {",
"",
"},",
"data() {",
"//这里存放数据",
"return {",
"",
"};",
"},",
"//监听属性 类似于data概念",
"computed: {",
"",
"},",
"//监控data中的数据变化",
"watch: {",
"",
"},",
"//方法集合",
"methods: {",
"",
"},",
"//生命周期 - 创建完成(可以访问当前this实例)",
"created() {",
"",
"},",
"//生命周期 - 挂载完成(可以访问DOM元素)",
"mounted() {",
"",
"},",
"//生命周期 - 创建之前",
"beforeCreate() {",
"",
"},",
"//生命周期 - 挂载之前",
"beforeMount() {",
"",
"},",
"//生命周期 - 更新之前",
"beforeUpdate() {",
"",
"},",
"//生命周期 - 更新之后",
"updated() {",
"",
"},",
"//生命周期 - 销毁之前",
"beforeDestroy() {",
"",
"},",
"//生命周期 - 销毁完成",
"destroyed() {",
"",
"},",
"//如果页面有keep-alive缓存功能,这个函数会触发",
"activated() {",
"",
"},",
"}",
"</script>",
"",
"<style lang='scss'>",
"//@import '$3';",
"</style>"
],
"description": "新建Vue模板"
},
"Table": {
"prefix": "table+",
"body": [
"<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\">",
" <caption></caption>",
" <thead>",
" <tr>",
" <th></th>",
" </tr>",
" </thead>",
" <tbody>",
" <tr>",
" <td></td>",
" </tr>",
" </tbody>",
" <tfoot>",
" <tr>",
" <td></td>",
" </tr>",
" </tfoot>",
"</table>"
],
"description": "新建table"
},
"Dl": {
"prefix": "dl+",
"body": [
"<dl>",
" <dd></dd>",
" <dt></dt>",
"</dl>"
],
"description": "新建dl"
},
"link": {
"prefix": "a+",
"body": [
"<a href=\"javascript:void(0)\">$1</a>"
],
"description": "新建a链接"
},
}
常用快捷键
按键 | 功能 |
---|---|
Ctrl + Shift + P ,F1 | 显示命令面板 |
Ctrl + P | 查找当前项目中的文件和快速搜索;输入 @ 查找文件主标题/函数;或者输入 : 跳转到文件某行 |
Ctrl + R | 快速列出/跳转到某个函数 |
Ctrl + D | 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑) |
Ctrl + G | 跳转到相应的行 |
Ctrl + J | 合并行(已选择需要合并的多行时) |
Ctrl + K + U | 改为大写 |
Ctrl + K + L | 改为小写 |
Ctrl + F | 查找 |
Ctrl + H | 替换 |
Shift + Alt + (拖动鼠标) | 列(框)选择 |
Ctrl + Shift + Alt +(箭头键) | 列(框)选择 |
Ctrl + \ | 拆分编辑器 |
Ctrl + 1 / 2 / 3 | 聚焦到第1,第2或第3编辑器组 |
Ctrl + ] / [ | 缩进/缩进行 |
Ctrl + F4 ,Ctrl + W | 关闭编辑器 |
Ctrl + N | 新文件 |
Ctrl + O | 打开文件 |
Ctrl + ` | 显示集成终端 |
补充:安装插件SVN 报vscode SVN not found
错误原因:vscode找不到本地的svn.exe. 这个exe在默认安装TortoiseSVN时,默认是不勾选的,所以不会注意,其实在vscode中安装SVN插件时,该插件就已经提示了,需要在安装TortoiseSVN时,勾选上 Command Line Tools.
最后一个Win7版本:https://code.visualstudio.com/updates/v1_70