llm-agent-plugin/DEBUGGING.md
2026-07-06 01:50:38 +03:00

3.9 KiB
Raw Permalink Blame History

Инструкция по отладке плагина Obsidian

Из-за особенностей Obsidian (загрузка плагинов через eval()), прямая привязка точек останова (Breakpoints) в интерфейсе VS Code часто невозможна. Рекомендуется использовать встроенные инструменты разработчика Obsidian (Chrome DevTools).

1. Подготовка

Убедитесь, что плагин запущен в режиме разработки. Это вшивает карты кода (Source Maps) прямо в файл, позволяя видеть TypeScript вместо скомпилированного JavaScript.

npm run dev

2. Способ «debugger» (рекомендуемый)

Самый надежный способ остановиться в нужном месте кода:

  1. В VS Code добавьте ключевое слово debugger; в нужную строку:
    async onload() {
        debugger; // Выполнение остановится здесь
        console.log("Plugin loaded");
    }
    
  2. В Obsidian откройте консоль разработчика: Ctrl + Shift + I.
  3. Перезагрузите плагин (выключите и включите в настройках или нажмите Ctrl + R в окне консоли).
  4. Obsidian автоматически замерит на этой строке и откроет вкладку Sources с вашим оригинальным .ts файлом.

3. Визуальные точки останова в Obsidian

Если вы не хотите менять код:

  1. Откройте консоль (Ctrl + Shift + I) в Obsidian.
  2. ВАЖНО: Кликните по окну консоли и нажмите Ctrl + R (или Cmd + R) для полной перезагрузки интерфейса. Это очистит кэш Source Maps.
  3. Перейдите на вкладку Sources.
  4. В левой панели навигатора прокрутите в самый низ до появления папки file:// или виртуальной папки с исходниками вашего проекта.
  5. Там будет доступна чистая структура папки src/ со всеми оригинальными .ts файлами. Вы можете открывать их и ставить синие точки останова кликом по номеру строки.

4. Быстрый поиск файлов (Ctrl + P)

Самый верный способ найти ваш файл, если дерево не отображается:

  1. Кликните в любом месте инструментов разработчика Obsidian.
  2. Нажмите Ctrl + P (или Cmd + P).
  3. Введите имя файла, например main.ts — он должен появиться в списке с пометкой [sm] (source map).

5. Если плагин все равно не виден в дереве Sources

Запустите в консоли Obsidian:

app.plugins.plugins["llm-agent-plugin"].constructor

Кликните по результату (ссылке на функцию), и DevTools сам откроет нужный файл исходного кода.

Вспомогательное подключение VS Code

Файл .vscode/launch.json настроен так, что вы можете нажать F5, чтобы видеть логи Obsidian прямо в Debug Console VS Code. Это удобно для чтения ошибок, но ставить точки останова через VS Code все равно не получится — используйте методы выше.