前言
正如官網所說,VSCode
是一個很強的編輯器。
來個更震撼的?
那么為什么VSCode
那么強?有很大的一個原因:功能和插件眾多
關於VSCode
的基操,請看往期日報
今天我們來看看VSCode
中有哪些超強的功能和插件吧~
(注:鑒於大家都是OIer
或ACMer
,本文並不涉及僅能在非cpp
語言中有效的插件)
(再注:安裝插件可以用插件商店無腦安裝,或者vscode
命令行命令安裝,或下載github
倉庫進行文件安裝)
(三注:東北小蟹蟹的系統為ubuntu
,但Windows
操作環境應該和這個差不多)
先說功能
首先,VSCode
基礎功能很強大,文件樹,內置終端,隨時分屏是我最喜歡的三個功能。其他編輯器中同時蘊含這三個功能的並不多。
而最強大的一個功能,當屬自定義代碼片段。
自定義代碼片段
來看這樣一個例子:
base
是我提前定義好的代碼片段縮略名。然后我們按下Enter
(或Tab
)
ok!
一個簡單的基本代碼片段就完事了。不要懷疑我在騙人,我這么蒻騙你干甚。
再來一個例子:
Enter
后:
廢話不多說,我們看看是怎么搞的。
首先在vscode
按Ctrl+P
進入命令行模式,鍵入>User Sn
按下回車:
由於我的cpp.json
已經編輯過,所以顯示在第一行。默認在下面找到cpp
,會發現你現在已經進入編輯cpp.json
的模式。
這里就是自定義代碼片段了。這里給出我的自定義代碼片段:
{
"base"/*這里填的東西與實操無關,是便於編輯json的*/: {
"prefix": "base", // 這里才是觸發的關鍵字 輸入base按下enter或tab鍵 這行末尾有逗號哦!
"body": [//這里是代碼主片段部分:
"#include <bits/stdc++.h>",//每一行都需要雙引號括起來。
"using namespace std;",//雙引號后千萬不要忘記逗號
"",//這里就是空行
"int n,m;",//有沒有種熟悉的感覺?
"",//對了,用cpp編寫P1000就是這個感覺。。。。
"int main(){",//如果你嫌麻煩直接復制我的就好
"",//不用擔心注釋內容,這里的注釋並不包含在實操中的代碼片段
" return 0;",//除非你的注釋在雙引號內
"}",//總之放心大膽的復制吧。馬蜂不同不予受理qwq
],
"description": "basic components"//注意這行是沒有逗號的
//"basic components"也是愛填什么填什么
},//這里也要有逗號!!!!qwq
"fread": {
"prefix": "fread",
"body": [
"int read(){",
" int s=0,f=1;",
" char ch=getchar();",
" while(ch<'0'||ch>'9'){",
" if(ch=='-') f=-1;",
" ch=getchar();",
" }",
" while(ch>='0'&&ch<='9'){",
" s=s*10+ch-'0';",
" ch=getchar();",
" }",
" return s*f;",
"}"
],
"description": "fast read"
}//最后一個代碼片段無逗號。為什么弄個代碼片段如此麻煩!!!詳情參考json語法
}
然后就保存,可能需要重啟vscode
。
最后就按照最開始說的那個方法,愉悅coding
吧~
自動保存
在User Setting
中找到AutoSave
off
:不開啟自動保存。這是默認的,但不開自動保存的編輯器是危險的。
afterDelay
:不編輯一段時間后,自動保存。這段時間具體是多久取決於下面的設置:
單位毫秒哦~
onFocusChange
:我的強推。焦點離開當前編輯的文本自動保存(說普通話就是鼠標點擊當前文本編輯區 以外 的地方自動保存)。
onWindowChange
: 焦點離開VSCode
自動保存(普通話就是干VSCode
以外的事情(如瀏覽器)時自動保存)。
小結
其實vscode
好用的功能有很多,這里僅列舉了普通的OI
碼代碼需求的部分功能好吧其實就倆。只要你有足夠多的探索亂搞精神,你會知道很多的。
再說插件
background
干嘛的
當然是亂搞背景的了!
效果圖:
(當然背景可以換啦)
食用方法
(以后的食用方法中,省略下載插件這一步。插件名稱請見二級標題。)
首先,確定你有管理員權限!
Windows
中右鍵管理員運行即可。
Ubuntu
運行
重啟vscode
而且Ubuntu
有點煩的是每次vscode
版本更新都需要做上述步驟。。qwq
然后,如果你覺得默認的小女孩的背景不錯,就可以跳過這部分。當然還有可能有一些問題,請看后面的Q&A
。
在User Settings
中搜索background
,你會看到:
點擊Edit in settings.json
,你會發現你現在在編輯settings.json
。
在末尾的中括號前加:
"background.customImages": [
"file:///home/xbc/Desktop/desktop.png",//背景圖片地址
"file:///home/xbc/Desktop/desktop.png",
"file:///home/xbc/Desktop/desktop.png"
//如果你很好奇為什么得重復三遍,讀者自證(划掉)參見說明
],
"background.style":{
"content": "''",
"pointer-events": "none",
"position": "absolute",
"z-index": "99999",
//熟悉css的同學肯定明白上面是什么意思。這個是不用改的。
"width": "100%",//背景圖片縮放有多寬
"height": "100%",//背景圖片縮放有多高
"background-position": "100% 100%",//背景圖片顯示位置
"background-repeat": "no-repeat",//這個也不用改
"opacity": 0.2//透明程度。其實普通的需求改這個就行了qwq
}
Q&A
Q1
:不顯示背景(插件無效)?
A1
:確定你有管理員權限!
Windows
中右鍵管理員運行即可。
Ubuntu
運行, 重啟
vscode
而且Ubuntu
每次vscode
版本更新都需要做上述步驟!
Q2
: 怎么去除頂部的不受信任的標志?
A2
: 參見https://github.com/lehni/vscode-fix-checksums
安裝Fix VSCode Checksums
這個插件,按下Ctrl+P
,執行>Fix Checksums: Apply
,完全重啟VSCode
。單純的重啟窗口是無效的哦~
Q3
:已確保有了管理員權限,咋就是不好使?
A3
:將上述代碼中的background.style
更改為
"background.style": {
"content": "''",
"pointer-events": "none",
"position": "absolute",
"z-index": "99999",
"width": "100%",
"height": "100%",
"background-position": "center",
"background-repeat": "no-repeat",
"background-attachment":"fixed",
" background-size": "cover",
"opacity": 0.2//透明度
},
這個問題是@tt14159 提出的,感謝他的反饋。
Browser Preview
干啥的
將迷你瀏覽器搬到vscode
中:)
upd on 2020.1.10:
warning!
如果您的操作系統為ubuntu
,實際上不用這么麻煩。取消瀏覽器的最大化,右鍵瀏覽器標題欄,點擊Always on top
,置頂瀏覽器就可以。
食用方法
必須先得安裝Chrome
瀏覽器哦~
安裝插件后,左側菜單欄應該會有個小圖標:
點擊它,會自動出現微型瀏覽器。
自此食用完成。
哦對了,我的建議是平常上網還是在普通的瀏覽器,然后刷題的時候把題面鏈接粘過來。微型瀏覽器不用登錄洛谷,因為它記不住密碼。這只是為了看題面方便而已。提交代碼也到普通瀏覽器提交。
你可能想問我:為什么這個微型瀏覽器這么垃圾啊?
好吧,這個插件的初衷是用來調試js
,html
代碼的。。。
C/C++
這個不必多說了吧~~~~~
Code Runner
干啥的
一鍵運行代碼。
食用方法
安裝即可。
這里介紹另外的一些配置:
默認的code runner
運行在OUTPUT
而非終端。如果你和我一樣喜歡讓編譯命令在終端運行,可以勾選Run In Terminal
。
同樣,自動保存必須要有,所以勾選上圖中的后兩者。
GraphViz Preview
干啥的
關於GraphViz
的芝士,請見往期日報
這插件就是預覽GraphViz
的圖像。
免編譯,實時預覽。
效果很棒。
插件里面還有GraphViz
的語法高亮支持,寧可以自行查看qwq
indent-rainbow
&Bracket Pair Colorizer 2
干啥的
這是倆不同的插件,indent-rainbow
是讓縮進五顏六色,如:
如果你的vscode
配置了自動換行,就可以造出這玩意兒:
真有趣
而Bracket Pair Colorizer 2
呢,他是讓括號五顏六色,比如
兩者配合使用呢,就是這個鴨子:
哦對了,如果大括號不匹配,沒匹配的那個大括號會變紅。
原理詳見this one
食用方法
開袋即食
Power Mode
干啥的
打代碼更加炫酷。這里拍動圖不方便,直接弄官方給出的動圖吧:
原文中的動圖比這個多多了,有興趣的可以自行查看https://marketplace.visualstudio.com/items?itemName=hoovercj.vscode-power-mode
食用方法
還是在User Settings
中,找到本插件的設置,看看都有啥。
這個默認是不勾選的,必須勾選,要不然插件無效。
這是啥玩意兒呢?
你可以試試打點字,就會有:
當然實際上數字不一定是這個啦。這其實是打字連擊小模塊,打一個字符combo++
,當打字連擊到一定數值后,會出現
(下面那個綠白相間的東西不是vscode
的,是為給水印讓道搞的qwq
,沒水印占高級空間啊(
當超過一段時間不打字了,combo timer
會消失,但combo
計數仍然存在。但若繼續打字,combo=0
在上面那段文字中,你會發現兩行文字:
打字連擊到一定數值后
超過一段時間不打字了
這個“一定數值”“一段時間”的設置就是剛才說的那兩個。
combo threshold
就是這個“一定數值”,
combo timeout
就是這個“一段時間”。注意單位是秒,並非毫秒,至於我為什么設置成10000s
,還能因為啥
如果你不想要打字連擊小模塊,可以取消下面兩個設置的對勾:
打字的時候還會晃動。設置晃動幅度:
特效劇烈程度:
特效位置:
特效保持時間(單位毫秒,0表示不消失)
等等等等,就不列舉了qwq
TabOut
干啥的
編碼的時候,經常會遇到編輯雙引號,括號內的情況,編輯完成若想跳到括號外,必須得按下右箭頭鍵。
但是這樣很不爽,右箭頭距離主鍵盤那么遠,不方便,咋辦呢?
安裝此插件,在括號,雙引號內編輯時,按一下Tab
跳出。
說實話這是我的救星qwq
食用方法
同開袋即食,是不是很方便吶
vscode-fileheader
干啥的
這個是一鍵給你的代碼增加頭注釋,like this:
而且最新更改時間會自動更改,like this:
(拍動圖不便,用官方的gif qwq
)
食用方法
開袋食不了,因為插件默認的author
並不是我們。在下面的設置項進行配置:
然后在代碼中,按下Alt+Ctrl+i
就可以在文件頂部添加注釋。(不影響光標的位置)
其他
至此本文章就快要結束啦。最后再推薦下我的外觀吧:
整體外觀:Dracula At Night
小圖標外觀:vscode-icons
本篇文章至此結束。
Enjoy it!