介紹幾個和程式碼區塊相關的外掛:Code Customizer、Code Styler、Codeblock Tabs與Keyshots。
其中要特別一提的是Keyshots。
如果你以為Keyshots就是新增常用按鍵,功能與Code Editor Shortcuts類似,那可是猜錯了。Keyshots除了讓我們將按鍵設定成常用的IDE按鍵之外,它也新增了許多功能,例如:
- 插入表格的選擇視窗
- 插入
Callout的選擇視窗 - 插入程式碼區塊的選擇視窗
- 正則運算式的搜尋與替代視窗
- 多個多重游標操作
1. 功能展示
- CodeBlock Tabs只在閱讀模式生效
- 2024/03/28: 另有 HTML Tabs plugin可用
<div class="flex">
<div class="item">1</div>
<div class="item flex-2">2</div>
<div class="item">3</div>
</div>
.flex {
display: flex;
height: 300px;
padding: 15px;
background-color: #61a0f8;
/* 修改以下值試試看 row|row-reverse|column|column-reverse;*/
flex-direction: row;
}
.item {
flex: 1;
background-color: #f08bc3;
margin: 5px;
display: flex;
justify-content: center;
align-items: center;
color: white;
font-size: 2rem;
}
.flex-2 {
flex-grow: 2;
flex-shrink: 1;
flex-basis: 0%;
background-color: #f08bc3;
}
// ECMAScript/JavaScript 傳統函數定義語法
function(parameter_list) {
return result;
}
// ES6 新語法,注意中間的箭頭 => ,口語可讀作將左邊的參數交給右邊的程式區塊處理。
(parameter_list) => {
return result;
}
// 簡寫原則1: 只有一個參數時,可以省略表示參數清單的 () 。
(x) => {}
// or
x => {}
// 簡寫原則1但書: 但沒有參數時,不可省略 () 。
() => {}
// 簡寫原則2: 函數本體只有一行敘述時,可以省略表示函數區塊的 {} 。
// 而且這時自動將該行執行結果作為函數回傳值,不能使用 return 。
(x, y) => {
return x+y;
}
// or
(x, y) => x+y
2. Codeblock Customizer
Codeblock Customizer和Code Styler功能近似,擇一使用。以下以CodeBlock Customizer為例說明。
設定前操作:
- 選用要使用的預設主題:Obsidian或Solarized
- 在Create your theme輸入新的主題名稱,按+號
- 變更設定後按Theme右方的儲存圖示
```js file:arrow.js error:7-9 ln:12 hl:15-17
2.1. Select settings page
- 點擊Header則折疊區塊
- 未指定檔名且設定總是顯示Header則無折疊功能
3. CodeBlock Tabs Plugin
在程式碼區塊開頭以下列格式指定檔名:
+ 標題格式
````語言 {title:檔名(須有副檔名)}`
實測時不必使用...🤷♂️
4. Keyshots Plugin
將快捷鍵設定成慣用的IDE按鍵,預設的IDE如下:
- JetBrains IDEs: IntelliJ IDEA、WebStorm、PyCharm、...
- VS Code
- Visual Studio
- Keyshots 預設
選用好後,可以開啟快捷鍵視窗搜尋 keyshots 查看按鍵。
- 預設按鍵: List of Keyshots commands with IDE Mappings (未列入新版本添加的按鍵)
4.1. JetBrains常用按鍵
| 按鍵 | 功能說明 |
|---|---|
| 連按兩次<span class='keybs'>Ctrl</span> | 開啟命令面板 |
| 連按兩次<span class='keybs'>Shift</span> | 開啟快速切換視窗(Quick Switcher) |
| <span class='keybs'>Ctrl+W</span> | 區塊選取 |
| <span class='keybs'>Ctrl+D</span> | 複製區段或行 |
4.2. Keyshots按鍵
| 按鍵 | 功能說明 |
|---|---|
| <span class='keybs'>Alt+Shift+T</span> | 開啟插入表格 對話窗 |
| 自訂,如<span class='keybs'>Ctrl+Shift+C</span> | 開啟插入Callout 對話窗 |
| <span class='keybs'>Ctrl+Shift+`</span> | 開啟插入程式碼區塊 對話窗 |
| <span class='keybs'>Ctrl+Alt+H</span> | 開啟正則運算式替代對話窗 |
| <span class='keybs'>Ctrl+Alt+S</span> | 開啟正則運算式搜尋對話窗 |
| <span class='keybs'>Ctrl+Alt+F</span> | 進入專心模式(Fullscreen Focus mode) |
| <span class='keybs'>Ctrl+Alt+Shift+J</span> | select all word instances(標示文字後按鍵,筆記裡該文字處出現多重游標)<br>(表格內無效) |
| 自訂,如<span class='keybs'>Ctrl+Alt+Shift+K</span> | select multiple word instances(標示文字後按鍵多次,筆記裡該文字處出現多重游標) |
測試: keyshots
5. 相關鏈接
✅ Obsidian-CodeBlock-Tabs: https://github.com/JeminMau/Obsidian-CodeBlock-Tabs
✅ Obsidian-Code-Styler: https://github.com/mayurankv/Obsidian-Code-Styler
✅ CodeblockCustomizer: https://github.com/mugiwara85/CodeblockCustomizer
✅ obsidian-keyshots: https://github.com/KrazyManJ/obsidian-keyshots
6. 教學影片
##