[[Obs089-Quick Settings by QuickAdd Script]]では、QuickAddを使ってよく使う設定をまとめ、Advanced URIで設定ウィンドウを開く方法を紹介しました。しかし、QuickAddは概念と操作がやや複雑なため、正しく設定するのが難しかったかもしれません。新しいOpen Plugin Settingsプラグインを使えば同じ機能をより簡単に実現できるため、今回はその新しい方法を改めてご紹介します。
- 1つ目の方法は、Open Plugin Settingsでコマンドを生成し、Templater Hotkeysでホットキーを設定するものです。
- 2つ目の方法は、以前の方法と同様にAdvanced URIプラグインを使って設定ウィンドウを開きますが、QuickAddの代わりにTemplater Hotkeysを使用します。
まず、両方の方法で使用するTemplaterスクリプトを紹介し、最後にTemplater Hotkeysでのホットキー割り当て手順を説明します。
1. Open Plugin Settings プラグイン
1.1. Open Plugin Settingsのインストールと設定
- Open Settingsプラグインをインストールして有効化します。
- 素早くアクセスしたいプラグインを追加します。
- 追加した設定はコマンドとして登録され、よく使うプラグイン設定にコマンド経由でホットキーを割り当てられるようになります。
1.2. Templaterスクリプトの作成
- Templaterフォルダ内に Cmd-open-settings.md を作成し、以下の内容を記述します。
- 1行目の
<の後のスペースは削除する必要があります。 - JSON形式:
{json} "表示するプラグイン名": "open-plugin-settings:プラグインのコマンドID"
< %*
// ホットキー: Alt+S
// Open Settingsプラグインを先に設定しておく必要があります
let oSettings = {
"BRAT": "open-plugin-settings:obsidian42-brat", //"obsidian42-brat:BRAT-AddBetaPlugin",
"QuickAdd": "open-plugin-settings:quickadd",
"Open-plugin": "open-plugin-settings:open-plugin-settings",
"Other settings":"open-plugin-settings:open-other-plugin-settings",
"Commander": "cmdr:open-commander-settings", //"open-plugin-settings:cmdr"
"Keyshots": "keyshots:open-keyshots-settings-tab",
"Style settings": "obsidian-style-settings:show-style-settings-leaf",
"Settings": "app:open-settings"
};
let aKeys = Object.keys(oSettings);
let aValues = Object.values(oSettings);
let sValue = await tp.system.suggester(aKeys, aValues, false, "設定したいプラグインを選択"); // (displays, values,...)
if (!sValue) return;
// console.log(sValue);
await app.commands.executeCommandById(sValue);
-%>
+ 特定プラグインのコマンドIDを知るには?
- 方法1:
vault/.obsidian/plugins/フォルダ内にあるプラグインのフォルダ名を確認します。このフォルダ名がコマンドIDです。 - 方法2:
vault/.obsidian/plugins/open-plugin-settings/data.jsonファイル内のidフィールドの値がコマンドIDです。
+ ヒント:全てのコマンドを簡単にリストアップする方法
- <span class='keybs'>Ctrl+Shift+I</span>を押して開発者ツールのコンソールを開きます。
{js} app.commands.listCommands()を入力して実行します。- コンソールを確認し、クリックして展開します。
- クリックしてから<span class='keybs'>Ctrl+S</span>を押すとクリップボードにコピーされ、確認しやすくなります。
1.3. ホットキーの割り当て
- 特定のOpen Plugin Settingコマンド: 設定 → ホットキー → Open Plugin Settings下の項目を検索し、ホットキー(例:<span class='keybs'>Alt+S</span>)を割り当てます。
- 設定 → コミュニティプラグイン → Templater を検索 → Templater Hotkeys → 「Add hotkey」で Cmd-open-settings を見つけます。
- 設定 → ホットキー → Cmd-open-settings を検索し、ホットキー(例:<span class='keybs'>Alt+S</span>)を割り当てます。
2. Advanced URI プラグイン
2.1. Templaterスクリプトの作成
- Templatesフォルダ内に Cmd-open-settings-by-uri.md を作成し、以下の内容を記述します。
- 1行目の
<の後のスペースは削除する必要があります。 oSettingsJsonのコロンの左側は、ダイアログに表示されるテキストです。oSettingsJsonのコロンの右側は、settingid、コマンドID、またはファイル名です。- settingid:
{js} window.open("obsidian://advanced-uri?vault=VAULT&settingid=...")を使用して設定ウィンドウを開きます。 >を含む場合:右側は設定セクション(settingsection)です。例:エディター設定内の「Behavior」がセクションにあたります。画面上の表示と大文字・小文字を一致させる必要があります。!で始まる場合:右側はコマンドIDです({js} app.commands.executeCommandById()でコマンドを実行します)。@で始まる場合:右側はノートファイル名(パスを含む)です。
- settingid:
< %*
/**
* Using Advanced URI Plugin to open specified settings.
* settingid: Normally the plugin's folder name. We can find the correct id in plugin's manifest.json
* Hotkey: Alt+S
* Ref: Obsidian Advanced URI: https://vinzent03.github.io/obsidian-advanced-uri/actions/settings_navigation
*/
let oSettingsJson = {
"Core: Appearance": "appearance",
"Core: Community plugins": "community-plugins",
"Core: Plugin browser": "plugin-browser",
"Core: Theme browser": "theme-browser",
"Core: Hotkeys": "hotkeys",
"Core: Editor > Behavior": "editor>Behavior", // ">" は設定セクションを示します; Behavior
"Plugin: BRAT": "obsidian42-brat>Beta Plugin List",
"Plugin: QuickAdd": "quickadd",
"Plugin: Open-plugin settings": "open-plugin-settings",
"Plugin: Commander": "cmdr",
"Plugin: Keyshots": "keyshots",
"Plugin: Soundscapes": "soundscapes",
"Plugin: Style settings": "obsidian-style-settings",
"Plugin: Settings": "app:open-settings",
"Plugin: Other settings":"!obsidian42-brat:opentPluginSettings", // "!" はコマンドIDによる実行を示します
"File: Cmd-open-settings-by-uri.md":"@010-Templates/Cmd-open-settings-by-uri.md", // "@" はファイル(パス付き)を開くことを示します
//"Other settings":"!open-plugin-settings:open-other-plugin-settings"
};
let aDisplays = Object.keys(oSettingsJson);
let aValues = Object.values(oSettingsJson);
let sValue = await tp.system.suggester(aDisplays, aValues, false, "設定したい項目を選択"); // (displays, values,...)
if (!sValue) return;
const VAULT = "あなたのVault名"; // あなたの実際のVault名に置き換えてください
//console.log(sValue);
if (sValue.startsWith("!")) { // Command ID
sValue = sValue.substring(1);
await app.commands.executeCommandById(sValue);
} else if (sValue.startsWith("@")) { // Open file
sValue = sValue.substring(1);
const oFile = await app.vault.getAbstractFileByPath(sValue)
await app.workspace.getLeaf("tab").openFile(oFile);
} else if (sValue.includes(">")) { // Handle settingsection
let iIndex = sValue.indexOf(">");
let sID = sValue.substring(0, iIndex);
let sSection = sValue.substring(iIndex+1);
window.open("obsidian://advanced-uri?vault=" + VAULT + "&settingid=" + sID + "&settingsection=" + sSection);
} else {
window.open("obsidian://advanced-uri?vault=" + VAULT + "&settingid=" + sValue);
}
-%>
2.2. ホットキーの割り当て
- 設定 → コミュニティプラグイン → Templater を検索 → Templater Hotkeys → 「Add hotkey」で Cmd-open-settings-by-uri を見つけます。
- 設定 → ホットキー → Cmd-open-settings-by-uri を検索し、ホットキー(例:<span class='keybs'>Alt+S</span>)を割り当てます。
3. 操作
- <span class='keybs'>Alt+S</span>を押すと、設定項目を選択するダイアログが表示されるので、いずれかを選択して実行します。
- 「Other settings」を選択すると、Open Settings以外のプラグインメニューがさらに表示されます。
4. 💡 関連リンク
💡 解説記事: https://jdev.tw/blog/8340/
✅ obsidian-open-settings: https://github.com/Lisandra-dev/obsidian-open-settings
✅ Obsidian Advanced URI > Settings Navigation https://vinzent03.github.io/obsidian-advanced-uri/actions/settings_navigation