日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

你不知道的vscode之空间控制

發布時間:2023/12/9 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你不知道的vscode之空间控制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列


王志遠,微醫前端技術部醫療支撐組

前言

歡迎來到 vscode 的世界,本文目標為科普 vscode 中關于【空間控制】的一些設計理念,空間是有限的,而信息是無限的,就像是我們寫頁面要考慮版心、考慮空間的擺放,vscode 其實也就是一個應用,那它的界面空間也是有限的,這些中間由各個區域搭建起來,那這些區域是什么?又是如何協同工作的呢?

本文的主要內容可以說是小技巧,但我是一個很懶的人,不喜歡死記硬背,喜歡在需要記憶的內容間尋找它們內部的聯系,然后用邏輯去串起來,這給我一種說不出的快感;可能這個記憶方法不適合很多行業,但在計算機領域,真是個我個人無比推崇的方法,原因很簡單:計算機是一個完全由人搭建出來的世界!

這就意味著,如果能理解設計者的思路,很多東西的設計就變得順理成章,不這么用都覺得別扭。另一個潛在的好處是,我們會漸漸像那些優秀的人一樣思考,這很關鍵。

扯了很多,言歸正傳,讓我們就開始吧!

系列文章目錄

對于 vscode 的相關分享,大致如下,系列文章目錄如下

  • 光標操作:已完成

  • 空間控制:本文

  • 項目約束:待完成

  • 插件開發:待完成

  • 語言支持:待完成

graph TBA[Vscode] --> F[命令世界] A[Vscode] --> D[語言支持] A[Vscode] --> B[光標操作] A[Vscode] --> C[空間控制] A[Vscode] --> G[項目約束] A[Vscode] --> E[插件開發] B --> B1[光標移動] B --> B2[多光標] B --> B3[自定義] C --> C1[編輯區] C --> C2[終端區] C --> C3[命令面板] C --> C4[側邊欄] G --> G1[調試 debugger] G --> G2[任務 task] G --> G3[代碼塊 snipshapt]

vscode 區域總覽

image-20211128155250462

以上圖為例,我們常見并且常用的區域及對應功能大致如下

  • 工作目錄:當前處理項目的目錄信息

  • 命令面板:提供支持通過命令喚起 vscode 對應動作的面板

  • 編輯區:更改當前項目內容的區域,存在編輯組等概念

  • 終端區:提供內嵌終端區域的方式實現在 vscode 中直接執行終端命令,win 默認power shell;可配置為 bash

    知道了這些核心區域的存在,接下來,我們開始逐一分析

編輯區域

編輯器區域是最最關鍵的一塊區域,因為它是我們直接控制項目的入口,正常的文件操作設計理念其實主要是對光標的操作,這個在光標操作一文中已經分享過,就不贅述了,有興趣的小伙伴可以去看一下;

本文關心點在于空間的分配,編輯區是默認展示而且占用面積最大的一塊區域,對于這塊空間的處理,主要存在如下訴求

  • 多個打開的文件間如何切換

  • 多文件如何同時看到相應內容

對于第一個問題,可以通過一類快捷鍵實現;而對于第二個問題,在 vscode 中提出了編輯器組的概念,編輯區可以被劃分成至多五塊區域,相互獨立。

如果閱讀過光標操作一文,會知道我是采用【顆粒度】的角度進行理解光標設定的,空間控制其實也可以從這個角度進行理解,具體怎么做,我們通過問題進行理解

編輯區之多個打開的文件間如何切換:快捷鍵

我們先來看下默認的快捷鍵設定

命令macwin
在當前打開文件列表中選擇ctrl + tabctrl + tab
切換為當前文件中的下一個 | Open Previous Editorcmd + option + ←ctrl + option + ←
切換為當前文件中的上一個 | Open Next Editorcmd + option + →ctrl + option + →

在當前打開文件列表中選擇

2021-11-28 18.14.47

切換為當前文件中的上/下一個

2021-11-28 18.15.23

命令執行

其實也是可以用命令去執行的

img

我們思考下,在 mac 中同類型的命令,為什么【在列表中選擇】是ctrl鍵,而【切換為當前文件中的上/下一個】是cmd鍵;其實關鍵就是在 mac 中系統本身也存在快捷鍵cmd + 方向鍵,作用是全屏窗口的切換;

這樣就好理解啦,系統最大,理解了這一層之后,我們可以開動腦筋了,能不能利用上一篇中說的【自定義快捷鍵】讓他們統一呢?

當然可以,我們就加個設定:如果和系統鍵沖突的,我們就加個options鍵;以這個【切換為當前文件中的上/下一個】為例,我們依然沿用ctrl,只不過為了避免沖突,改為ctrl + options鍵

自定義之后邏輯可以理解為,編輯器內的文件顆粒度是 ctrl,如ctrl + ←是切換視窗,那么切換打開文件就只能是ctrl + option + ←;cmd + 0是Focus into side Bar | 聚焦于側邊欄,那切換編輯器組方向就只能是cmd + option + 0;

命令macwin
在當前打開文件列表中選擇ctrl + tabctrl + tab
切換為當前文件中的下一個 | Open Previous Editorcmd + option + ← (自定義了 ctrl + option + ← )
切換為當前文件中的上一個 | Open Next Editorcmd + option + →(自定義了 ctrl + option + → )

編輯區之多文件如何同時看到相應內容:編輯器組

對于編輯器區域這么一大塊內容,要想同時看到多個處理文件,那就拆分唄,這就引出了編輯器組的概念,其實就是分區而治,功能完全一樣,直接看案例就好

對于編輯器組空間的把握,同樣一句話,**編輯器組顆粒度是cmd**,對應命令總覽如下;

命令總覽

命令macwin
Split Editor | 拆分編輯器Cmd + \Ctrl + \
Split switch | 切換編輯器組中的當前編輯器Cmd + [組數]Ctrl + [組數]
Flip Editor Group Layout | 切換垂直/水平編輯器布局Cmd + Option + 0Shift + Alt + 0

切換

命令macwin
Split switch | 切換編輯器組中的當前編輯器Cmd + [組數]Ctrl + [組數]

切換編輯器組方向

默認編輯器組間的編輯器排布是橫向

命令macwin
Flip Editor Group Layout | 切換垂直/水平編輯器布局Cmd + Option + 0Shift + Alt + 0

編輯器組管控文件

我們知道了編輯器組本身的支持功能,那顆粒度更細一點,編輯器組對文件的支持呢?編輯器組內的文件顆粒度是cmd + ctrl

命令macwin
Move Editor into Previous Group | 將當前文件移動到上一個編輯器cmd + ctrl + ←ctrl + tab
Move Editor into Next Group | 將當前文件移動到下一個編輯器cmd + ctrl + ←

切換當前處理文件

命令macwin
在當前打開文件列表中選擇ctrl + tabctrl + tab
切換為當前文件中的下一個 | Open Previous Editorcmd + option + ← (自定義了 ctrl + option + ← )
切換為當前文件中的上一個 | Open Next Editorcmd + option + →(自定義了 ctrl + option + → )

移動當前文件至編輯器中的左右編輯組項

命令macwin
Move Editor into Previous Group | 將當前文件移動到上一個編輯器cmd + ctrl + ←ctrl + tab
Move Editor into Next Group | 將當前文件移動到下一個編輯器cmd + ctrl + ←

命令面板區域

命令面板其實就是一個輸入框,采用的是一種策略模式,行為根據前置標識符作為分類。

vscode 設定了符號的概念,意為變量、函數、調用等的集合。

img

其實可以大致分為兩類,特殊標識和特殊字符,這樣區分會容易記憶。

命令劃分:特殊標識

特殊標識對應策略快捷鍵 for Mac快捷鍵 for win
根據文件名進行模糊查詢cmd + p
?獲取有關可進行的操作的幫助

>執行命令cmd + shift + p
[filename?]:[rowIndex]定位行號(不指定文件名那就是當前打開的文件)ctrl + gctrl + g
@[:?]模糊查詢當前文件符號,不填默認展示所有(如果加上:會分類展示)Cmd + Shift + OCtrl + Shift + O
#模糊查詢當前打開的文件列表中的符號 ,不填默認為空cmd + T

命令劃分:特殊字符

特殊字符需要加個空格才會觸發對應策略,有這樣的設定也很簡單,如果不加空格,直接就匹配上之前的【文件名】查找策略了

特殊字符 | 源單詞對應策略
edt [active?] | edit顯示所有已經打開的文件,加active則只會顯示當前活動組中的文件
ext [install?] | extension獲取有關可進行的操作的幫助,加install則可以在命令面板中搜索和安裝插件
task執行任務
debug執行調試
term | terminal創建和管理終端實例
view打開 VS Code 的各個 UI 組件

擴展提要

基于命令面板,其實還有一套關于在 vscode 中對搜索功能的梳理,限于篇幅,將會在下一篇文章中以短文(工具文)的形式出現

終端區域

比較好理解,其實就是一些命令

命令macwin
喚起終端 | toggle terminalctrl + 飄ctrl + 飄
已喚起狀態下新建終端 | create new intergrate terminalctrl + shift + 飄ctrl + shift + 飄
聚焦于終端 | Focus into panel自定義為 cmd + 3
聚焦于下一終端 | Focus Next Terminal自定義為 cmd + shift + →
聚焦于上一終端 | Focus Previous Terminal自定義為 cmd + shift + ←

喚起終端

已喚起狀態下新建終端

聚焦于終端

聚焦于上/下一終端

側邊欄區域

側邊欄只關心一個很常用的關鍵快捷鍵即可,即展示/隱藏側邊欄

命令macwin
展示/隱藏側邊欄Cmd + BCtrl + B

總結

至此,我們就完成了以空間控制為主線的 vscode 之旅啦!勤于思考,享受思考,加油加油

·················?若川簡介?·················

你好,我是若川,畢業于江西高校?,F在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助3000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。

掃碼加我微信 ruochuan02、拉你進源碼共讀

今日話題

目前建有江西|湖南|湖北?籍 前端群,想進群的可以加我微信 ruochuan12?進群。分享、收藏、點贊、在看我的文章就是對我最大的支持~

總結

以上是生活随笔為你收集整理的你不知道的vscode之空间控制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。