值的瞭解的一些vscode遊標操作,讓開發如絲般順滑!

2022-10-28 22:00:29
本篇文章帶大家聊聊中的遊標操作,本文只會涉及到與我們最息息相關的遊標操作,那我們就開始吧!

php入門到就業線上直播課:進入學習
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API偵錯工具:

我們的目標只有一個,讓我們喊出我們的口號:讓開發如絲般順滑!文章中的範例大多 mac 版為主,因為本人是 mac,但 win 版無需擔心,破陣心法,牢記於心:command 就是 ctrl 鍵。

vscode 小技巧 -- 遊標操作

遊標操作我們日常使用方向鍵,我們在日常中其實肌肉記憶下意識也會用到很多它的技巧,比如按住 cmd 鍵左右就可以到行首行尾,但卻很難總結,一葉遮目的感覺。我拋磚引玉給個突破點:顆粒度。我們日常使用時左右方向鍵只會一個字元,即顆粒度是字元,如果我們想到詞尾或者句尾,這就很麻煩了;這句話其實就標明瞭我們的重點:顆粒度;那麼,如何操作遊標的顆粒度呢?

【推薦學習:《》】

水平方向上

結合方向鍵

顆粒度macwin
單詞optionctrl
cmd只用 home/end 即可
程式碼塊cmd + shift + \Ctrl + shift + \

垂直方向上

顆粒度macwin
文首/文尾Cmd+上下方向鍵Ctrl + Home/End 鍵
當前行程式碼上/下移Option + 上下方向鍵

注:【當前行上/下移】不是遊標而是程式碼塊操作(因為遊標操作直接方向鍵就可以了),但很適合放在這裡,這樣就可以和水平方向上匹配了;水平上:行-cmd 單詞-option;垂直上檔案-cmd 行-option;

其他遊標操作

含義macwin
復原遊標處理Cmd + UCtrl + U

擴充套件:【選中】操作只需要再加個【shift】即可;【刪除】操作顆粒度同遊標操作,反方向則加fn即可(如刪除所在行遊標前所有內容為【cmd+delete】而遊標後內容則為【cmd+fn+delete】)

遊標操作範例

針對單詞的遊標移動

想把遊標直接移動到整個單詞,也就是 function 的前面或後面,你只需按下 Option(Windows 上是 Ctrl 鍵)和左方向鍵。

1.gif

遊標移動到行首或者行末

按住 Cmd + 左方向鍵(Windows 上是 Home 鍵),就可以把遊標移動到了這行的第一列

2.gif

移動到檔案的第一行或者最後一行

按下 Cmd 和上下方向鍵即可(Windows 上是 Ctrl + Home/End 鍵)

3.gif

程式碼塊的移動

Cmd + Shift + \(Windows 上是 Ctrl + Shift + \),就可以在這對花括號之間跳轉。

4.gif

當前行上/下移

5.gif

其他遊標操作

復原遊標處理

6.gif

多遊標操作

至此,我們已經瞭解了單遊標的移動,選中(其實就是移動加上shift鍵),刪除(選中加delete)等操作,那麼,如果我們需要一次操作多個地方呢?這時我們就需要來到遊標操作的高階使用了,多遊標操作。

關於這個話題,其實重點就是如何在需要的位置建立多遊標,因為建立後就和單遊標的操作一致了。

基礎操作-滑鼠建立多遊標

在鍵盤上按住 「Option」(Windows 上是 Alt),然後點選要新建遊標的地方即可。

7.gif

但很明顯,這種方法普遍適用但不方便,我們每建立一個遊標都需要找到位置並點一下,八二原則,我們可以用快捷鍵實現常見的那 20%的操作,下文主要介紹三種常見場景。

提效操作

處理場景快捷鍵詳解
相同元素Cmd + D選中元素,然後按下快捷鍵,vscode 就會選中下一個相同的元素並建立遊標;再按再建立,依次類推。
上下行處理Cmd + Option + 下方向鍵在當前遊標的下面建立一個遊標。
選中多行處理Option + Shift + i選中多行內容,然後按下快捷鍵,vscode 在每一行行尾建立一個遊標

關於遊標操作的擴充套件

其他遊標操作

含義macwin
復原遊標處理Cmd + UCtrl + U

選中刪除聯想

【選中】操作只需要再加個【shift】即可;【刪除】操作顆粒度同遊標操作,反方向則加fn即可(如刪除所在行遊標前所有內容為【cmd+delete】而遊標後內容則為【cmd+fn+delete】)

到此,我們就瞭解了 vscode 本身對遊標操作的基本設計理念啦。

自定義快捷鍵

但如果我們用不慣呢?vscode 自然也不會這麼死板,它是支援為行為、也就是我們所說的命令自定義快捷鍵的,這裡說之前困惑過我的一點,就是我們說的建立遊標、移動等等對應 vscode 而言其實就是一條內嵌的命令,理解了這個,才好進行自定義,我當初沒理解所以一直在想的問題是:我該怎麼去翻譯我要做的事情。

三步走:找到定義keyboard Shorycut的地方,找到對應的操作,為操作繫結快捷鍵。

Eg:為【選擇括號內所有內容】的操作繫結Cmd + Shift + ]快捷鍵為例

找到定義keyboard Shorycut的地方

8.gif

找到對應的操作

9.gif

為操作繫結快捷鍵

雙擊-》按下需要繫結的快捷鍵-》回車確定(按錯的話別回車就可以了)

這裡多說一句,快捷鍵其本質就是行為和特定按鍵【在特定場景下】的繫結,在 vscode 中通過 JSON 進行描述,我們可以通過執行>Open Keyboard Shortcuts(JSON)進行檢視,如果我們需要實現一個高階的快捷鍵,就會需要這些知識了。

10.gif

屬性含義備註
Command命令值
When在什麼情況下這個快捷鍵繫結能夠生效
Key快捷鍵

其中的when的定義注意點比較多,所有取值可以檢視檔案

而對於高階寫法,VS Code 還支援幾個基礎的操作符。這樣我們就能夠書寫相對複雜的條件語句了。

  • ! 取反。比如我們希望當遊標不在編輯器裡時,繫結一個快捷鍵,那麼我們可以使用 !editorFocus,使用 !進行取反。
  • == 等於。when 條件值除了是 boolean 以外,也可以是字串。比如 resourceExtname 對應的是開啟的檔案的字尾名,如果我們想給 js 檔案繫結一個快捷鍵,我們可以用 resourceExtname == .js
  • && And 操作符。我們可以將多個條件值組合使用,比如我希望當遊標在編輯器裡且編輯器里正在編輯的是 js 檔案,那麼我可以用 editorFocus && resourceExtname == .js
  • =~ 正規表示式。還是使用上面的例子,如果我要檢測檔案字尾是不是 js,我也可以寫成 resourceExtname =~ /js/,通過正規表示式來進行判斷。

總結

到此,遊標操作相關的分享就結束啦,關於 vscode 的瞭解,它並非銀彈,沒它也能用,但總覺得程式設計本身枯燥的事情,還是需要這種探尋的快樂的,生而有崖而學無涯,用我那時候學完寫的隨筆感想為我們這部分分享結個尾好了:人生性懶惰,不只是表面,更是思想,懶於思考只是習慣於遇坑填坑,跳進坑裡幾乎是一件必然事件,勤于思考,享受思考。

最後,順口溜總結一下下,希望對諸君有所幫助:移動考慮顆粒度,多個就上快捷鍵,客製化還需自繫結,操作牢記 shift 鍵。

更多關於VSCode的相關知識,請存取:!

以上就是值的瞭解的一些vscode遊標操作,讓開發如絲般順滑!的詳細內容,更多請關注TW511.COM其它相關文章!