学会用好 Visual Studio Code

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

Visual Studio Code是个牛逼的编辑器,启动非常快,完全可以用来代替其他文本文件编辑工具。又可以用来做开发,支持各种语言,相比其他IDE,轻量级完全可配置还集成Git感觉非常的适合前端开发,是微软亲生的想必TypeScript会支持的非常好。 所以我仔细研究了一下文档未来可能会作为主力工具使用。

主命令框 Command Palette


最重要的功能就是 F1 或 Ctrl+Shift+P 打开的命令面板了,在这个命令框里可以执行VSCode的任何一条命令,可以查看每条命令对应的快捷键,甚至可以关闭这个编辑器。

1

按一下Backspace会进入到Ctrl+P模式里

Ctrl+P模式


在Ctrl+P下输入>又可以回到主命令框 Ctrl+Shift+P模式。

Ctrl+P窗口下还可以

  • 直接输入文件名,快速打开文件
  • ? 列出当前可执行的动作
  • ! 显示Errors或Warnings,也可以Ctrl+Shift+M
  • : 跳转到行数,也可以Ctrl+G直接进入
  • @ 跳转到symbol(搜索变量或者函数),也可以Ctrl+Shift+O直接进入
  • @:根据分类跳转symbol,查找属性或函数,也可以Ctrl+Shift+O后输入:进入
  • # 根据名字查找symbol,也可以Ctrl+T

常用快捷键


编辑器与窗口管理


同时打开多个窗口(查看多个项目)

  • 打开一个新窗口: Ctrl+Shift+N
  • 关闭窗口: Ctrl+Shift+W

同时打开多个编辑器(查看多个文件)

  • 新建文件 Ctrl+N
  • 历史打开文件之间切换 Ctrl+TabAlt+LeftAlt+Right
  • 切出一个新的编辑器(最多3个)Ctrl+\,也可以按住Ctrl鼠标点击Explorer里的文件名
  • 左中右3个编辑器的快捷键Ctrl+1 Ctrl+2 Ctrl+3
  • 3个编辑器之间循环切换 Ctrl+`
  • 编辑器换位置,Ctrl+k然后按LeftRight

代码编辑


格式调整

  • 代码行缩进Ctrl+[, Ctrl+]
  • 折叠打开代码块 Ctrl+Shift+[, Ctrl+Shift+]
  • Ctrl+C Ctrl+V如果不选中,默认复制或剪切一整行
  • 代码格式化:Shift+Alt+F,或Ctrl+Shift+P后输入format code
  • 修剪空格Ctrl+Shift+X
  • 上下移动一行: Alt+Up 或 Alt+Down
  • 向上向下复制一行: Shift+Alt+UpShift+Alt+Down
  • 在当前行下边插入一行Ctrl+Enter
  • 在当前行上方插入一行Ctrl+Shift+Enter

光标相关

  • 移动到行首:Home
  • 移动到行尾:End
  • 移动到文件结尾:Ctrl+End
  • 移动到文件开头:Ctrl+Home
  • 移动到后半个括号 Ctrl+Shift+]
  • 选中当前行Ctrl+i
  • 选择从光标到行尾Shift+End
  • 选择从行首到光标处Shift+Home
  • 删除光标右侧的所有字Ctrl+Delete
  • Shrink/expand selection: Shift+Alt+LeftShift+Alt+Right
  • Multi-Cursor:可以连续选择多处,然后一起修改,Alt+Click添加cursor或者Ctrl+Alt+Down 或 Ctrl+Alt+Up
  • 同时选中所有匹配的Ctrl+Shift+L
  • Ctrl+D下一个匹配的也被选中(被我自定义成删除当前行了,见下边Ctrl+Shift+K)
  • 回退上一个光标操作Ctrl+U

重构代码

  • 跳转到定义处:F12
  • 定义处缩略图:只看一眼而不跳转过去Alt+F12
  • 列出所有的引用:Shift+F12
  • 同时修改本文件中所有匹配的:Ctrl+F12
  • 重命名:比如要修改一个方法名,可以选中后按F2,输入新的名字,回车,会发现所有的文件都修改过了。
  • 跳转到下一个Error或Warning:当有多个错误时可以按F8逐个跳转
  • 查看diff 在explorer里选择文件右键 Set file to compare,然后需要对比的文件上右键选择Compare with 'file_name_you_chose'.

查找替换

  • 查找 Ctrl+F
  • 查找替换 Ctrl+H
  • 整个文件夹中查找 Ctrl+Shift+F
    匹配符:
  • * to match one or more characters in a path segment
  • ? to match on one character in a path segment
  • ** to match any number of path segments ,including none
  • {} to group conditions (e.g. {**/*.html,**/*.txt} matches all html and txt files)
  • [] to declare a range of characters to match (e.g., example.[0-9] to match on example.0,example.1, …

显示相关


  • 全屏:F11
  • zoomIn/zoomOut:Ctrl + =/Ctrl + -
  • 侧边栏显/隐:Ctrl+B
  • 侧边栏4大功能显示:
    • Show Explorer Ctrl+Shift+E
    • Show SearchCtrl+Shift+F
    • Show GitCtrl+Shift+G
    • Show DebugCtrl+Shift+D

     

  • Show OutputCtrl+Shift+U
  • 预览markdownCtrl+Shift+V

其他


  • 自动保存:File -> AutoSave ,或者Ctrl+Shift+P,输入 auto

皮肤预览

f1后输入 theme 回车,然后上下键即可预览

2

自定义settings.json


3

User settings 是全局设置,任何vs Code打开的项目都会依此配置。


默认存储在:

Windows: %APPDATA%\Code\User\settings.json
Mac: $HOME/Library/Application Support/Code/User/settings.json</code><br>Linux: <code>$HOME/.config/Code/User/settings.json

Workspace settings 是本工作区的设置,会覆盖上边的配置


存储在工作区的.vocode文件夹下。

几乎所有设定都在settings.json里,包括

  • Editor Configuration - font, word wrapping, tab size, line numbers, indentation, …
  • Window Configuration - restore folders, zoom level, …
  • Files Configuration - excluded file filters, default encoding, trim trailing whitespace, …
  • File Explorer Configuration - encoding, WORKING FILES behavior, …
  • HTTP Configuration - proxy settings
  • Search Configuration - file exclude filters
  • Git Configuration - disable Git integration, auto fetch behavior
  • Telemetry Configuration - disable telemetry reporting, crash reporting
  • HTML Configuration - HTML format configuration
  • CSS Configuration - CSS linting configuration
  • JavaScript Configuration - Language specific settings
  • JSON Configuration - Schemas associated with certain JSON files
  • Markdown Preview Configuration - Add a custom CSS to the Markdown preview
  • Less Configuration - Control linting for Less
  • Sass Configuration - Control linting for Sass
  • TypeScript Configuration - Language specific settings
  • PHP Configuration - PHP linter configuration

例如可以修改让vscode认识.glsl扩展名

{// Configure file associations to languages (e.g. "*.extension": "html"). These have precedence over the default associations of the languages installed."files.associations": {"*.glsl": "shaderlab"}
}

修改默认快捷键


File -> Preferences -> Keyboard Shortcuts

修改keybindings.json,我的显示在这里C:\Users\Administrator\AppData\Roaming\Code\User\keybindings.json

 

// Place your key bindings in this file to overwrite the defaults [ //ctrl+space被切换输入法快捷键占用 { "key": "ctrl+alt+space", "command": "editor.action.triggerSuggest", "when": "editorTextFocus" }, // ctrl+d删除一行 { "key": "ctrl+d", "command": "editor.action.deleteLines", "when": "editorTextFocus" }, { "key": "ctrl+shift+k", //与删除一行的快捷键互换了:) "command": "editor.action.addSelectionToNextFindMatch", "when": "editorFocus" }, //ctrl+shift+/多行注释 { "key":"ctrl+shift+/", "command": "editor.action.blockComment", "when": "editorTextFocus" } ] 

自定义代码段

 


4

然后输入语言,例如我这里输入 typescript

由于每次输入箭头函数() => {}太烦了,我这里加入一段加入一段

 

 "arrow function": { "prefix": "func", "body": [ "(${e}) =&gt; {$1}" ], "description": "arrow function" } 

保存后,下次输入func的时候就会自动出来箭头函数了


5

配置TypeScript环境


  1. 首先覆盖默认ctrl + space快捷键,因为这个快捷键被输入法切换占用了
    C:\Users\Administrator\AppData\Roaming\Code\User\keybindings.json
    加入
    // Place your key bindings in this file to overwrite the defaults
    [
    { "key": "ctrl+alt+space",            "command": "editor.action.triggerSuggest","when": "editorTextFocus" }
    ]
    
  2. File - Open Folder 打开项目的目录
  3. 创建 tsconfig.json
  4. 输入{} ,在大括号中间 ctrl + alt + space (上边的自定义键盘)

6

  1. 输入
    {"compilerOptions": {"target": "ES5","module": "amd","sourceMap": true}
    }
    
  2. 可以创建.ts文件了
  3. 配置TaskRunner Ctrl+Shift+P 输入 Configure Task Runner
  4. Run Task Ctrl+Shift+B

安装typings


Install typings to bring in the .d.ts files which power javascript intellisense.

npm install typings --global# Search for definitions.
typings search tape# Find an available definition (by name).
typings search --name react# Install typings (DT is "ambient", make sure to enable the flag and persist the selection in `typings.json`).
typings install react --ambient --save

install will create a typings folder. VS Code will reference the .d.ts files for intellisense.

插件


新版本支持插件安装了

插件市场 https://marketplace.visualstudio.com/#VSCode

安装插件

F1 输入 extensions

7

点击第一个开始安装或升级,或者也可以 Ctrl+P 输入 ext install进入
点击第二个会列出已经安装的扩展,可以从中卸载

ext install

我在用的插件(期待更新…)

docthis 插件可以自动添加JSDoc注释。

ctrl + p 后 输入ext install docthis 可直接安装。

安装后连续两次 Ctrl+Alt+D 即可在光标处插入注释。

详细: https://marketplace.visualstudio.com/items?itemName=joelday.docthis

vscode-todo 显示todo列表

ctrl + p 后 输入ext install vscode-todo 可直接安装。

详细: https://marketplace.visualstudio.com/items?itemName=MattiasPernhult.vscode-todo

参考:

  • Learning Visual Studio Code
  • Key Bindings for Visual Studio Code
  • VS Code Tips and Tricks

转载自http://www.nshen.net/article/2015-11-20/vscode/

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

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

相关文章

Maven学习总结(五)——聚合与继承

2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(五)——聚合与继承 一、聚合 如果我们想一次构建多个项目模块&#xff0c;那我们就需要对多个项目模块进行聚合 1.1、聚合配置代码 1 <modules> 2 <module>模块一</module> 3 …

19-6/28作业:100以内偶数求和

☞作业要求 ☞分析思路 在循环里面增加约束&#xff0c;使累加1变成累加2 ☞do-while循环代码 public class GaoSiFor { public static void main(String[] args) { //定义两个变量 int sum 0; int i 0; //开始循环 do{ //…

coco creator编辑动画坑之拖图片

如图所示&#xff0c;批量选中多张图片之后&#xff0c;拖到右下角的框中&#xff0c;发现有时候可以有时候不行。这个我觉得是个软件的bug 后来经过测试发现只有在粉红色圈的高度才可以正确放入图片&#xff0c;否则都放不了。转载于:https://www.cnblogs.com/codeDevotee/p/1…

Spring MVC常用注解说明

2019独角兽企业重金招聘Python工程师标准>>> 使用Spring MVC的注解及其用法和其它相关知识来实现控制器功能。02 之前在使用Struts2实现MVC的注解时&#xff0c;是借助struts2-convention这个插件&#xff0c;如今我们使用Spring自带的spring-webmvc组件来实现同…

vue.js 三种方式安装 ( vue-cli ) 、安装详解、创建项目

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Vue.js&#xff08;读音 /vjuː/, 类似于 view&#xff09;是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单…

数据结构之顺序表(一)

有关顺序表&#xff0c;由于代码太长&#xff0c;我将分成2部分&#xff0c;这边是头文件SeqList.h和主函数&#xff1a; #ifndef __SEQLIST_H__ #define __SEQLIST_H__#define FALSE -1 #define TRUE 0#define INIT_SIZE 100 #define INCRESS_SIZE 20typedef int Seq…

科目三考试指南

正在准备科目三的您&#xff0c;对顺利通过考试有信心吗&#xff1f;今天&#xff0c;小编为大家带来科目三靠边停车技巧&#xff0c;通过讲解靠边停车考试要求&#xff0c;让学员更好地掌握相关技巧&#xff0c;希望能帮到大家。 靠边停车考试项目中规定&#xff0c;车前保险杠…

docker学习4-docker安装mysql环境

前言 docker安装mysql环境非常方便&#xff0c;简单的几步操作就可以了 拉取mysql镜像 先拉取mysql的镜像&#xff0c;可以在docker的镜像仓库找到不同TAG标签的版本https://hub.docker.com/_/mysql?tabtags 我这里选择mysql:5.7标签 [rootyoyo ~]# docker pull mysql:5.7 5.7…

Dynamics CRM 2015 站点地图公告配置实体显示名称的变更

CRM更新2015后&#xff0c;在设置里找不到公告配置了 在原来的位置上你会东西一个叫活动源配置的东西&#xff0c;点开看后就是原来的公告配置。 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 转载于:https://www.cnblogs.com/VicTang/p/4799531…

漫谈微服务架构:什么是Spring Cloud,为何要选择Spring Cloud

Spring Cloud是基于Spring Boot的&#xff0c;因此还在使用SpringMVC的同学要先了解Spring Boot。先上一段官话&#xff0c;Spring Cloud是一个基于Spring Boot实现的云应用开发工具&#xff0c;它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、…

打印python包含汉字报SyntaxError: Non-ASCII character '\xe4' in file

因为本人主要使用Scala语言&#xff0c;但是之前同事包括老大都是使用python&#xff0c;加上python在spark的使用中的确越来越受欢迎&#xff0c;所以最近准备入坑python&#xff0c;但是装完写demo的时候出了问题&#xff0c;如下&#xff1a; 查了下发现&#xff0c;这是pyt…

Node.js 多版本安装配置(Window、Ubuntu 、CentOS 、Mac OS、Cloud Studio)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 向大家介绍在window和Linux上安装Node.js的方法。 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。 Node.js安装包及源码下载…

cookie ? 利用cookie实现 显示上次访问时间?

二、 <%page import"java.text.SimpleDateFormat"%> <%page import"java.util.Date"%> <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UTF-8"%> <!DOCTYPE html PUBLIC &…

C语言实现简单的电子通讯录

**制作一个电子通讯录&#xff0c;通过该通讯录能录入好友ID号、姓名(英文)、手 机号码&#xff0c;家庭住址&#xff0c;公司电话。** 原理&#xff1a;分成5个模块&#xff0c;将模块功能实现写入头文件中。主函数部分代码&#xff1a; 显示函数部分&#xff0c;在Markdow…

结构体的传参理解成员的存储方式

结构体的成员变量在内存中存储的方式&#xff0c;决定于设定的内存对齐方式是几字节&#xff1a;gcc编译默认使用4字节对齐&#xff1a; 1 #include <stdio.h>2 3 typedef struct test_buf4 {5 int a;6 char c;7 char buf[8];8 char *str;9 10 }buf…

eclipse插件大全整理学习

Eclipse Web Tools Platform(WTP) 地址&#xff1a;http://download.eclipse.org/webtools/ WTP十分强大&#xff0c;支持HTML, JavaScript, XML, JSP&#xff0c;支持语法着色&#xff0c;代码提示&#xff0c;代码折叠等&#xff0c;以及其它一堆JavaEE相关的功能。Web开发必…

网友力荐教子名言 只有50句却能改变儿女一生

从当今的家庭来看&#xff0c;大多数的家长把自己的一切希望寄托在孩子的身上&#xff0c;这个〝望子成龙〞或〝盼女成凤〞的希望能否成为现实&#xff0c;需要多方面的努力&#xff0c;而家庭是孩子的第一所〝学校〞&#xff0c; 父母是孩子的第一位〝老师〞&#xff0c;家庭…

Python-02-基础知识

一、第一个Python程序 【第一步】新建一个hello.txt 【第二步】将后缀名txt改为py 【第三步】使用记事本编辑该文件 【第四步】在cmd中运行该文件 print("Hello World!") 强调&#xff1a;python解释器执行程序是解释执行&#xff0c;即打开文件读内容&#xff0c;因…

利用FS寄存器获取KERNEL32.DLL基址算法的证明(ZZ)

转自&#xff1a;http://blog.csdn.net/int2e/archive/2008/01/09/2032732.aspxFS寄存器指向当前活动线程的TEB结构&#xff08;线程结构&#xff09; 偏移 说明 000 指向SEH链指针 004 线程堆栈顶部 008 线程堆栈底部 00C SubSystemTib 010 FiberData 014 ArbitraryUse…

script 放置最佳位置以及 html 执行顺序

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 看到知乎上有很多讨论关于javascript位置的文章。所以特意留意了这方面的问题。 首先要了解到的是&#xff1a; html文件是自上而下的执…