最好用的 Visual Studio Code 特性和插件

作者簡介:ASCE1885浇垦, 《Android 高級進(jìn)階》作者。

2016-12-03 17-35-31.png-1023.7kB
2016-12-03 17-35-31.png-1023.7kB

原文鏈接:https://scotch.io/tutorials/best-of-visual-studio-code-features-plugins-acting-like-atom-and-sublime

關(guān)于 React Native 開發(fā)中 IDE 的選型甚纲,我之前寫過一篇文章《我的 React Native 技能樹點(diǎn)亮計劃 の React Native 開發(fā) IDE 選型和配置》,其中就有介紹過 Visual Studio Code朦前。最近看到這篇介紹 VS Code 特性和插件的文章介杆,覺得不錯,下面就是譯文韭寸。

Visual Studio Code[1]是一個由微軟公司發(fā)布的免費(fèi)開源且跨平臺的代碼編輯器春哨,它本質(zhì)上是微軟將他們的在線編輯器 Visual Studio Online(代號:Monaco)結(jié)合 Github 的 Electron 實(shí)現(xiàn)的一個跨平臺編輯器,他們在為程序員創(chuàng)建一個快速且高效工作環(huán)境方面取得巨大進(jìn)步棒仍。

  • 提供智能感知的自動補(bǔ)全功能
  • 內(nèi)置支持代碼調(diào)試
  • 內(nèi)置的側(cè)邊欄 Git 命令
  • 支持多個實(shí)例的集成終端
  • 通過擴(kuò)展和主題實(shí)現(xiàn)自定義功能
  • 使用 VS Code Insiders[2]悲靴,可以獲取每日構(gòu)建的最新版本

為何選擇 Visual Studio Code

L5cAMF8SW55l1HJbAbAn_RAHEHFw.png-256.4kB
L5cAMF8SW55l1HJbAbAn_RAHEHFw.png-256.4kB

你在 VS Code 中看到的每個特性都完成了出色的功能,其中的語法高亮莫其,智能補(bǔ)全癞尚,git 的集成以及編輯器內(nèi)置的調(diào)試器等將使你開發(fā)更高效。

你所看到的 VS Code 中的插件包都是基于 JavaScript 構(gòu)建的乱陡,因此浇揩,每個人都可以創(chuàng)建自己的插件包,在這個網(wǎng)址 https://code.visualstudio.com/docs/extensions/overview 你可以看到擴(kuò)展插件相關(guān)的文檔憨颠。

特性

VS Code 最重要的一個特性是它的側(cè)邊欄胳徽,它集成了在編碼和重構(gòu)時會用到的核心功能,至于其他所需的功能你可以通過安裝擴(kuò)展來引入爽彤。

yshYl28KRVa4XFjINR0g_LeaderboardModal_js_-_rangersteve.png-83.9kB
yshYl28KRVa4XFjINR0g_LeaderboardModal_js_-_rangersteve.png-83.9kB

智能感知

智能感知提供了非常有用的語法高亮器养盗,同時為變量類型,方法定義和模塊引入提供了自動補(bǔ)全功能适篙。

https://code.visualstudio.com/docs/editor/intellisense往核。

SYfxZtW3TOa3b5DoCJOP_intellisense_intellisense.gif-123.2kB
SYfxZtW3TOa3b5DoCJOP_intellisense_intellisense.gif-123.2kB

調(diào)試

內(nèi)置的調(diào)試器通過斷點(diǎn)和查看器來加速代碼的編輯,編譯和調(diào)試嚷节。默認(rèn)情況下它支持 NodeJS聂儒,能夠調(diào)試任何能夠被轉(zhuǎn)換為 JavaScript 的語言,當(dāng)然硫痰,像 C++ 或者 Python 這樣的運(yùn)行時需要安裝擴(kuò)展才能進(jìn)行調(diào)試衩婚。

https://code.visualstudio.com/Docs/editor/debugging

aQkRD333SrOwqwUIRvqS_debugging_debugging_hero.png-23.4kB
aQkRD333SrOwqwUIRvqS_debugging_debugging_hero.png-23.4kB

內(nèi)置的 Git 支持

VS Code 內(nèi)置了 Git 的 GUI,能夠支持大部分的常見 Git 操作效斑,因此在 VS Code 中能夠即時看到你對工程的改動非春。

R22B3cmISGqKdjKISH3Z_Screen Shot 2016-11-14 at 8.09.00 AM.png-105.5kB
R22B3cmISGqKdjKISH3Z_Screen Shot 2016-11-14 at 8.09.00 AM.png-105.5kB

顏色主題實(shí)時預(yù)覽

如下圖所示,當(dāng)我們通過菜單選項(xiàng)修改 VS Code 的顏色主題時,能夠?qū)崟r看到修改后的預(yù)覽效果奇昙。

y6Noo5DLSVOZ7ck8eRiX_color theme.gif-1177kB
y6Noo5DLSVOZ7ck8eRiX_color theme.gif-1177kB

終端

VS Code 集成的命令行終端提供了非常全的特性坐搔,能夠滿足你的絕大部分需求。

K7gUDOW7SguSoMsLDWZJ_Screen Shot 2016-11-14 at 7.40.36 AM.png-41.4kB
K7gUDOW7SguSoMsLDWZJ_Screen Shot 2016-11-14 at 7.40.36 AM.png-41.4kB
64JiRnAdT0fK9zJoy1mD_Screen Shot 2016-11-14 at 7.35.53 AM.png-71.8kB
64JiRnAdT0fK9zJoy1mD_Screen Shot 2016-11-14 at 7.35.53 AM.png-71.8kB

圖標(biāo)

跟顏色主題的修改類似敬矩,VS Code 也提供了圖標(biāo)主題的修改功能,如下所示:

bfKwxUfTJGjORFQXnLWw_Screen Shot 2016-11-14 at 7.33.54 AM.png-36.3kB
bfKwxUfTJGjORFQXnLWw_Screen Shot 2016-11-14 at 7.33.54 AM.png-36.3kB

修改 VS Code 快捷鍵的插件

下面介紹的插件能夠?qū)⒛阒笆煜さ木庉嬈鞯逆I盤快捷鍵映射到 VS Code 中蠢挡,方便你的無縫切換弧岳。當(dāng)然,在近期的 VS Code 發(fā)布版本中也新增了像 minimap 這樣的功能业踏,但 VS Code 的擴(kuò)展插件顯然發(fā)展的更快禽炬。

Atom Keymap

在安裝這個插件并重啟 VS Code 之后,我們將可以在 VS Code 中使用 Atom 的鍵盤快捷鍵勤家。

https://marketplace.visualstudio.com/items?itemName=ms-vscode.atom-keybindings

CLAvscaSShmNMCu6acaN_contributions_list.png-14.3kB
CLAvscaSShmNMCu6acaN_contributions_list.png-14.3kB

Git Easy

這個插件可以將以下 Git 命令導(dǎo)入 VS Code 的命令面板中腹尖,用法跟上面的 Atom 快捷鍵類似:

  • Git Easy: Init
  • Git Easy: Add Origin
  • Git Easy: Add Remote
  • Git Easy: Add File/Directory
  • Git Easy: Add All Modified
  • Git Easy: Commit
  • Git Easy: Pull Current Branch from Origin
  • Git Easy: Push Current Branch to Origin
  • Git Easy: Push Current Branch (to any remote)
  • Git Easy: Status
  • Git Easy: Create New Branch
  • Git Easy: Change/Checkout Existing Branch
  • Git Easy: Log All
  • Git Easy: Log Current File

https://marketplace.visualstudio.com/items?itemName=bibhasdn.git-easy

Sublime Keymap

在安裝這個插件并重啟 VS Code 之后,我們將可以在 VS Code 中使用 Sublime Text 的鍵盤快捷鍵伐脖。

https://marketplace.visualstudio.com/items?itemName=ms-vscode.sublime-keybindings

JUIx1Z18QDCD5LxtQzPA_contributions_list (1).png-11.5kB
JUIx1Z18QDCD5LxtQzPA_contributions_list (1).png-11.5kB

最佳插件推薦

VS Code 的使用并不需要很多的擴(kuò)展插件热幔,但下面將要介紹的插件將能夠提高你的開發(fā)效率。

你也可以在插件市場中找到更多的插件:https://marketplace.visualstudio.com/VSCode讼庇。

AutoFileName

這個插件使得開發(fā)者在 require 本地文件時支持基于輸入的文件路徑的智能補(bǔ)全绎巨。

https://marketplace.visualstudio.com/items?itemName=JerryHong.autofilename

IH2yyuDjRbOzFsU1FF3o_Screen Shot 2016-11-14 at 7.17.51 AM.png-51.3kB
IH2yyuDjRbOzFsU1FF3o_Screen Shot 2016-11-14 at 7.17.51 AM.png-51.3kB

ESLint

這個插件為 VS Code 增加 ESLint 的功能,同樣時安裝后重啟生效蠕啄。

https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint

QBHXwVrTTQO06C224AhH_Screen Shot 2016-11-14 at 7.45.57 AM.png-16.4kB
QBHXwVrTTQO06C224AhH_Screen Shot 2016-11-14 at 7.45.57 AM.png-16.4kB

ES6 代碼片段

這個插件提供了 ES6 語法的一些常用代碼片段场勤,例如輸入 imd 可以自動生成如下代碼片段:

import { } from 'somewhere';

https://marketplace.visualstudio.com/items?itemName=xabikos.JavaScriptSnippets

Project Manager

這個插件提供一個方便易用的工程管理器,能夠快速的在不同工程之間切換歼跟。

https://marketplace.visualstudio.com/items?itemName=alefragnani.project-manager

NnaNd465SoKT4XSRH4jk_Screen_Shot_2016-11-14_at_8_20_19_AM.png-54.3kB
NnaNd465SoKT4XSRH4jk_Screen_Shot_2016-11-14_at_8_20_19_AM.png-54.3kB

Sort Lines

這個插件支持對選中的代碼行進(jìn)行排序和媳,還支持不區(qū)分大小寫,反向和唯一的排序等功能哈街。

https://marketplace.visualstudio.com/items?itemName=Tyriar.sort-lines

IaiBNnHJQ4y54zFeL7dY_sort lines.gif-44.4kB
IaiBNnHJQ4y54zFeL7dY_sort lines.gif-44.4kB

Wallaby.js

這個插件是付費(fèi)的留瞳,它提供了持續(xù)測試功能,當(dāng)測試通過或者測試失敗時會在編輯器中給出可視化的反饋叹卷。

https://marketplace.visualstudio.com/items?itemName=WallabyJs.wallaby-vscode

c7OvNU8QVu6kRmnzAodV_Untitled.gif-801.9kB
c7OvNU8QVu6kRmnzAodV_Untitled.gif-801.9kB

Git History

可視化查看 Git 歷史記錄的插件撼港。

https://marketplace.visualstudio.com/items?itemName=donjayamanne.githistory

okEXgPjORyOdDelV4E1B_gitLogv2.gif-1753.9kB
okEXgPjORyOdDelV4E1B_gitLogv2.gif-1753.9kB

EditorConfig

支持 EditorConfig 的一個插件,用來在不同編輯器中保持代碼格式的一致性骤竹。(譯者注:更詳細(xì)的信息可以參見我之前的文章《我的 React Native 技能樹點(diǎn)亮計劃 の 代碼風(fēng)格統(tǒng)一工具 EditorConfig》

https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig

Document This

這個插件會根據(jù) TypeScript 和 JavaScript 文件的的注釋自動生成 JSDoc帝牡。

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

uezi7cguT0OuUdB3Q8J3_demo.gif-173.6kB
uezi7cguT0OuUdB3Q8J3_demo.gif-173.6kB

npm Intellisense

這個插件支持在代碼中導(dǎo)入 npm 模塊時的自動補(bǔ)全。

https://marketplace.visualstudio.com/items?itemName=christian-kohler.npm-intellisense

jS89A3CEQ5mW5iYYsXIf_auto_complete.gif-490kB
jS89A3CEQ5mW5iYYsXIf_auto_complete.gif-490kB

Align

https://marketplace.visualstudio.com/items?itemName=steve8708.Align

這個插件支持對選中的代碼進(jìn)行對齊操作蒙揣,例如對齊前是這樣的:

var test = 'string';
var another = 10;
var small = 10 * 10;

對齊后效果是這樣的:

var test    = 'string';
var another = 10;
var small   = 10 * 10;

amVim

VS Code 中目前最好用的 vim 插件靶溜。

https://marketplace.visualstudio.com/items?itemName=auiworks.amvim

change-case

支持快速的選中的文本的命名格式,例如支持駝峰命名,Pascal命名罩息,下劃線分隔命名嗤详,常量命名等。

https://marketplace.visualstudio.com/items?itemName=zhengxiaoyao0716.intelligence-change-case

vscode-icons

這個插件可以修改側(cè)邊欄中文件夾的圖標(biāo)瓷炮,看著更舒服葱色。

https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons

APYFUechQi3pQ5YBODFg_screenshot_folders.png-121.9kB
APYFUechQi3pQ5YBODFg_screenshot_folders.png-121.9kB

  1. http://code.visualstudio.com/ ?

  2. http://code.visualstudio.com/insiders ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市娘香,隨后出現(xiàn)的幾起案子苍狰,更是在濱河造成了極大的恐慌,老刑警劉巖烘绽,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淋昭,死亡現(xiàn)場離奇詭異,居然都是意外死亡安接,警方通過查閱死者的電腦和手機(jī)翔忽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來盏檐,“玉大人歇式,你說我怎么就攤上這事∨大希” “怎么了贬丛?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長给涕。 經(jīng)常有香客問我豺憔,道長,這世上最難降的妖魔是什么够庙? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任恭应,我火速辦了婚禮,結(jié)果婚禮上耘眨,老公的妹妹穿的比我還像新娘昼榛。我一直安慰自己,他們只是感情好剔难,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布胆屿。 她就那樣靜靜地躺著,像睡著了一般偶宫。 火紅的嫁衣襯著肌膚如雪非迹。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天纯趋,我揣著相機(jī)與錄音憎兽,去河邊找鬼冷离。 笑死,一個胖子當(dāng)著我的面吹牛纯命,可吹牛的內(nèi)容都是我干的西剥。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼亿汞,長吁一口氣:“原來是場噩夢啊……” “哼瞭空!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起疗我,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤匙铡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后碍粥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡黑毅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年嚼摩,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矿瘦。...
    茶點(diǎn)故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡枕面,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出缚去,到底是詐尸還是另有隱情潮秘,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布易结,位于F島的核電站枕荞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏搞动。R本人自食惡果不足惜躏精,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望鹦肿。 院中可真熱鬧矗烛,春花似錦、人聲如沸箩溃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涣旨。三九已至歪架,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間开泽,已是汗流浹背牡拇。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惠呼。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓导俘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親剔蹋。 傳聞我的和親對象是個殘疾皇子旅薄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容