本文最新內容將在GitHub上實時更新。javascript
VS Code 原本是前端人員專用,但因爲它實在是太好用了,因而,各類開發方向的碼農也正在用 VS Code 做爲他們的主力編程工具。甚至是一些寫做的同窗,也把 VS Code 做爲 markdown 寫做工具。css
寫下這篇文章,是順勢而爲。html
VS Code 的全稱是 Visual Studio Code,是一款開源的、免費的、跨平臺的、高性能的、輕量級的代碼編輯器。它在性能、語言支持、開源社區方面,都作的很不錯。前端
IDE
和編輯器
是有區別的:java
IDE :對代碼會有較好的智能提示,同時側重於工程項目,對項目的開發、調試工做有較好的圖像化界面的支持,所以比較笨重。好比 Eclipse 的定位就是 IDE。node
編輯器:要相對輕量許多,側重於文本的編輯。好比 Sublime Text 的定位就是編輯器。再好比 Windows 系統自帶的「記事本」就是最簡單的編輯器。git
須要注意的是,VS Code 的定位是編輯器
,而非IDE
。但 VS Code 又比通常的編輯器的功能要豐富許多。github
VS Code 的使命,是讓開發者在編輯器裏擁有 IDE 那樣的開發體驗,好比代碼的智能提示、語法檢查、圖形化的調試工具、插件擴展、版本管理等。web
VS Code 的源代碼以MIT協議開源。編程
VS Code 自帶了 TypeScript 和 Node.js 的支持。也就是說,你在書寫 JS 和 TS 時,是自帶智能提示的。
有一點你可能不知道,VS Code 這個客戶端軟件是用 js 語言開發出來的(具體請自行查閱關鍵字Electron
)。有句話說得好:能用 js 實現的功能,最終必定會用 js 實現。
前端小白最喜歡問的一個問題是:哪一個編輯器/IDE 好用?是VS Code仍是 WebStorm (WebStorm 實際上是 IntelliJ IDEA的定製版)?我來作個對比:
哪一個更酷:顯然 VS Code 更酷。
內存佔用狀況:根據個人觀察,VS Code是很佔內存的(尤爲是當你打開多個窗口的時候),但若是你的內存條夠用的話,使用起來是不會有任何卡頓的感受的。相比之下,IDEA 不只很是佔內存,並且還很是卡頓。
使用比例:固然是 VS Code 更勝一籌。先不說別的,我就拿數聽說話,我目前所在的前端團隊有100人左右,絕大部分前端同窗都在用 VS Code,妥妥的。
因此,若是你之後還問這個問題,那就真有些掉底了。
VS Code 的安裝很簡單,直接去官網下載安裝包,而後雙擊安裝便可。
上圖中,直接點擊 download 下載安裝便可。
VS Code用得熟不熟,首先就看你是否會用快捷鍵。如下列出的內容,都是經常使用快捷鍵,而加粗部分的快捷鍵,使用頻率則很是高。
掌握10%的內容,足矣應對90%的工做。熟練使用它們,你就已經很牛了。
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
Cmd + ← | Fn + ← | 將光標定位到當前行的最左側 | 很經常使用 |
Cmd + → | Fn + → | 將光標定位到當前行的最右側 | 很經常使用 |
Cmd + ↑ | Ctrl + Home | 將光標定位到文章的第一行 | |
Cmd + ↓ | Ctrl + End | 將光標定位到文章的最後一行 |
根據上面的快捷鍵,咱們能夠觸類旁通。補充以下:
「方向鍵」:在單個字符之間移動光標
「option + 左右方向鍵」:在單詞之間移動光標(很經常使用)。注:Win 快捷鍵是「Ctrl + 左右方向鍵」。
「Cmd + 左右方向鍵」:在整行之間移動光標(很經常使用)。注:Win 的快捷鍵是「Fn + 左右方向鍵」
「Cmd + Shift + \
」:在代碼塊之間移動光標。
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
option + Backspace | Ctrl + Backspace | 刪除光標以前的一個單詞 | 英文有效,很經常使用 |
option + delete | Ctrl + delete | 刪除光標以後的一個單詞 | |
Cmd + delete | 刪除光標以前的整行內容 | 很經常使用 | |
Cmd + delete | 刪除光標以後的整行內容 | ||
Cmd + shift + K | Ctrl + Shift + K | 刪除整行 | 「Cmd + X」的做用是剪切,但也能夠刪除整行 |
備註:上面所講到的移動光標、刪除操做的快捷鍵,在其餘編輯器裏,也是一樣的操做。
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
Cmd + Enter | Ctrl + Enter | 在當前行下面新增一行,而後跳至該行 | 即便光標不在行尾,也能快速向下插入一行 |
Option + ↑ | Alt + ↑ | 將代碼向上移動 | 很經常使用 |
Option + ↓ | Alt + ↓ | 將代碼向下移動 | 很經常使用 |
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
Cmd + / | Ctrl + / | 添加單行註釋 | 很經常使用 |
Option + Shift + F | Alt + shift + F | 代碼格式化 | 很經常使用 |
Ctrl + J | 將多行代碼合併爲一行 | Win 用戶可在命令面板搜索」合併行「 | |
Cmd + | |||
Cmd + U | Ctrl + U | 將光標的移動回退到上一個位置 | 撤銷光標的移動和選擇 |
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
Ctrl + Tab | Ctrl + Tab | 在已經打開的文件之間進行跳轉 | |
Cmd + P | Ctrl + P | 在當前的項目工程裏,全局搜索文件 | 很經常使用 |
Ctrl + G | Ctrl + G | 跳轉到指定行 | |
Cmd + Shift + O | Ctrl + shift + O | 在當前文件的各類方法之間進行跳轉 |
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
Cmd + F | Ctrl + F | 在當前文件中搜索,光標在搜索框裏 | |
Cmd + G | F3 | 在當前文件中搜索,光標仍在編輯器裏 | |
Cmd + Shift + F | Ctrl + Shift +F | 全局搜索 | 很經常使用 |
技巧1:按住 「Option」鍵(windows 用戶是按住「Alt」鍵) ,而後在頁面中但願中現光標的位置點擊鼠標。
技巧2:選中某個文本,而後反覆按住快捷鍵「 Cmd + D 」鍵(windows 用戶是按住「Ctrl + D」鍵), 便可將全文中與光標當前所在位置的詞相同的詞逐一加入選擇。
技巧3:選中一堆文本後,按住「Option + Shift + i」鍵(windows 用戶是按住「Alt + Shift + I」鍵),既可在每一行的末尾都建立一個光標。
Mac快捷鍵 | Win快捷鍵 | 做用 | 備註 |
---|---|---|---|
Cmd + B | Ctrl + B | 顯示/隱藏側邊欄 | 很實用 |
Cmd + \ |
Ctrl + \ |
建立多個編輯器 | 比較實用 |
Cmd + Option + 左右方向鍵 | Ctrl + Pagedown/Pageup | 在已經打開的文件之間進行切換 | 很是實用 |
Ctrl + Tab | Ctrl + Tab | 在已經打開的文件之間進行跳轉 | 不如上面的快捷鍵實用 |
Cmd + J | Ctrl + J | 顯示/隱藏控制檯 |
按住快捷鍵「Cmd + Shift + P」,彈出命令面板,在命令面板中輸入「快捷鍵」,能夠進入快捷鍵的設置。
固然,你也能夠選擇菜單欄「偏好設置 --> 鍵盤快捷方式」,進入快捷鍵的設置:
你能夠點擊 VS Code 左下角的齒輪按鈕,效果以下:
上圖中,在展開的菜單中選擇「鍵盤快捷方式」,就能夠查看和修改全部的快捷鍵列表了:
打開 VS Code 的設置項,選擇「用戶設置 -> 工做臺 -> 導航路徑」,以下圖所示:
上圖中,將紅框部分打鉤便可。
設置成功後,咱們就能夠查看到當前文件的「層級結構」,很是方便。以下圖所示:
VS Code 默認顯示代碼的行號。你能夠在設置項裏搜索 editor.lineNumbers
修改設置,配置項以下:
我建議保留這個設置項,無需修改。
VS Code 會在代碼的右側,默認顯示縮略圖。你能夠在設置項裏搜索 editor.minimap
進行設置,配置項以下:
當咱們把光標放在某一行時,這一行的背景色並無發生變化。若是想高亮顯示當前行的代碼,你能夠在設置項裏搜索editor.renderLineHighlight
進行設置。配置項以下:
我設置完以後,發現效果不是很明顯。有待優化。
VS Code 會根據你所打開的文件來決定該使用空格仍是製表。也就是說,若是你的項目中使用的都是製表符,那麼,當你在寫新的代碼時,按下tab 鍵後,編輯器就會識別成製表符。
常見的設置項以下:
改完代碼後,默認不會自動保存。你能夠在設置項裏搜索files.autoSave
,修改配置項以下:
上圖中,咱們將配置項修改成onFocusChange
以後,那麼,當光標離開該文件後,這個文件就會自動保存了。很是方便。
保存代碼後,默認不會當即進行代碼的格式化。你能夠在設置項裏搜索editor.formatOnSave
查看該配置項:
我以爲這個配置項保持默認就好,不用打鉤。
當咱們按下快捷鍵「Cmd + N」新建文件時,VS Code 默認沒法識別這個文件究竟是什麼類型的,所以也就沒法識別相應的語法高亮。若是你想修改默認的文件類型,能夠在設置項裏搜索files.defaultLanguage
,設置項以下:
上圖中的紅框部分,填入你指望的默認文件類型。我填的是html
類型,你也能夠填寫成 javascript
或者 markdown
,或者其餘的語言類型。
當咱們在 VS Code 中刪除文件時,默認會彈出確認框。若是你想修改設置,能夠在設置項裏搜索xplorer.confirmDelete
。截圖以下:
我建議這個設置項保持默認的打鉤就好,不用修改。刪除文件前的彈窗提示,也是爲了安全考慮,萬一手賤不當心刪了呢?
Mac用戶按住快捷鍵 Cmd+Shift+P
(Windows用戶按住快捷鍵Ctrl+Shift+P
),能夠打開命令面板。效果以下:
若是們須要修改一些設置項,能夠經過「命令面板」來操做,效率會更高。這裏列舉一些。
在命令面板輸入「字體」,能夠進行字體的設置,效果以下:
固然,你也能夠在菜單欄,選擇「首選項-設置-經常使用設置」,在這個設置項裏修改字體大小。
在命令面板輸入「快捷鍵」,就能夠進入快捷鍵的設置。
選中文本後,在命令面板中輸入transfrom
,就能夠修改文本的大小寫了。
VS Code 默認支持對比兩個文件的內容。選中兩個文件,而後右鍵選擇「將已選項進行比較」便可,效果以下:
VS Code自帶的對比功能並不夠強大,咱們能夠安裝插件compareit
,進行更豐富的對比。好比說,安裝完插件compareit
以後,咱們能夠將「當前文件」與「剪切板」裏的內容進行對比:
好比我已經在a.js
文件裏調用了 foo()
函數。那麼,若是我想知道foo()
函數在其餘文件中是否也被調用了,該怎麼作呢?
作法以下:在 a.js
文件裏,選中foo()
函數(或者將光標放置在foo()
函數上),而後按住快捷鍵「Shift + F12」,就能看到 foo()
函數在哪些地方被調用了,比較實用。
在當前行的位置,鼠標三擊,能夠選中當前行。
用鼠標單擊文件的行號,能夠選中當前行。
在某個行號的位置,上下移動鼠標,能夠選中多行。
重構分不少種,咱們來舉幾個例子。
一、命名重構:
當咱們嘗試去修改某個函數(或者變量名)時,咱們能夠把光標放在上面,而後按下「F2」鍵,那麼,這個函數(或者變量名)出現的地方都會被修改。
二、方法重構:
選中某一段代碼,這個時候,代碼的左側會出現一個「燈泡圖標」,點擊這個圖標,就能夠把這段代碼提取爲一個單獨的函數。
在上面的快捷鍵列表中,咱們已經知道以下快捷鍵:
Cmd + F(Win用戶是Ctrl + F):在當前文件中搜索,光標在搜索框裏
Cmd + G(Win用戶是 F3):在當前文件中搜索,光標仍在編輯器裏
可是,你可能會注意到,搜索框裏有不少按鈕,每一個按鈕都對應着不一樣的功能,以下圖所示:
上圖中,你能夠經過「Tab」鍵和「Shift + Tab」鍵在輸入框和替換框之間進行切換。
「在選定內容中查找」這個功能仍是比較實用的。你也能夠在設置項裏搜索 editor.find.autoFindInSelection
,勾選該設置項後,那麼,當你選中指定內容後,而後按住「Cmd + F」,就能夠自動只在這些內容裏進行查找。該設置項以下圖所示:
正常狀況下,我建議這個設置項不用勾選。
在上面的快捷鍵列表中,咱們已經知道以下快捷鍵:
上圖中,你能夠點擊紅框部分,展開更多的配置項。
VS Code 自帶了 Git 版本管理,以下圖所示:
上圖中,咱們能夠在這裏進行常見的git 命令操做。若是你還不熟悉 Git版本管理,先去補補課吧。
與此同時,我建議安裝插件GitLens
,它是 VS Code 中我最推薦的一個插件,簡直是Git神器,碼農必備。
咱們在上面的設置項裏修改字體大小後,僅僅只是修改了代碼的字體大小。
若是你想要縮放整個工做區(包括代碼的字體、左側導航欄的字體等),能夠按下快捷鍵「cmd +/-」。windows用戶是按下「ctrl +/-」
當咱們在給別人演示代碼的時候,這一招十分管用。
若是你想恢復默認的工做區大小,能夠在命令面板輸入重置縮放
(英文是reset zoom
)
咱們能夠在新建文件夾的時候,若是直接輸入aa/bb/cc
,好比:
那麼,就能夠建立多層子文件夾,效果以下:
若是你發現項目的根目錄下有一個.vscode
文件夾,說明這個文件夾表明的是當前項目的配置。
這個文件夾裏可能包含如下集中文件:
settings.json
:工做空間設置。只針對當前項目有效。好比說,我能夠在這裏面要求當前項目的代碼統一使用製表符,而不須要要求每一位碼農去修改各自的配置文件。
sftp.json
:ftp文件傳輸的配置。
咱們能夠按下「Ctrl + `」打開 VS Code 自帶的終端。我認爲內置終端並無那麼好用,我更建議你使用第三方的終端 item2。
VS Code自帶 markdown 語法高亮,寫完 md 文件以後,你能夠點擊右上角的按鈕進行預覽,以下圖所示:
你也能夠在控制面板輸入Markdown: 打開預覽
,直接全屏預覽 markdown文件。
Emmet
能夠極大的提升 html 和 css 的編寫效率,它提供了一種很是簡練的語法規則。
舉個例子,咱們在編輯器中輸入縮寫代碼:ul>li*6
,而後按下 Tab 鍵,便可獲得以下代碼片斷:
<ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul>
VS Code 默認支持 Emmet。更多 Emmet 語法規則,請自行查閱。
VS Code 有一個很強大的功能就是支持插件擴展。
上圖中,點擊紅框部分,便可在輸入框裏,查找你想要的插件名,而後進行安裝。
我來列舉幾個常見的插件,這些插件都很實用。
我強烈建議你安裝插件GitLens
,它是 VS Code 中我最推薦的一個插件,簡直是Git神器,碼農必備。若是你不知道,那真是out了。
GitLens 在 Git 管理上有不少強大的功能,好比:
將光標放置在代碼的當前行,能夠看到這樣代碼的提交者是誰,以及提交時間。這一點,是 GitLens 最便捷的功能。
查看某個 commit 的代碼改動記錄
查看不一樣的分支
能夠將兩個 commit 進行代碼對比,甚至能夠將兩個 branch 分支進行總體的代碼對比。這一點,簡直是 GitLens 最強大的功能。
不要驚訝,RemoteHub 和 GitLens 是同一個做者開發出來的。
RemoteHub
插件的做用是:能夠在本地查看 GitHub 網站上的代碼,而不須要將代碼下載到本地。
這個插件目前使用的人還很少,趕忙安裝起來嚐嚐鮮吧。
寫代碼過程當中,忽然發現一個Bug,可是又不想停下來手中的活,以避免打斷思路,怎麼辦?按照代碼規範,咱們通常是在代碼中加個TODO註釋。好比:(注意,必定要寫成大寫TODO
,而不是小寫的todo
)
//TODO:這裏有個bug,我一下子再收拾你
或者:
//FIXME:我也不知道爲啥, but it works only that way.
安裝了插件 TODO Highlight
以後,按住「Cmd + Shift + P」打開命令面板,輸入「Todohighlist」,選擇相關的命令,咱們就能夠看到一個 todoList 的清單。
Bracket Pair Colorizer 2
插件:以不一樣顏色顯示括號並用連線標註括號範圍。
Rainbow Brackets
插件:突出顯示成對的括號。
indent-rainbow
插件:突出顯示縮進。
安裝完成後,效果以下圖所示:
若是你須要將本地文件經過 ftp 的形式上傳到局域網的服務器,能夠安裝sftp
這個插件,很好用。在公司會常常用到。
安裝完成後,輸入快捷鍵「cmd+shift+P」彈出命令面板,而後輸入sftp:config
,回車,當前工程的.vscode
文件夾下就會自動生成一個sftp.json
文件,咱們須要在這個文件裏配置的內容能夠是:
host
:服務器的IP地址
username
:工做站本身的用戶名
privateKeyPath
:存放在本地的已配置好的用於登陸工做站的密鑰文件(也能夠是ppk文件)
remotePath
:工做站上與本地工程同步的文件夾路徑,須要和本地工程文件根目錄同名,且在使用sftp上傳文件以前,要手動在工做站上mkdir生成這個根目錄
ignore
:指定在使用sftp: sync to remote的時候忽略的文件及文件夾,注意每一行後面有逗號,最後一行沒有逗號
舉例以下:(注意,其中的註釋須要去掉)
{ "host": "", //服務器ip "port": 22, //端口,sftp模式是22 "username": "", //用戶名 "password": "", //密碼 "protocol": "sftp", //模式 "agent": null, "privateKeyPath": null, "passphrase": null, "passive": false, "interactiveAuth": false, "remotePath": "/root/node/build/", //服務器上的文件地址 "context": "./server/build", //本地的文件地址 "uploadOnSave": true, //監聽保存並上傳 "syncMode": "update", "watcher": { //監聽外部文件 "files": false, //外部文件的絕對路徑 "autoUpload": false, "autoDelete": false }, "ignore": [ //忽略項 "**/.vscode/**", "**/.git/**", "**/.DS_Store" ] }
SynthWave '84
這個主題很酷。
Live Share
這個神奇的插件是由微軟官方出品,它的做用是:實時編碼分享。也就是說,它能夠實現你和你的同伴一塊兒寫代碼。這絕對就是結對編程的神器啊。
安裝方式:
打開插件管理,搜索「live share」,安裝。安裝後重啓 VS Code,在左側會多出一個按鈕:
上圖中,點擊紅框部分,登陸後就能夠分享你的工做空間了。
做用:多臺設備之間,同步 VS Code 配置。
css顏色高亮顯示。
做用:多臺設備之間,同步 VS Code 配置。
若是你有什麼推薦的 VS Code 插件,歡迎留言。
同時,你也能夠關注我在 GitHub 上的 前端入門項目,超級詳細和真誠。