Visual Studio Code 配置指南

来源:http://www.cnblogs.com/kaiye/archive/2016/04/16/5397345.html
-Advertisement-
Play Games

Visual Studio Code (簡稱 VS Code)是由微軟研發的一款免費、開源的跨平臺文本(代碼)編輯器。在我看來它是「一款完美的編輯器」。 本文是有關 VS Code 的特性介紹與配置指南,相關設置主要針對 Mac OS X 平臺。在快捷鍵部分, ⌘ 指 Command 鍵,⇧ 指 S ...


Visual Studio Code (簡稱 VS Code)是由微軟研發的一款免費、開源的跨平臺文本(代碼)編輯器。在我看來它是「一款完美的編輯器」。

本文是有關 VS Code 的特性介紹與配置指南,相關設置主要針對 Mac OS X 平臺。在快捷鍵部分, ⌘ 指 Command 鍵,⇧ 指 Shift 鍵,⌃ 指 Control 鍵,⌥ 指 Option/Alt 鍵。

1. Visual Studio Code 特性簡介

1.1 Git 集成

 

如上圖所示,VS Code 預設集成了 Git 版本管理。

切換至 Git 面板,點擊左側被修改的文件,即可進行版本對比。使用快捷鍵 ⌘P 打開快捷視窗,可直接使用 git 相關命令。

更多 Git 參考資料請閱讀《Git 進階指南》和 VS Code 官方文檔《Version Control》章節。

 

1.2 多視窗實時編輯與預覽

 

VS Code 最多可同時開啟三個子視窗。若多個子視窗中打開的文件為同一文件時,則修改其中任意視窗內容,其他視窗都可以實時同步變更。

如上圖,左側子視窗是一個 Markdown 文件,右側子視窗是該文件的 Markdown 預覽模式(快捷鍵 ⇧⌘V),如此即可實現類似 MacDown/Mou 等軟體的編寫體驗。

 

1.3 代碼提示與引用分析

雖然是一款輕量級編輯器,但 VS Code 卻有著 IDE 級別的代碼高亮、語法檢測、引用分析功能,十分適合編程初學者和大型項目開發。在其官網上列出了它預設支持的語言列表。

 

 

 

藉助 Typings ,VS Code 還支持了 Node.js、ES6、AngularJS、ReactJS,十分適合前端開發人員。為了能更好的和其他開源框架融合,VS Code 有意削弱了原有的 JavaScript 語法校驗功能,建議用戶使用 ESLint 來定製個性化代碼校驗需求。

除此之外,VS Code 的 Debug 功能也是十分強大。以下是其 Node.js Debug 的演示:

 

 

藉助「Debugger for Chrome」插件,還可以直接在編輯器中打斷點調試 web。

 

1.4 命令行調用

VS Code 提供了一個 code 命令,用來在 shell 環境下調用編輯器。使用快捷鍵 ⇧⌘P(或 F1) 喚起命令面板,輸入以下命令即可完成安裝。

code 命令後可接多個路徑或文件:

code pro6.js pro6.scss ../

 

文件對比:

code -d new-file.js old-file.js

 

打開文件並跳至指定行:

code -g source/cn/static/global/tracker.js:15

 

更多 code 命令行使用方法,參見《Additional Command line arguments》。

 

1.5 更聰明的 Emmet

VS Code 內置了 Emmet,且在其基礎之上做了進一步增強,極大的提升了 CSS、HTML 編寫效率。例如,在一個 CSS 選擇器中書寫以下屬性後,按下 tab 鍵,均可自動補全為 overflow:hidden

ov:h
ove:h
of:h

 

更多 Emmet 縮寫,請參考《Emmet Cheat Sheet》。

 

2. 快捷鍵配置

2.1 所有快捷鍵列表

註:VS Code 的快捷鍵有很多是 Fn 功能鍵,不符合 Mac 用戶習慣,建議各位通過 Preferences -> Keyboard Shortcuts 重設快捷鍵。

所有快捷鍵列表請參見《Key Bindings for Visual Studio Code》,其中較為常用的快捷鍵有以下這些:

文本選擇

  • ⌃⇧⌘→ - AST (Abstract Syntax Tree) 抽象語法樹選擇展開一級

  • ⌃⇧⌘← - 抽象語法樹選擇縮小一級

單行編輯

  • ⇧⌘K - 單行操作,刪除游標所在行

  • ⇧⌥↓ - 複製游標所在行到下一行

多行編輯

  • ⌥⌘↓ - 向下插入一個游標,或者使用 ⌥ + Click

  • ⇧⌥ + 滑鼠拖動 - 多列區塊選擇,再配合 ⇧⌘→ 可選中至結尾處

  • ⇧⌘L - 選擇相同文本

  • ⌘F2 - 選擇相同單詞,或者使用 ⌘D 依次加入選中

代碼定位

  • ⇧⌘O - 跳轉至對象、屬性、方法

  • ⇧⌥F - 代碼格式化

  • ⇧⌘M - 顯示當前文件的錯誤與警告信息

  • F12 - 跳轉至定義行

  • ⌥F12 - 浮窗打開定義行(可直接修改)

  • ⌥⌘ + Click - 新開側邊視窗跳轉至定義行

  • ⇧⌘\ - 跳轉至對應匹配括弧處

代碼展示

  • ⌥Z - 開啟/關閉代碼自動換行,還可通過 editor.wrappingColumn 配置單行最大字元數

  • ⇧⌘[ - 代碼摺疊,⇧⌥⌘[ 為全部摺疊

  • ⇧⌘] - 代碼展開,⇧⌥⌘] 為全部展開

 

3. 常見問題

3.1 如何支持 PHP Smarty Template 語法

VS Code 能識別大部分主流代碼文件,當需要進行關聯語法設置時,可通過 Preferences -> Workspace Settings (或 User Settings)配置文件進行設置。

例如,以下代碼可以將尾碼為 .tpl 的 Smarty 模板文件關聯成 PHP 語法:

"files.associations":{
    "*.tpl": "php"
}

 

 

3.2 如何在 sidebar 隱藏編譯後文件

設置 Preferences -> Workspace Settings (或 User Settings)配置文件,將需要隱藏的文件按 glob 匹配模式進行配置,例如以下是 Angular2 TypeScript 項目中隱藏 .js 與 .js.map 文件的配置:

{
    "files.exclude": {
        "**/._*": true,
        "node_modules/": true,
        "app/*.js.map": true,
        "app/*.js": true
    }
}

 

3.3 如何搜索 node_modules 文件夾中的文件

VS Code 的預設搜索規則中會排除 **/.git, **/.DS_Store, **/bower_components, **/node_modules 目錄,可以在用戶配置文件(User Settings)中加入以下配置,來關閉或啟用這些規則:

{
    "search.exclude": {
        "**/node_modules": false,
        "**/bower_components": true
    }
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 說明: 程式使用 io.h 中的 _findfirst 和 _findnext 函數遍歷文件夾,故而程式只能在 Windows 下使用。 程式遍歷當前文件夾,對其中的文件夾執行遞歸遍歷。同時檢查遍歷到的文件是否屬於指定類型,如果是,則將在該文件中查找指定字元串。 在文件中查找字元串時,開闢一個與指定 ...
  • eclipse中改變默然的workspace的方法可以有: 1.在創建project的時候,手動選擇使用新的workspace,如創建一個web project,在嚮導中的Location選項,取消使用"Use default location",同時在下麵選擇新的workspace. 2.在fil ...
  • 關於spl_autoload_register()和__autoload() 看兩者的用法: //__autoload用法 function __autoload($classname) { $filename = "./class/".$classname.".class.php"; if (is ...
  • 順序表是在電腦記憶體中以數組的形式保存的線性表,是指用一組地址連續的存儲單元依次存儲數據元素的線性結構。 這樣的存儲方式使得線性表邏輯上相鄰的元素,其在物理存儲單元中也是相鄰的。只要知道了第一個元素的存儲地址,就可以知道線性表中任何一個元素的存儲地址。因此,線性表中的任何一個元素, 本文利用C++語 ...
  • php對異常的處理與java一樣,用到的是try{}catch(){} 定義頂級異常處理器用到的函數是 set_exception_handler("My_exception"); 這裡的My_expection是開發者自定義的異常處理函數,既頂級異常處理器,只有當程式中沒有函數來處理異常才有頂級異 ...
  • 在這裡看到了這個題。層次遍歷是用隊列,一級一級地入隊列然後輸出。而用遞歸的話,我首先想到是用兩個棧來模擬隊列,在遞歸遍歷二叉樹的過程中入棧,然後最後一次性出棧。但仔細思考後發現無法做到層次遍歷。在這裡看到了正確的方法。 主要代碼如下: 1 void PrintNodeAtLevel(BiTree T ...
  • 分類:Unity、C#、VS2015 創建日期:2016-04-16 一、簡介 游戲吸引人的地方在於它的可交互性。如果游戲沒有交互,場景做得再美觀和精緻,也難以稱其為游戲。 在Unity中,游戲交互通過腳本編程來實現。腳本可以理解為附加在游戲對象上的用於定義游戲對象行為的指令代碼。通過腳本,開發者可... ...
  • static void Main(string[] args) { int meili = 0; string diyitixuanze=""; int a = 5; int b = 3; int c = 1; Console.WriteLine("第一題:假如世界末日來臨,你只能解救一種動物,你會 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...