Visual Studio Code入門(譯)

實質上,Visual Studio Code是一款代碼編輯器,像許多其他代碼編輯器一樣,VS Code的左邊采用了一個共同的用戶界面和資源管理器的布局,它顯示了所有你可以訪問的文件和文件夾,它的右邊是一個編輯器,顯示你打開過的文件內容。

image

文件,文件夾和項目

VS Code是基于文件和文件夾的,你可以用VS Code打開一個文件和文件夾。在此之上,VS Code有讀取和利用由不同框架和平臺定義的項目文件的優勢。比如,你打開的文件包含一個或多個package.js,project.json,tsconfig.json和項目文件,VS Code能讀取這些文件并使用它們來提供額外的功能。在編輯中,它們像豐富的自能感知。

基本布局

VS Code有一個簡單直觀的布局,它提供最大化的編輯空間,同時留下足夠空間來瀏覽和訪問你的文件夾或項目全部上下文。它的用戶界面分為五個方面:

  • 編輯器:來編輯你的文件。你可以同時打開三個的編輯。
  • 側邊框:包含不同的視圖。在你的項目工作的時候,視圖像資源管理器來幫助你。
  • 狀態欄:顯示打開的項目和編輯的文件的相關信息。
  • 視圖欄:位于最左邊的視圖欄,可以讓你在視圖之間切換并給你更多的特定于上下文指示
  • 面板:在編輯區下面有不同的面板,面板有輸入或調試信息,錯誤和警告或一個集成終端。

當你每次打開VS Code,它跟你上次關閉它時的狀態一樣。文件夾,布局,打開的文件都被保存。

image

VS Code允許同時打開三個可視編輯器,這樣你可以編輯或查看并排一起的三個文件。在編輯區頂部區域,每個被打開的文件都有選項卡頭部(Tabs)

提示:側邊框移動到右側(View > Move Side Bar),切換顯示/隱藏 ?B

分欄編輯

你最多可以并排的打開三個編輯器。

如果你已經打開一個編輯,你有很多方法打開其他編輯器,而且新編輯器會出現在當前編輯器一邊。方法如下:

  • 按住 Ctrl (Mac:'Cmd'),同時點擊一個文件
  • ?+\ 組合可以把一個編輯器分裂為兩個。
  • 右擊文件然后點擊 Open the side
  • 點擊編輯器右上角的 Split Editor 按鈕
  • 把文件拖拽到編輯器的兩側
image

每次你打開一個文件的時候,編輯器將顯示當前文件的內容。如果你有2個編輯器并排著,并且你想打開一個文件出現在編輯器的右邊,在打開這個文件前,務必確保那個編輯器被選中(通過點擊編輯器里面)。

當你有一個或多個編輯器被打開過,而且想快速在他們之間切換 Ctrl (Mac:'Cmd')+1,2或3

提示:你可以縮放編輯器,也可以對他們重新進行排序。拖拽編輯器的標題區域到其他位置。拖拽編輯器的邊緣縮放編輯器。

資源管理器

在你的項目里,資源管理器是被用來瀏覽,打開,管理所有文件和文件夾的。

用VS Code打開你的文件夾后,該文件夾的內容在資源管理器里是展開的,在這兒你可以做很多操作:

  • 創建,刪除,重命名文件和文件夾
  • 用拖拽移動文件和文件夾
  • 通過右擊菜單瀏覽所有選項

提示:你可以拖拽VS code外部文件到資源管理器里來復制它們

image

VS Code與其他工具非常和諧,特別是命令行工具,如果你想用在VS Code被打開的文件夾上下文運行一個命令行工具,右鍵點擊文件夾并選擇 Open in Command (mac和Linux:Open in Termainal)。

image

你也可以右擊一個文件或文件夾并選擇·Reveal in Explorer·(mac:Reaveal in Finder ,Linux: Open Containing Folder )。

提示:用?P通過文件的名稱可以快速的搜索和打開一個文件。

在默認的情況下,VS Code排除來自資源管理器的一些文件(比如:.git)。用files.exclude 來設置規則隱藏來自資源器的文件和文件夾。

提示:隱藏像Unity的 \*.meta ,Typescript項目里的 \*.js 的驅動原文件是非常有用的。在Typescript文件里,你可以修改 "**/*.js": {"when": "$(basename).ts"} 來排除生成的JavaScript。

打開編輯器

在資源管理器的頂部有標有 OPEN EDITORS 的部分,這是當前文件或預覽列表。這些文件是你在工作中用VS Code打開過的。比如,按照下面操作,一個文件會被列到 OPEN EDITORS 中。

  • 對文件進行更改
  • 在資源管理器雙擊一個文件
  • 打開一個不屬于當前文件夾的文件

配置編輯器

VS Code給你許多選項來配置編輯器。你可以通過 User Setting 配置全局,或者通過 Workspace Setting 配置每個項目或者文件夾。在 setting.json 中值是被生效的。

  • 選擇 File > Preferences > User Settings (或者??P跳出輸入框,輸入user,并且回車),打開User Setting.json
  • 選擇 File > Preferences > Workspace Settings(或者??P跳出輸入框,輸入worksp,并且回車),Workspace Setting.json

Mac用戶注意:Preferences 菜單在 Code里,不是 File中,比如:Code > Preferences > User Settings

在窗口的左邊你將看到VS Code的 Default Setting ,并且在窗口右邊你可以編輯 Settings.json 。從 Default Setting 中你可以很容易的查看和復制配置。

編輯你的設置之后,用 ?S 保存你的配置,它們會立即生效。

保存/自動保存

默認情況下,VS Code需要用 ?S 保存重新設置的數據到磁盤里。

然而,VS Code能很容易開啟自動保存,在你配置延遲后或者焦點離開編輯器后自動保存你的更改文件。自動保存一旦被開啟,就不需要手動去保存文件。

打開 User Setting 或者 Workspace 配置自動保存,找到如下相關設置:

  • files.autoSave :設置值為off表示關閉自動保存,afterDelay 保存文件后延遲自動保存,onFocusChange 焦點移出編輯器后就會自動保存。
  • files.autoSaveDelayfiles.autoSave 的值是 afterDelay 時,就可以設置自動保存的延遲時間。

搜索文件

VS Code允許你在當前被打開的文件夾里快速搜索所有文件。使用 ??F 并且輸入你想搜索的內容。搜索結果被分組到包含的關鍵詞的文件中,搜索結果中每個文件有包含關鍵詞的數量以及文件位置。展開一個文件可以看到這個文件包含關鍵詞列表。點擊關鍵詞就能在當前編輯器里查看它。

image

提示:在搜索框里只支持正則表達式

你可以通過 ??J 配置高級搜索選項。這將顯示附加字段配置搜索

image

在搜索框下面有兩個輸入框,你可以包含和排除文件。點擊輸入框的右邊切換glob模式:

  • * 匹配路徑段里面0或多個除 / 以外的字符
  • ? 匹配路徑段里面一個除 / 以外的字符
  • ** 匹配路徑段的多個字符,包括 /
  • {} 用組的形式(列如: {**/*.html,**/*.txt} 匹配所有的HTML和文本文件)
  • [] 匹配指定的字符范圍

VS Code可以在默認情況下排除一些你不感興趣的文件夾(例如:node_modules )來減少搜索結果的數量。可以通過設置改變 files.excludesearch.exclude 標題下面的規則。

提示:在資源管理器里右擊一個文件夾并且選擇 Find in Floder 就可以在這個文件夾內任意搜索

你也可以搜索并替換文件。展開搜索框出現替換文本框(Mac:Cmd + shift )。

image

當你鍵入文本到替換框中時,你可以看到即將更改的差異性顯示。你可以通過文件替換框替換所有文件,也可以替換一個文件里所有或者替換一個單一變化,

image

命令面板|

VS Code同樣可以用鍵盤操作。最重要的鍵盤組合 ??P ,這將調出命令面板。從這里,你可以訪問VS Code所有的功能,包含快捷鍵最常見的操作。

image

命令面板提供了許多命令。你可以執行編輯命令,打開文件,搜索符號,查看一個文件的簡要概要,使用同一個交互的窗口。

  • ?P 只需簡單的輸入它的名字就讓你導航到所有文件或者符號
  • ??Tab 顯示你最后打開的一組文件路徑
  • ??P 調出命令面板
  • ??O 在一個文件里,跳到一個指定符號的位置
  • ?G 在一個文件里,輸入行數直接跳到指定行的位置

輸入 ? 到輸入框得到可用的命令列表,你可以從這里執行:

image

文件切換

當你打開一個項目的時候,資源管理器擅長文件之間的切換。然而,當你處理任務時,你將發現你自己在一組文件之間快速切換。VS Code提供兩個功能強大命令通過易用的鍵組合來瀏覽不同文件。

按住 Ctrl 然后按 Tab 鍵來查看編輯組中打開的所有文件的列表。如果要打開其中一個文件,再次使用 Tab 鍵選擇你想瀏覽的文件,然后松開 ctrl 去打開它。

image

另外,你能使用 ?-??- 在文件和編輯位置之間進行導航。如果你在同一個文件不同行之間跳來跳去。這些快捷鍵可以讓你輕松地在這些位置之間進行導航。

提示:當你使用 ?P 時,你可以通過他們的名字打開任何文件

文件編碼

User SettingWorkspace 中通過編輯 files.encoding 設置全局或每個工作區域的文件編碼。

image

你可以在狀態欄中查看到文件編碼格式

image

點擊在狀態欄中的編碼按鈕,用不同的編碼格式來重新打開或者保存當前文件。

image

然后選擇一個編碼格式

image

命令行啟動

你可以通過命令行來啟動VS Code來快速打開一個文件,文件夾,或者項目。通常情況,在一個文件范圍內打開VS Code.我們發現最好的方法是在終端鍵入:

code .

提示:對于Mac用戶,我們需要通過設置使您能夠從終端內啟動VS Code.首選運行VS code并打開命令面板( ??P ),然后輸入 shell command 找到: Install ‘code' command in PATH 。

image

Windows和Lunix用戶安裝過程自動把VS Code的執行代碼加到 PATH 環境變量中。

有時你想打開或者創建一個文件。如果指定文件不存在,VS Code將會為你創建此文件。

code index.html style.css readme.md

提示:你可以通過空格鍵來分隔許多文件名

額外的命令行參數

當通過 code 的命令行啟動VS Code時你可以使用以下可選的命令行參數:

參數 描述
-h--help code使用說明
-v--version VS Code版本(例如:0.10.10)
-n--new-window 打開一個VS Code新的版本替代默認版本
-r--reuse-window 強制打開最后活動窗口的文件或文件夾
-g--goto 當和 file:line:column?使用時 ,打開文件并定位到一個的特定行和可選的列位置的文件。
file 以一個文件名打開。如果文件不存在,此文件將被創建并標記為已編輯
file:line:column? 以文件的名稱在指定行和可選的列的位置打開,你可以以這個方式指定多個文件。但是在使用 file:line:column? 之前必須使用 -g 參數。例如:code -g file:10
folder 以一個文件夾名打開。你可以指定多個文件夾。例如:code folder folder
-d--diff 打開一個不同的編輯器。需要兩個文件路徑作為參數。例如:code -d file file
--locale 為VS Code設置顯示語言,支持語言環境有:en-US (英語) ,zh-TW (中文繁體),zh-CN (中文簡體),frdeitjakorues 。例如: code . --locale=en-US 設置顯示語言為英語
--disable-extensions 禁用所有安裝的插件。下拉選 Show installed Extensions 后插件依然可見,但是永遠不會被激活。
--list-extensions code --list-extensions 列出被安裝的插件
--install-extension 安裝一個插件。提供完整的擴展名 publisher.extension 作為參數。例如:code --install-extension ms-vscode.cpptools
--uninstall-extension 卸載一個插件。提供完整的擴展名 publisher.extension 作為參數.例如 code --uninstall-extension ms-vscode.csharp
-w--wait 等待窗口返回之前關閉

打開一個項目

VS Code不區分你打開是文件夾還是項目。如果VS Code在文件夾檢測到你打開一個項目(例如:一個 C# 項目),這個項目的上下文將被顯示在狀態欄。如果有多個項目被發現,可以從這里切換項目。
在一個文件夾 C:\src\WebApp 里打開一個項目,像這里啟動VS Code:

code C:\src\WebApp

VS Code 打開之后,只需打開源文件并且使用狀態欄根據需要來切換活動項目

image

窗口管理

VS Code有一些選項來控制窗口應該被新建還是恢復上一次窗口。

User settingWorkspace setting 中:
window.openFilesInNewWindow : 設置文件是否在一個新窗口打開,而不是在重用現有的VS Code實例。默認是 true, VS Code打開一個新的窗口。false 重用VS code最后一個活動實例并在此打開文件。

window.reopenFolders 設置通知VS Code怎么去恢復以前會話窗口。默認是 one ,VS Code將重新打開你處理過最后一個文件夾。改變設置為 none 不重新打開任何文件夾并始終以一個空文件打開。設置為 all 恢復上次會話處理過的所有文件夾

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,460評論 25 708
  • error code(錯誤代碼)=0是操作成功完成。error code(錯誤代碼)=1是功能錯誤。error c...
    Heikki_閱讀 3,456評論 1 9
  • 上一篇文章我介紹VS Code 的簡單配置,這篇來點認真的。作為一個編輯器,我們當然是要拿來寫代碼了,VS Cod...
    天堂邁舞閱讀 22,558評論 8 19
  • 題記:不要放棄自己進步的機會 背景 公司剛接了一個大項目(現在整理文章的時候,真是感慨啊),其中涉及低功耗藍牙BL...
    王誅魔Phy閱讀 1,483評論 1 10