VSCodeをメモアプリとして使う

Boostnoteを使ってたんだけど、プレビュー周りの挙動が好きじゃなかったので、VSCodeでメモできるようにスクリプトを書いてみた。

雑な感じでzshのfunctionとして設定してみた。

function memo() {
  if [ -d $MEMO_HOME ]; then
    cd $MEMO_HOME
    local filename=$(date '+%Y%m%d_%H%M%S').md
    echo -e "# $(date '+%Y-%m-%d %H:%M:%S')\n" > ./src/$filename
    vs --wait --extensions-dir ./ext --goto src/$filename:2 ./src
    git add -A .
    git commit -m "add $filename"
  fi
}

前提

  • MEMO_HOMEとしてどこか指定しておく
  • 配下にextsrcを作成しておく
  • extは拡張機能を置く
    • できるだけ起動を軽くするため、普段使っている拡張機能は有効にならないようにしたい
  • srcはメモのファイルを置く
  • gitでも管理する
    • extはコミットしないようにgitignoreに追記しておく

挙動

  1. 規定のディレクトリに移動する
  2. 日時のMarkdownファイルを作成し、ヘッダーに日時を埋めておく
  3. VSCodeを起動する
  4. VSCodeが終了したらgitのコミットを行う

VSCodeは以下のオプションをつけている。

  • 終了するまで待つ(--wait)
  • extを拡張機能ディレクトリにする(--extensions-dir)
  • ファイルの2行目を指定して開く(--goto)

実際使ってみると、ファイルの一覧が欲しくなったり、Alfredと連携したくなってきたので、そのうちまた修正したい。