1
0
mirror of https://github.com/salexdv/bsl_console.git synced 2025-02-15 13:53:04 +02:00

Доработка readme

This commit is contained in:
salexdv 2020-12-19 14:50:47 +03:00
parent 1fa30442b2
commit 7e137497a4

View File

@ -23,6 +23,7 @@
* Всплывающие подсказки для глобальных функций, перечислений и классов
* Подсказки через точку для реквизитов типа справочники/документы
* Подсказки через точку для объектов типа ТаблицаЗначений/Массив/РезультатЗапроса/ДвоичныеДанные и др., в том числе для объектов, полученных через методы других объектов.
* Подсказки для источников и полей в режиме запроса
## Как запускать?
1. Для запуска в браузере достаточно открыть **index.html** из каталога **src**, либо воспользоваться [ссылкой](https://salexdv.github.io/bsl_console/src/index.html)
@ -31,31 +32,51 @@
## Функции для взаимодействия с 1С:Предприятием
### Работа с текстом (кодом)
| Функция | Описание |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
| `setText` | Устанавливает переданный текст в текущую или определенную позицию |
| `updateText` | Полностью заменяет весь текст редактора, игнорируя при этом режим *Только просмотр* |
| `getText` | Возвращает весь текст из окна редактора |
| `eraseText` | Удаляет весь текст редактора |
| `selectedText(text)` | функция без параметров возвращает выделенный текст, с параметром - устанавливает |
| `getSelection` | возвращает [selection](https://microsoft.github.io/monaco-editor/api/classes/monaco.selection.html), аналог GetTextSelectionBounds|
| `setSelectionByLength` | устанавливает выделение, аналог первой сигнатуры SetTextSelectionBounds |
| `setSelection` | устанавливает выделение, аналог второй сигнатуры SetTextSelectionBounds |
| `getLineCount` | возвращает количество строк |
| `getLineContent` | возвращает содержимое строки по её номеру, аналог GetLine |
| `setLineContent` | устанавливает содержимое строки по её номеру, аналог ReplaceLine |
| `getQuery` | Определяет текст запроса в текущей позиции и возвращает его вместе с областью текста |
| `getFormatString` | Определяет текст форматной строки в текущей позиции |
| `findText` | Возвращает номер строки, в которой находится заданный текст |
| `addComment` | Добавляет комментарий к текущему блоку кода |
| `removeComment` | Удаляет комментарий у текущего блока |
### Обновление служебных данных
| Функция | Описание |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
| `updateMetadata` | Обновляет через JSON структуру метаданных (Справочники/Документы/пр.) |
| `updateSnippets` | Обновляет пользовательские сниппеты |
| `updateCustomFunctions` | Обновляет пользовательские функции |
### Управление режимом работы / настройками
| Функция | Описание |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
| `init` | Инициализация редактора с передачей версии платформы |
| `setTheme` | Установка темы редактора `bsl-white`, `bsl-white-query`, `bsl-dark`, `bsl-dark-query` |
| `setReadOnly` | Устанавливает/снимает режим *Только просмотр* |
| `switchLang` | Переключает язык подсказок с английского на русский и обратно |
| `addComment` | Добавляет комментарий к текущему блоку кода |
| `removeComment` | Удаляет комментарий у текущего блока |
| `markError` | Индикация ошибки в указанной строке |
| `findText` | Возвращает номер строки, в которой находится заданный текст |
| `init` | Инициализация редактора с передачей версии платформы |
| `enableQuickSuggestions` | Включает/выключает режим быстрых подсказок |
| `minimap` | Включает/выключает отображение карты кода |
| `enableModificationEvent` | Включает/выключает генерацию события, возникающего при изменении содержимого редактора |
| `addContextMenuItem` | Регистрирует пользовательский пункт контекстного меню и связанное с ним событие |
| `switchQueryMode` | Переключение между режимом запроса и режимом редактирования кода |
### Взаимодействие
| Функция | Описание |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
| `addContextMenuItem` | Регистрирует пользовательский пункт контекстного меню и связанное с ним событие |
| `markError` | Индикация ошибки в указанной строке |
## События, генерируемые редактором для 1С:Предприятия
| Событие | Описание |
| ------------------------------ | --------------------------------------------------------------------------------------------- |
@ -64,6 +85,15 @@
| `EVENT_CONTENT_CHANGED` | При любом изменении содержимого редактора. Вкл/откл через *enableModificationEvent* |
| `EVENT_XXX` | При выборе пользовательского пункта меню. *addContextMenuItem('Мой пункт', 'EVENT_MY')* |
*Перед началом работы с редактором из 1С Предпрития желательно вызвать функцию инициализации и передать в нее текущую версию платформы.*
Пример:
```javascript
init('8.3.18.891');
```
## Продукты, использующие консоль:
* [Infostart Toolkit](https://infostart.ru/journal/news/news/infostart-toolkit-1-3-teper-s-novym-redaktorom-koda-na-baze-monaco-editor_1303095/)
* [Конвертация данных 3 расширение](https://infostart.ru/public/1289837/)
## Проверенные платформы:
* 8.3.15.1830
@ -79,4 +109,4 @@
* Из-за особенностей реализации подсказка через точку для реквизитов ссылочного типа работает только тогда, когда подсказываемый реквизит выбран через Enter
## Благодарности
Выражаю благодарность команде [1c-syntax](https://github.com/1c-syntax) и их [проекту для VSCode](https://github.com/1c-syntax/vsc-language-1c-bsl) за подробное описание внутренних конструкций языка в JSON, а также за коллекцию сниппетов.
Выражаю благодарность команде [1c-syntax](https://github.com/1c-syntax) и их [проекту для VSCode](https://github.com/1c-syntax/vsc-language-1c-bsl) за подробное описание внутренних конструкций языка в JSON, а также за коллекцию сниппетов.