文章

顯示包含「VSCode」標籤的文章

[技巧] 用 VSCode 把 OneNote 快速轉換到 Markdown + 包含程式碼

圖片
工作上的筆記總是寫在 OneNote,但如果想要貼部分資訊到 GitHub/GitLab 中,單純用複製貼上整個格式就會跑掉,還要手動一個一個調整滿麻煩的。有沒有什麼快速的方法來把 OneNote 轉換到 Marrkdown 格式呢? 範例 OneNote 文件 由於 OneNote 中我常常用 tables 來把 code 片段包起來,所以很常筆記會變成下面這樣: Pandoc 工具 網路上常見的解法背後其實常常用了 Pandoc 這個工具,如果我們按照這個 教學方法 把上面的 OneNote 文件轉換成 Word 再轉成 Markdown 會變成這樣: 我們會發現 tables 與程式碼的 indents 整個都跑掉了,就不是我預期的。 而且還要先匯出成 Word,再開 PowerShell 輸入指令,如果頻繁的做這件事就會覺得很累,尤其是還在修改部分細節的時候。 VSCode + Replace Rules 插件 如果我們直接複製 OneNote 的文字,在 VSCode 貼上,會發現他會貼上這樣的格式: 除了文字前面的小圖示,我們會發現他的 indents 終於有保留下來。所以我一開始都是手動用 Ctrl+D 或 Ctrl+Shift+L 把 tabs + 小圖示選起來再改成 Markdown 的格式。Tables 比較麻煩要手動在前後加上 ``` 這個動作做久了之後我就想到,這個動作其實和 find regex & replace 在做的事其實差不多,為何我不用 regex 來自動做到呢? 如果我們去裝 Replace Rules 這個插件,並且在 settings.json 中加上一些設定 (在文章的最後)。 之後,先在最下方空兩行 (為了讓 table bottom regex 可以正常運作),我們就可以在 VSCode 中按 Ctrl+Shift+P 然後輸入 Run Ruleset -> Ruleset: OneNote plaintext to markdown,剛剛貼過來的 OneNote 文件就會變成下方這樣: 我們再手動把 Title/Subtitle 加上 # 與 ##,把結果貼到 GitHub 的 editor 上,預覽就會正確地把 code block 顯示出來: 再也不用手動慢慢轉換啦。 筆記格式的限制 這個方法看...

[技巧] 用 VSCode Terminal 連到遠端 Linux 但是有些組合鍵按不了?

圖片
如果你想用 VSCode Terminal 取代傳統用 PuTTY, MobaXterm 等 SSH 工具,第一個會遇到的障礙就是像是 Ctrl + K , Ctrl + E , Ctrl + V 有些組合鍵都沒辦法用。 "不能用"的原因可能有幾個: VSCode 傳送的 ASCII code 和 PuTTY 傳送的 ASCII code 不一樣 VSCode 的組合鍵被 VSCode 上面的東西給搶先攔截了 (像是 Ctrl + E 會開啟 Go to file... 功能) 再來也有可能不是 VSCode 的問題,是 stty 或 SSH 端的程式沒設置好 按鍵傳送的 ASCII Code 和想像的不一樣 像是我們開 PuTTY 的設定 Terminal -> Keyboard 就會發現裡面有設置像是 Backspace 按下去應該會送出什麼 ASCII code: 預設是送出 127 ( ^?, 0x7f ),但是有可能會出於各種因素設置到 Control-H (也就是 Ctrl + H, ^H, 8, 0x8 )。但 VSCode 預設設定是右邊的。所以如果你習慣的設定剛好就和 VSCode 預設不一樣的話就會發現 VSCode terminal 中 backspace 按下去怎麼不是刪除文字而是會冒出一些怪怪的符號、或是一些不該有的行為。 按鍵被 VSCode 搶先攔截 就算你在 VSCode terminal 按 Ctrl + E,VSCode Go to file... 的功能就會搶先跳出來,terminal 根本沒有機會知道你按了什麼: 其他還有很多按鍵通通會觸發 VSCode 的功能。 別讓 VSCode 攔截按鍵 你可以在 settings.json  裡面用 " terminal.integrated.commandsToSkipShell " 來關閉哪些 VSCode commands 不要使用,記得在前面加上一個 "-" 字元,它自然就會把按鍵乖乖傳給 shell: { "terminal.integrated.commandsToSkipShell": [ "-editor.action.toggleTabFocus...

此網誌的熱門文章

[試算表] 追蹤台股 Google Spreadsheet (未實現損益/已實現損益)

互動式教學神經網路反向傳播 Interactive Computational Graph

[Side Project] Google Apps Script 實作 Google Sheet 抽股票的篩選工具