最好用的 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 技能樹點亮計劃 の React Native 開發(fā) IDE 選型和配置》,其中就有介紹過 Visual Studio Code。最近看到這篇介紹 VS Code 特性和插件的文章,覺得不錯,下面就是譯文。

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

  • 提供智能感知的自動補(bǔ)全功能
  • 內(nèi)置支持代碼調(diào)試
  • 內(nèi)置的側(cè)邊欄 Git 命令
  • 支持多個實例的集成終端
  • 通過擴(kuò)展和主題實現(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à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

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

如下圖所示,當(dā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 技能樹點亮計劃 の 代碼風(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)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容