claremacrae / obsidian-divide-and-conquer

An Obsidian plugin that provides commands for bulk enabling/disabling of plugins. Useful for debugging when you have many plugins.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

⚔️ Divide & Conquer

An Obsidian plugin that provides commands for bulk enabling/disabling of plugins and CSS Snippets. This allows you to quickly find which plugins are causing bugs or performance problems. DAC Snippet Demo

How this helps with Debugging

You have a problem with Obsidian and have confirmed that the issue goes away when enabling safe mode. Now, you have to narrow down which plugin misbehaves. The most efficient method for doing so is called "bisecting", meaning that you disable half of the plugins, and depending on whether the issue still occurs or not, you can rule out one half of plugins.

Even though that process is the quickest method of finding the culprit-plugin, it is still quite cumbersome for power users who have 40, 50 or more plugins. Divide & Conquer provides some useful commands for bulk disabling/enabling of plugins, to make the power user's life easier.

Commands Added

For either Plugin/Snippet:

  • Reset - save the current state as the 'original state' (level 1)
  • Restore - return to the original state*
  • Bisect - Disable half of the active items, or if all are active (you're at 'level 0') return to the original state (level 1)
  • Un-Bisect - Undo the last bisection, or enable all plugins if in the original state
  • Re-Bisect - Undo the last bisection, then disable the other half

* After Resetting, DAC won't enable any plugins that you disable manually. Restoring only enables plugins that DAC disabled, and disables any that were already disabled when you last reset

(Note that to be able to fulfill its duty, this plugin will never disable itself. The Hot Reload Plugin will also never be disabled, to avoid interference for developers.)

Settings

The plugin/snippet exclusion is regex enabled, and you can exclude by author or description as well (e.g. 'command palette' to exclude any plugins that modify the command palette) DAC Settings Demo

Installation

The plugin is available via Obsidian's Community Plugin Browser: SettingsCommunity PluginsBrowse → Search for "Divide & Conquer"

Bugs

  • Occasionally, for one reason or another (like updating plugins) a refresh won't be triggered by obsidian and the buttons may dissappear. Clicking on the community plugins tab (or appearance if you're in snippets) triggers the refresh and the buttons reappear. You can also close and reoppen settings.

Credits

Originally created by chrisgrieser aka pseudometa, now maintained by geoffreysflaminglasersword.

About

An Obsidian plugin that provides commands for bulk enabling/disabling of plugins. Useful for debugging when you have many plugins.

License:MIT License


Languages

Language:TypeScript 91.4%Language:Shell 6.8%Language:JavaScript 1.9%