1.vscode
VSCode
[TOC]
一 概述
1 简介
主要记录vscode的一些操作和插件
vscode本身就是用TypeScript写的?
3 常识
3.1 vscode 的正则
本质是js正则?
二 安装配置
1 windows
用户设置文件在%APPDATA%\Code\User\settings.json
2 linux
用户设置文件在$HOME/.config/Code/User/settings.json
3 mac安装
设置分为用户设置(全区)和工作区设置(只针对当前项目),前者的配置文件在$HOME/Library/Application Support/Code/User/settings.json
,后者的配置文件保存在.vscode/settings.json
4 常用设置
控制字符的显示,建议开启:
"editor.renderControlCharacters": true
重启应用时打开窗口的方式,
none
打开空工作区,one
打开最后使用的窗口,folders
打开所有含有文件夹的窗口,all
重新打开上次会话的所有窗口,默认是one
:window.restoreWindows": "one"
自动保存
设置行高:默认似乎是0,表示自动根据字体设置行高,但是太高了导致显示的内容变少,目前设置的16。
三 基础
1 常用快捷键
格式化代码:
shift+alt/opt+F
(win)、ctrl+shift+i
(linux)选中当前单词或句子:
ctrl+d
,按多次就是选中多个同样的单词或者句子,同时会出现多个光标,非常方便;ctrl+F2
则是选中所有同样的单词或者句子复制一行:光标没选中的时候
ctrl+c
会直接复制光标所在的那行,然后ctrl+v
就可以直接在下面复制了;复制选中的内容:shift+alt+上下箭头
(win和mac),linux下说的是ctrl+shift+alt+上下箭头
,但是liunx下并不生效,只有用ctrl+c
了打开命令面板:
F1
或ctrl(cmd)+shift+p
在当前行的下面(上面)插入一行:
Ctrl+Enter
(Ctrl+Shift+Enter
)删除一行:
Ctrl+Shift+k
多光标:
ctrl+alt+上下箭头
(win);shift+alt+上下箭头
、ctrl+shift+上下箭头
(linux);shift+option+鼠标左键
(mac)新建一个文件是
ctrl+n
,打开文件是ctrl+o
,打开新的窗口是ctrl+shift+n
多个文件之间的切换:
ctrl+tab
、ctrl+shift+tab
,和google chrome切换标签一样;或者ctrl+pageUP/DOWN
要选中几个单词之类的,推荐使用
ctrl+shift+左右箭头
,选中几行可以用ctrl+shift+上下箭头
,推荐和shift+方向箭头
组合使用快速移动光标:
ctrl+左右箭头
可以快速在单词一个个单词之间移动;ctrl+上下箭头
可以在不移动光标的情况下上下移动页面显示修复程序:
ctrl+.
,比如angular中使用了某个组件但是没有引入这个组件的包,这个时候可以用这个然后快捷引入必须的包。返回光标的前一次的位置:
ctrl+alt+-
(非win);返回光标的前一次位置或后一次位置:Winkey+alt+左右箭头
(win);前进或后退:alt+左右箭头
(win,感觉没光标的前进或后退那个快捷键准确)显示左侧边栏:
ctrl+b
在两个对应的括号之间跳转(测试发现支持方括号,大括号,圆括号):
ctrl+shift+\
2 快捷生成代码
生成html模板:在html文件里输入
!
四 插件
1 open-in-browser
将 HTML 文件呈现在浏览器中
2 vscode-icons
增加不同文件对应的图标,这样看起来更舒服。 现在新版本安装后,似乎需要使用管理员权限启动vscode,并打开命令输入框(F1
或者Ctrl+Shift+P
)执行Icons Enable
,而且似乎每次启用不同的图标都会重启vscode.
3 go
3.1 go的插件
goimports
(golang.org/x/tools/cmd/goimports):go的包导入工具,可以根据需要自动添加或删除导入的包 gocode
:Completion Lists 代码自动完成 gopkgs
:github.com/uudashr/gopkgs/cmd/gopkgs(在linux上似乎还依赖github.com/pkg/errors) go-outline
:github.com/ramya-rao-a/go-outline(File outline 文件大纲) go-symbols
:github.com/acroca/go-symbols(Workspace symbol search 工作区符号搜索) guru
:golang.org/x/tools/cmd/guru gorename
:golang.org/x/tools/cmd/gorename gomodifytags
goplay
impl
godef
:github.com/rogpeppe/godef(Quick Info 快速提示信息,Goto Definition 跳转到定义)
goreturns
:github.com/sqs/goreturns golint
:github.com/golang/lint/golint gotests
:$ go get -u -v github.com/cweill/gotests/... gofmt
:格式化go代码 delve
:(Debugging 调试代码)
但是因为某些网站不能访问/无法找到文件/无法直接下载等原因,工具不能安装完,没安装完的话打开go文件右下角会出现Analysis Tools Missing
,点击会出现安装提示。目前有几种解决方法:
(最推荐)golang官方在github的镜像库下载,比如
https://golang.org/x/net
在GitHub上对应的镜像库是https://github.com/golang/net
,本地创建src/golang.org/x
目录,然后将镜像库的代码下载到里面,就可以安装了。下载goalng.org.x.tools包,大部分需要的工具都在该包里
在GOPATH/src下解压该压缩包,内容会被放到
$GOPATH/src/golang.org/x/tools
目录然后依次执行
go get ...
命令安装之前失败的工具,如go get github.com/sqs/goreturns
下载golang.org.x.lint包
go get github.com/golang/lint/golint
下载github.com/rogpeppe/godef包,直接去github拉取该包会报错如下,
但是我不知道为什么第三方网站可以下载到,下载后执行
go get -v github.com/rogpeppe/godef
goreturns可以直接通过github获取:github.com/sqs/goreturns
dlv工具,用于debugging,似乎可以不安装,
github.com/derekparker/delve/cmd/dlv
(推荐)从这儿下载:https://github.com/golang/tools,然后将tools包copy到
$GOPATH\src\golang.org\x\tools
下(不推荐)方法四:通过github上的其他网友提供的地址安装
开了全局ss为什么安装还是失败?
(带验证)似乎有时候go get是获取到了工具的代码,只是编译或者什么导致了错误,去工具对应的目录下go install
下就好了。
3.2 关于GOPATH
实测,每次修改了GOPATH,vscode都要重启才会生效(不是vscode中的shell重启)
4 git lens
5 tslint(待补充)
6 HTML Snippets
超级实用且初级的 H5代码片段以及提示
7 HTML CSS Support
让 html 标签上写class 智能提示当前项目所支持的样式 新版已经支持scss文件检索
8 Settings Sync
通过github gist同步vscode的设置,每次换到新vscode上就可以通过它来同步所有的设置和插件了。首先需要了解github Personal access tokens和gist。
上传or更新设置:先申请github token,然后>sync update/upload
输入这个github token,同步完成后会得到github gist id,这两个东西都要记住。
下载设置:> sync download settings
,输入github token和gist id,等待下载。
设置自动同步:略。
9 beautify
格式化代码(JavaScript JSON CSS Sass 和 HTML)
10 Flutter
11 Dart
上面那货会自动装上Dart
12 Docker
13 Markdown All in One
14 Rainbow CSV
15 SQL Server(mssql)
六 问题
1 已解决
1.1 vscode官网上有
1.2 安装node之后,如果要在vscode中使用,需要重启一下vscode
七 未整理
https://segmentfault.com/q/1010000010415091
八 log
20181210:精简笔记,只留用到的插件
Last updated
Was this helpful?