47 lines
3.9 KiB
Markdown
47 lines
3.9 KiB
Markdown
# Инструкция по отладке плагина Obsidian
|
||
|
||
Из-за особенностей Obsidian (загрузка плагинов через `eval()`), прямая привязка точек останова (Breakpoints) в интерфейсе VS Code часто невозможна. Рекомендуется использовать встроенные инструменты разработчика Obsidian (Chrome DevTools).
|
||
|
||
## 1. Подготовка
|
||
Убедитесь, что плагин запущен в режиме разработки. Это вшивает карты кода (Source Maps) прямо в файл, позволяя видеть TypeScript вместо скомпилированного JavaScript.
|
||
```bash
|
||
npm run dev
|
||
```
|
||
|
||
## 2. Способ «debugger» (рекомендуемый)
|
||
Самый надежный способ остановиться в нужном месте кода:
|
||
1. В VS Code добавьте ключевое слово `debugger;` в нужную строку:
|
||
```typescript
|
||
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:
|
||
```javascript
|
||
app.plugins.plugins["llm-agent-plugin"].constructor
|
||
```
|
||
Кликните по результату (ссылке на функцию), и DevTools сам откроет нужный файл исходного кода.
|
||
|
||
## Вспомогательное подключение VS Code
|
||
Файл `.vscode/launch.json` настроен так, что вы можете нажать **F5**, чтобы видеть логи Obsidian прямо в **Debug Console** VS Code. Это удобно для чтения ошибок, но ставить точки останова через VS Code все равно не получится — используйте методы выше.
|