介紹幾個和程式碼區塊相關的外掛:Code Customizer、Code Styler、Codeblock Tabs與Keyshots。

其中要特別一提的是Keyshots。

如果你以為Keyshots就是新增常用按鍵,功能與Code Editor Shortcuts類似,那可是猜錯了。Keyshots除了讓我們將按鍵設定成常用的IDE按鍵之外,它也新增了許多功能,例如:

  1. 插入表格的選擇視窗
  2. 插入Callout的選擇視窗
  3. 插入程式碼區塊的選擇視窗
  4. 正則運算式的搜尋與替代視窗
  5. 多個多重游標操作

1. 功能展示

  • CodeBlock Tabs只在閱讀模式生效
  • 2024/03/28: 另有 HTML Tabs plugin可用

gh|700

<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為例說明。

設定前操作:

  1. 選用要使用的預設主題:Obsidian或Solarized
  2. 在Create your theme輸入新的主題名稱,按+號
  3. 變更設定後按Theme右方的儲存圖示
```js file:arrow.js error:7-9 ln:12 hl:15-17

2.1. Select settings page

gh|700

  • 點擊Header則折疊區塊
  • 未指定檔名且設定總是顯示Header則無折疊功能

3. CodeBlock Tabs Plugin

在程式碼區塊開頭以下列格式指定檔名:

+ 標題格式

````語言 {title:檔名(須有副檔名)}`
實測時不必使用...🤷‍♂️

4. Keyshots Plugin

將快捷鍵設定成慣用的IDE按鍵,預設的IDE如下:

  • JetBrains IDEs: IntelliJ IDEA、WebStorm、PyCharm、...
  • VS Code
  • Visual Studio
  • Keyshots 預設

選用好後,可以開啟快捷鍵視窗搜尋 keyshots 查看按鍵。

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. 教學影片

##