一起來將vscode變成私人定製筆記本

Xixi20160512發表於2019-05-07

源頭

最近切換了很多次做筆記的位置。大致可以分為三類:

  1. macos 備忘
  2. 印象筆記
  3. bear、UIysses
  4. vscode

各有優缺點,用過的都知道。最終我想基於 vscode + git 來作為日記本。vscode 提供的 markdown 的編寫體驗和介面都無可挑剔,缺陷也很明顯:不可以像其他日記本一樣同步。所以在日常的碼字型驗中,經常就是公司電腦編輯的,忘了 push,回去用自己電腦開啟,寫的東西都不在。

為了解決上面的痛點,因此有了現在這個 auto-diary 外掛。

這款外掛目前支援直接在 vscode 外掛市場搜尋安裝

這款外掛主要解決的就是上面所說的同步問題。主要會做下面的事情:

  1. 檢測專案 workspace 根路徑是否有 .auto-diary.json 配置檔案
  2. 如果有配置檔案,則會在第一次進入 workspace 的時候更新遠端的程式碼倉庫
  3. 編寫文件的過程中,如果有檔案儲存,會自動做一次提交,然後推送到遠端倉庫

目前外掛還有較多限制,我能想到的有以下幾點:

  1. 面向懂 git 的程式設計師
  2. 不支援同時編輯(涉及到衝突問題),但是多機器沒啥毛病
  3. 應該沒有了吧,有待發現(提交反饋地址:issues

外掛編寫過程記錄

環境準備與開發除錯方式

全域性安裝需要用的工具

yarn global add yo generator-code vsce
複製程式碼

安裝好之後使用 yo 生成模板工程

yo code
複製程式碼

根據提示選擇(將官網推薦的選擇項扣下來,供參考):

# ? What type of extension do you want to create? New Extension (TypeScript)
# ? What's the name of your extension? HelloWorld
### Press <Enter> to choose default for all options below ###

# ? What's the identifier of your extension? helloworld
# ? What's the description of your extension? LEAVE BLANK
# ? Enable stricter TypeScript checking in 'tsconfig.json'? Yes
# ? Setup linting using 'tslint'? Yes
# ? Initialize a git repository? Yes
# ? Which package manager to use? npm
複製程式碼

其中有一點不一樣,我選擇使用 yarn 作為包管理器,這個根據個人喜好就行。

現在基本上模板已經建好了,進入工作目錄:

cd ./helloworld
複製程式碼

由於在建立模板工程的時候,依賴已經下載好了。

開啟入口檔案 extension.ts ,裡面會有很多詳細的註釋,這裡需要注意一下:

  1. 如果 vscode 飄紅,那麼有可能是 vscode.d.ts 沒有正確下載,那麼刪除 node_modules 之後重新下載依賴試一下
  2. nodejs 生態的工具包,親測是可以直接用的,像比較有名氣的 shell.js 直接開箱即用
  3. 官方 api 地址可以好好看一下,vscode 這個包暴露了全部可以使用的介面。

接下來就是按照自己的需求編寫程式碼了。

關於除錯的部分,有個地方需要注意。預設的模板專案裡面,外掛的啟用方式是需要在命令皮膚輸入 hello world 指令。所以除錯的時候需要每次 reload window 之後再輸一個命令才能啟用外掛。這裡可以改變一下外掛的啟用方式。下圖是支援的啟用方式列表:

2019-01-26-10-47-53

我使用的是圈出的部分,表示工作目錄包含特定檔案就會啟用外掛,這和目錄中的配置檔案剛好是吻合的。

好了,正式除錯開始。首先開啟 vscode 除錯皮膚。選中第一個,點啟動。(這裡預設已經熟練使用 vscode 除錯功能~~)

然後會彈出一個除錯用的編輯器介面(可以理解為這個編輯器中已經加入了現在正在編寫的外掛,其他地方和普通編輯器一樣)就可以除錯功能了,如果程式碼有更新,則只需要 reload 除錯用的編輯器就可以了。

釋出外掛

首先,需要在微軟自己的azure devops網站註冊賬號。考慮到這個過程我也弄了很久,我打算把步驟寫清楚:

  1. 點選上面的連結,找到註冊或者登陸的按鈕(微軟賬號可以直接用)
  2. 登陸進入之後會提示增加一個組織
  3. 看到管理皮膚之後點選個人資訊裡面的 Security
  4. 建立一個 Personal Access Token(一定需要給足相應的許可權,官方教程中會有一個醒目的截圖的)
  5. 複製建立出來的 token 儲存好,指不定下次還會用上,但是你下次是看不到這個 token 的。

得到 token 之後繼續本地操作。

建立一個釋出者(這裡就要用到上面得到的token 了)

vsce create-publisher <publisher-name>
複製程式碼

打包外掛(打一個可以本地化安裝的 package 釋出操作不依賴這一步)

vsce package
複製程式碼

釋出外掛

vsce publish
複製程式碼

看到成功的提示之後,就表示完成了,然後再去官方外掛市場看一下吧。

後續可能需要完善的東西,文件、外掛logo等等。

參考

相關文章