每次换editor都是一种煎熬,从最早的eclipse,sublime,webstorm到现在在用的atom,换编辑器的驱动是寻找更酷炫和轻量的平衡点,其实我真的蛮喜欢atom的,酷炫!那我这次打算入手vscode的原因有以下几点

  • 部门同事基本上都在用它 ╯□╰
  • 社区和atom一样活跃(最诱惑我的地方是写node能打断点以及ts编译的速度)
  • 今天atom全局搜索存在的包文件竟然没找到!!

说换一种editor是一种煎熬是因为你需要配置样式和插件并掌握部分快捷键和高级功能,下面我会介绍一些入坑奇淫记。

使用命令行秒开sublime,atom,vscode

这个部分其实是小技巧。

我们可以使用 code . 启动vscode。

提示:对于Mac用户,我们需要通过设置使您能够从终端内启动VS Code.首选运行VS code并打开命令面板( ⇧⌘P ),然后输入 shell command 找到: Install ‘code' command in PATH 。

接下来我来介绍另一种方法,使 subl . atom . code . 分别能启动sublime、atom、vscode

sudo nano .zshrc

在文件末尾加上:

alias atom='/Applications/Atom.app/Contents/MacOS/Atom'
alias subl='/Applications/SublimeText.app/Contents/SharedSupport/bin/subl'
alias code='/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code'

command+x再输入y,保存。重启iterm2.

打开包内容后一直找到可以执行的文件(就是可以打开应用的文件), 然后把当前路径复制到.zshrc中用alias设置,alias就是设置别名,有空格就用 \ 转义。

现在就能分别使用相应的命令秒开各种编辑器了。

定制自己的VS code

ps:我是一个会因为找不到自己喜欢的高亮主题而放弃一款编辑器的重度强迫症者。

  • 一定要挑选等宽字体。(推荐如下几个)

    • Source Code Pro(我当前用的)
    • Menlo
    • Consolas
    • Monaco
    • Courier New
  • 设置合适的字体大小和行高
  • 挑选一个满意的代码高亮主题(推荐如下)
    • Material(我当前用的)
    • one Dark
    • Monokai
  • 挑选一个可爱的文件图标主题
    • Material Theme Icons
    • VScode great Icons

配置文件

command+, 呼出配置界面,我的配置文件如下

虽然VScode支持中文,还是建议用编辑器默认的英文,毕竟做这行~,一些比较难看懂的英文配置,看这篇文章

前面几点是界面的配置,上文已经说了,再来讲几点

我把terminal.external.osxExec设置为用iTerm.app打开,否则它默认是用系统自带的控制台打开(比较丑)。

来看看我的iTerm2界面,(如果有朋友有需求我以后可以写写iTerm2+om-my-zsh的奇淫计)

还有"workbench.activityBar.visible": false这点,把活动栏给隐藏掉,我感觉这个一是占位,二是不美观,所以把它隐藏掉了。当然可以直接输入下面这命令来隐藏或显示活动栏

Toggle Activity Bar Visibility

快捷键

关于快捷键,推荐一个插件KeyMap,这样不管你从sublime,atom还是其他编辑器转过来的,可以把先前在你用的编辑器上的快捷键原封不动的继承过来。这样子就可以完美的过度到VScode。

在此之上,VScode的一些常用快捷键罗列如下,官方英文

因为用了KeyMap插件,所以我大部分快捷键是从atom上继承过来的,所以有些快捷键就在迈向新纪元编辑器里了,

【COMMAND +P 模式】

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

左侧相关

  • command+shift+E 打开资源
  • command+shift+F 打开搜索
  • ctrl+shift+G 打开git
  • command+shift+D 打开调试
  • command+shift+X 打开扩展

其他

  • 自动保存:File -> AutoSave ,或者Ctrl+Shift+P,输入 auto
  • command+shift+V 实时预览md文件

TODO

等我上手一段时间,我会写篇实用插件使用心得以及用vscode打断点调试的技巧

vscode奇淫记(上)的更多相关文章

  1. CSS布局奇淫技巧之--各种居中

    居中是我们使用css来布局时常遇到的情况.使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍. 注:本文所讲方法除了特别说明 ...

  2. 优化DP的奇淫技巧

    DP是搞OI不可不学的算法.一些丧心病狂的出题人不满足于裸的DP,一定要加上优化才能A掉. 故下面记录一些优化DP的奇淫技巧. OJ 1326 裸的状态方程很好推. f[i]=max(f[j]+sum ...

  3. NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1)

    NGINX的奇淫技巧 —— 6. IF实现数学比较功能 (1) ARGUS 1月13日 发布 推荐 0 推荐 收藏 3 收藏,839 浏览 nginx的if支持=.!= 逻辑比较, 但不支持if中 & ...

  4. [asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题和支持HtmlHelper

    一.需求 我们在开发中经常会遇到一些枚举,而且这些枚举类型可能会在表单中的下拉中,或者单选按钮中会用到等. 这样用是没问题的,但是用过的人都知道一个问题,就是枚举的命名问题,当然有很多人枚举直接中文命 ...

  5. [asp.net mvc 奇淫巧技] 05 - 扩展ScriptBundle,支持混淆加密javascript

    一.需求: 在web开发中,经常会处理javascript的一些问题,其中就包括js的压缩,合并,发布版本以及混淆加密等等问题.在asp.net 开发中我们使用ScriptBundle已经可以解决ja ...

  6. Zepto源码分析(二)奇淫技巧总结

    Zepto源码分析(一)核心代码分析 Zepto源码分析(二)奇淫技巧总结 目录 * 前言 * 短路操作符 * 参数重载(参数个数重载) * 参数重载(参数类型重载) * CSS操作 * 获取属性值的 ...

  7. [asp.net mvc 奇淫巧技] 06 - 也许你的项目同一个用户的请求都是同步的

    一.感慨 很久前看到一篇博客中有句话大致的意思是:“asp.net 程序性能低下的主要原因是开发人员技术参差不齐”,当时看到这句话不以为然,然而时间过的越久接触的.net 开发人员越多就越认同这句话: ...

  8. 你可能不知道的 docker 命令的奇淫怪巧

    你可能不知道的 docker 命令的奇淫怪巧 Intro 介绍并收录一些可能会用到的一些简单实用却很少有人用的 docker 命令 dangling images build 自己的 docker 镜 ...

  9. Gradle更小、更快构建APP的奇淫技巧

    本文已获得原作者授权同意,翻译以及转载原文链接:Build your Android app Faster and Smaller than ever作者:Jirawatee译文链接:Gradle更小 ...

随机推荐

  1. Laravel分页

    Laravel使用的过程中,有些功能把前端页面的表达"写死了",比如分页的翻页按钮! 当然你会说Laravel的Bootstrap样式也很好看啊,但是实际项目中,翻页按钮常常需要满 ...

  2. NodeJS链接MongDB

    创建一个mongdb.js var mongodb = require('mongodb') // 创建数据库服务的链接 var server = new mongodb.Server( 'local ...

  3. RAP在Linux 上的部署

    首先讲一下,rap 是什么东西 ,rap 是一种项目的管理工具.用来管理项目的接口的. 首先是在Linux 上装了一个tomcat8  .当然jdk 的环境是必须要有的, 在rap的官网下载了war包 ...

  4. select函数的用法

    首先介绍阻塞方式与非阻塞方式: 阻塞方式(block),就是进程或是线程执行到这些函数时必须等待某个事件的发生.如果事件没有发生,进程或线程就被阻塞,函数不能立即返回. 非阻塞方式(non-block ...

  5. Python 3中字符串可以被改变吗?

    Python 3中字符串可以被改变吗? 字符串有改变这个方法的:replace,比如: a = 'lkjhgfdsa' a.replace(') '123kjhgfdsa' #返回结果 从上面这个例子 ...

  6. JS判断手机当前的系统类型

    <script language="javascript"> window.onload = function () { var n = navigator.userA ...

  7. 说说如何用js实现一个模板引擎

    本文同步更新在: https://github.com/whxaxes/blog/issues/4 ,在 github 看文章显示效果会更好一些. 前言 不知不觉就很长时间没造过什么轮子了,以前一直想 ...

  8. 菜鸟聊JavaScript中this

    菜鸟聊this this在JavaScript中是一个比较头疼的问题,我现在以一枚菜鸟的观点结合代码简单的谈下JavaScript中的this指向问题. 1.例子1 function a() { va ...

  9. ASP.NET MVC 创建控制器类过程

    MvcHandler.ProcessRequestInit()方法: 1.1获取控制器的名称string requiredString = this.RequestContext.RouteData. ...

  10. Jackson注解学习参考(转)

    转:http://wong-john.iteye.com/blog/1753402 以下内容摘录.翻译自https://github.com/FasterXML/jackson-annotations ...