【Obsidian】QuickAddのコマンドIDを調べる方法
· 4 min read
ObsidianのプラグインQuickAddのChoice
は、設定画面の雷マークを押せばコマンドとして登録できます。
![雷マーク](/_astro/quickadd-command.BYiRCPFg.jpg)
コマンドとして登録すれば、ホットキーやスクリプトから呼び出すことができます。しかし、スクリプトから呼び出すのであればコマンドIDを調べる必要があります。
今回は「Choiceでコマンドとして登録した際のIDの調べ方」とIDの使用例を紹介します。
ChoiceのコマンドIDの調べ方
Obsidianで登録されているすべてのコマンドのIDを調べるならapp.commands.commands
を使えばよいのですが、さすがに探すのが面倒です。そこで、リストにしてフィルターをかけます(参考:Issue #664)。
コンソールに表示
console.table(app.commands.listCommands().filter(c => c.id.includes('choice')))
開発者ツール(Ctrl+Shift+iなど)で開き、上記のスクリプトを貼り付けて実行します。
![choiceのID一覧](/_astro/table-by-console.DGWb0kYW.jpg)
このテーブルの幅はExcelやスプレッドシートのように動かせるので適宜調整しましょう。
ノートに表示
ノートに表示したいのであればDataviewを使っても表示できます。
// dataviewjsの例dv.table( ["name", "id"], app.commands .listCommands() .filter((c) => c.id.includes("choice")) .map((c) => [c.name, c.id]),);
![dataviewjsでChoiceのIDを調べる](/_astro/table-by-dataviewjs.DXKtmSyD.jpg)
テーブルが見切れる場合はノートの幅が狭いので広くしましょう。
ChoiceのコマンドIDの使用例
ChoiceのコマンドIDを使っている例を紹介します。
筆者はブログネタをQuickAddのCaptureでデイリーノートに書き込み、Tasksで「完了」「未完了」に分けて表示しています。この書き込みボタンでコマンドIDを活用しています。
![QuickAddの実例](/_astro/quickadd-example.BDrBwUYw.jpg)
Captureの内容
Capture formatは次のようになっています。
![Capture Formatの例](/_astro/capture-format.Dj7xY50x.jpg)
「タイムスタンプ」「タグ」を含むチェックリストです。
ノートに書くこと
「書き込む」ボタンはMeta Bindというプラグインを使いました。Meta Bindでは、コマンドIDを指定して実行するボタンが用意できます。ボタンを用意しておけば、覚えるホットキーが少なくて済みます。
Meta Bindのコードブロックには次のように書きました。
style: defaultlabel: 書き込むactions: - type: command command: quickadd:choice:e0411179-b315-4bef-a504-d3fe7bfc6210
このquickadd:choice:xxx……
が、先ほど調べたChoiceのコマンドIDですね。
Meta Bindについては別の記事【Obsidian】ボタンを作れるプラグインMeta Bindの使い方に書いたので興味のある方はどうぞ。
完了したネタは折りたたんで表示しています。
> [!note]- 今日完了にしたネタ> ```tasks> filter by function task.file.folder === "daily/"> ignore global query> tag includes 💡> tag includes blog> done on today> short mode> hide tags> ```
未完了のネタはそのまま表示します。
filter by function task.file.folder === "daily/"ignore global querytag includes 💡tag includes blognot doneshort modehide tags
全体
使用例の全体も載せておきます。各自に合わせて変えてください。
```meta-bind-buttonstyle: defaultlabel: 書き込むactions: - type: command command: quickadd:choice:e0411179-b315-4bef-a504-d3fe7bfc6210```
# ブログネタ一覧
> [!note]- 今日完了にしたネタ> ```tasks> filter by function task.file.folder === "daily/"> ignore global query> tag includes 💡> tag includes blog> done on today> short mode> hide tags> ```
```tasksfilter by function task.file.folder === "daily/"ignore global querytag includes 💡tag includes blognot doneshort modehide tags```
以上、QuickAddのChoice関連でした。