Skip to content

Commit

Permalink
Merge pull request #234 from salexdv/develop
Browse files Browse the repository at this point in the history
Update master from develop
  • Loading branch information
salexdv authored Sep 15, 2021
2 parents bd144f2 + 3ebfb90 commit 4148c8d
Show file tree
Hide file tree
Showing 18 changed files with 4,407 additions and 3,516 deletions.
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## 0.2.8 (15.09.2021)

### Новое:
* API для загрузки модулей менеджеров и модулей объектов, а также подсказка по ним
* Переход к определению переменных, функций и полей запроса
* Быстрый просмотр определения
* Пользовательский CodeLens

### Улучшения:
* Вызов подсказки параметров метода сразу после его выбора из списка подсказок
* Вставка скобок после выбора метода с без параметров
* Расширен API для взаимодействия с редактором из 1С
* Метод для вставки сниппета
* Определение описания параметров метода при разборе структуры модуля
* Исправлены выявленные ошибки

## 0.2.7 (26.08.2021)

### Новое:
Expand Down
392 changes: 199 additions & 193 deletions README.md

Large diffs are not rendered by default.

81 changes: 41 additions & 40 deletions docs/activation_event.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,42 @@
# Функция *enableSuggestActivationEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_ON_ACTIVATE_SUGGEST_ROW*, которое возникает при активации пункта в текущем списке подсказок.
При выводе подробного описания (CTRL+Space) пункта подсказки генерируется событие *EVENT_ON_DETAIL_SUGGEST_ROW* с аналогичными параметрами.

## Параметры функции
* **enabled** - *boolean*, активность события

## Пример вызова
```javascript
// Включение генерации события
enableSuggestActivationEvent(true);

// Отключение генерации события
enableSuggestActivationEvent(false);
```

## Пример параметров генерируемого события
```json
{
"trigger": "focus",
"current_word": "",
"last_word": "авансовыйотчет",
"last_expression": "документы.авансовыйотчет.",
"focused": "Выбрать",
"rows": [
"Выбрать",
"НайтиПоНомеру",
"НайтиПоРеквизиту",
"ПолучитьДанныеВыбора",
"ПолучитьМакет",
"ПолучитьСсылку",
"ПолучитьФорму",
"ПолучитьФормуВыбора",
"ПолучитьФормуНовогоДокумента",
"ПолучитьФормуСписка",
"ПустаяСсылка",
"СоздатьДокумент"
]
}
# Функция *enableSuggestActivationEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_ON_ACTIVATE_SUGGEST_ROW*, которое возникает при активации пункта в текущем списке подсказок.
При выводе подробного описания (CTRL+Space) пункта подсказки генерируется событие *EVENT_ON_DETAIL_SUGGEST_ROW* с аналогичными параметрами.

## Параметры функции
* **enabled** - *boolean*, активность события

## Пример вызова
```javascript
// Включение генерации события
enableSuggestActivationEvent(true);

// Отключение генерации события
enableSuggestActivationEvent(false);
```

## Пример параметров генерируемого события
```json
{
"trigger": "focus",
"current_word": "",
"last_word": "авансовыйотчет",
"last_expression": "документы.авансовыйотчет.",
"focused": "Выбрать",
"insert_text": "Выбрать",
"rows": [
"Выбрать",
"НайтиПоНомеру",
"НайтиПоРеквизиту",
"ПолучитьДанныеВыбора",
"ПолучитьМакет",
"ПолучитьСсылку",
"ПолучитьФорму",
"ПолучитьФормуВыбора",
"ПолучитьФормуНовогоДокумента",
"ПолучитьФормуСписка",
"ПустаяСсылка",
"СоздатьДокумент"
]
}
```
77 changes: 39 additions & 38 deletions docs/before_suggest_event.md
Original file line number Diff line number Diff line change
@@ -1,39 +1,40 @@
# Функция *enableBeforeShowSuggestEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_BEFORE_SHOW_SUGGEST*, которое возникает перед появлением списка подсказок

## Параметры функции
* **enabled** - *boolean*, активность события

## Пример вызова
```javascript
// Включение генерации события
enableBeforeShowSuggestEvent(true);

// Отключение генерации события
enableBeforeShowSuggestEvent(false);
```

## Пример параметров генерируемого события
```json
{
"trigger": ".",
"current_word": "",
"last_word": "авансовыйотчет",
"last_expression": "документы.авансовыйотчет.",
"rows": [
"Выбрать",
"НайтиПоНомеру",
"НайтиПоРеквизиту",
"ПолучитьДанныеВыбора",
"ПолучитьМакет",
"ПолучитьСсылку",
"ПолучитьФорму",
"ПолучитьФормуВыбора",
"ПолучитьФормуНовогоДокумента",
"ПолучитьФормуСписка",
"ПустаяСсылка",
"СоздатьДокумент"
]
}
# Функция *enableBeforeShowSuggestEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_BEFORE_SHOW_SUGGEST*, которое возникает перед появлением списка подсказок

## Параметры функции
* **enabled** - *boolean*, активность события

## Пример вызова
```javascript
// Включение генерации события
enableBeforeShowSuggestEvent(true);

// Отключение генерации события
enableBeforeShowSuggestEvent(false);
```

## Пример параметров генерируемого события
```json
{
"trigger": ".",
"current_word": "",
"last_word": "авансовыйотчет",
"last_expression": "документы.авансовыйотчет.",
"insert_text": "",
"rows": [
"Выбрать",
"НайтиПоНомеру",
"НайтиПоРеквизиту",
"ПолучитьДанныеВыбора",
"ПолучитьМакет",
"ПолучитьСсылку",
"ПолучитьФорму",
"ПолучитьФормуВыбора",
"ПолучитьФормуНовогоДокумента",
"ПолучитьФормуСписка",
"ПустаяСсылка",
"СоздатьДокумент"
]
}
```
20 changes: 20 additions & 0 deletions docs/custom_code_lenses.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Функция *setCustomCodeLenses*
## Назначение функции
Функция загружает подсказки для CodeLens

## Параметры функции
* **suggestions** - *string*, подсказки в виде JSON-массива, содержащего объекты со следующими полями:
* [lineNumber] - номер строки для вывода подсказки
* [column] - номер колонки
* [text] - текст подсказки

## Пример вызова
```javascript
setCustomCodeLenses(`[
{
"lineNumber": 6,
"column": 10,
"text": "Недопустимое выполнение «внешнего» кода в небезопасном режиме"
}
]`);
```
9 changes: 6 additions & 3 deletions docs/get_metadata_event.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@
## Параметры события
В параметрах события указывается для каких конкретно метаданных невозможно построить подсказку.
Например:
* **справочники** - требуется загрузить через `updateMetadata` структуру справочников. Для увеличения быстродействия можно загрузить только имена справочников, не получая их реквизиты.
* **справочники** - требуется загрузить через [`updateMetadata`](update_metadata.md) структуру справочников. Для увеличения быстродействия можно загрузить только имена справочников, не получая их реквизиты.
* **справочники.номенклатура** - требуется загрузить структуру справочника `Номенклатура`.
* **документы** - требуется загрузить через `updateMetadata` структуру всех документов (можно только имена).
* **документы.авансовыйотчет** - требуется загрузить структуру документа `АвансовыйОтчет`.
* **документы** - требуется загрузить через [`updateMetadata`](update_metadata.md) структуру всех документов (можно только имена).
* **документы.авансовыйотчет** - требуется загрузить структуру документа `АвансовыйОтчет`.
* **module.УправлениеСвойствами** - требуется загрузить через [`parseCommonModule`](parse_module.md) структуру общего модуля `УправлениеСвойствами`.
* **module.manager.документы.авансовыйотчет** - требуется загрузить через [`parseMetadataModule`](parse_metadata_module.md) структуру модуля менеджера документа `АвансовыйОтчет`.
* **module.object.документы.авансовыйотчет** - требуется загрузить через [`parseMetadataModule`](parse_metadata_module.md) структуру модуля документа `АвансовыйОтчет`.
Binary file added docs/img/definition.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions docs/parse_metadata_module.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Функция *parseMetadataModule*
## Назначение функции
Функция для загрузки структуры модуля менеджера или модуля объекта. После успешной загрузки текста модуля, становятся доступны для подсказки все его экспортные процедуры и функции.

## Параметры функции
* **moduleText** - *string*, полный текст модуля
* **path** - *string*, путь к обновляемым данным


## Пример вызова
```javascript
parseMetadataModule('Тект модуля целиком', 'catalogs.items.Номенклатура.manager');
```

## Соответствие между параметрами событиями [`EVENT_GET_METADATA`](get_metadata_event.md) и параметром `path`
#### Правила построения пути к данными
| Параметр события | Путь к данным (path) |
| --------------------------------------------| -------------------------------------------|
| module.manager.справочники.номенклатура | catalogs.items.Номенклатура.manager |
| module.object.справочники.номенклатура | catalogs.items.Номенклатура.object |
| module.manager.справочники.<ИмяОбъекта> | catalogs.items.<ИмяОбъекта>.manager |
| module.manager.документы.расходнаянакладная | documents.items.РасходнаяНакладная.manager |
| module.object.документы.<ИмяОбъекта> | documents.items.<ИмяОбъекта>.object |

Полный список соответствий для построения правильного `path` можно посмотреть в описании функции [`updateMetadata`](update_metadata.md)
79 changes: 40 additions & 39 deletions docs/select_suggest_event.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,41 @@
# Функция *enableSelectSuggestEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_ON_SELECT_SUGGEST_ROW*, которое возникает при выборе пункта из списка подсказок

## Параметры функции
* **enabled** - *boolean*, активность события

## Пример вызова
```javascript
// Включение генерации события
enableSelectSuggestEvent(true);

// Отключение генерации события
enableSelectSuggestEvent(false);
```

## Пример параметров генерируемого события
```json
{
"trigger": ".",
"current_word": "",
"last_word": "авансовыйотчет",
"last_expression": "документы.авансовыйотчет.",
"selected": "Выбрать",
"rows": [
"Выбрать",
"НайтиПоНомеру",
"НайтиПоРеквизиту",
"ПолучитьДанныеВыбора",
"ПолучитьМакет",
"ПолучитьСсылку",
"ПолучитьФорму",
"ПолучитьФормуВыбора",
"ПолучитьФормуНовогоДокумента",
"ПолучитьФормуСписка",
"ПустаяСсылка",
"СоздатьДокумент"
]
}
# Функция *enableSelectSuggestEvent*
## Назначение функции
Функция включает/выключает генерацию события *EVENT_ON_SELECT_SUGGEST_ROW*, которое возникает при выборе пункта из списка подсказок

## Параметры функции
* **enabled** - *boolean*, активность события

## Пример вызова
```javascript
// Включение генерации события
enableSelectSuggestEvent(true);

// Отключение генерации события
enableSelectSuggestEvent(false);
```

## Пример параметров генерируемого события
```json
{
"trigger": ".",
"current_word": "",
"last_word": "авансовыйотчет",
"last_expression": "документы.авансовыйотчет.",
"selected": "Выбрать",
"insert_text": "Выбрать",
"rows": [
"Выбрать",
"НайтиПоНомеру",
"НайтиПоРеквизиту",
"ПолучитьДанныеВыбора",
"ПолучитьМакет",
"ПолучитьСсылку",
"ПолучитьФорму",
"ПолучитьФормуВыбора",
"ПолучитьФормуНовогоДокумента",
"ПолучитьФормуСписка",
"ПустаяСсылка",
"СоздатьДокумент"
]
}
```
3 changes: 2 additions & 1 deletion docs/set_option.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,4 +23,5 @@ setOption("skipInsertSuggestionAcceptor", true);
Позволяет оставить только пользовательские подсказки
* `disableNativeSuggestions` - *boolean*, отключает стандартные подсказки
* `disableNativeSignatures` - *boolean*, отключает стандартные подсказки по вызову процедуры/функции
* `disableNativeHovers` - *boolean*, отключает стандартные всплывающие подсказки при наведении курсора мыши на слово
* `disableNativeHovers` - *boolean*, отключает стандартные всплывающие подсказки при наведении курсора мыши на слово
* `showSnippetsOnCustomSuggestions` - *boolean*, включает показ стандартных сниппетов при выводе пользовательских подсказок через [`showCustomSuggestions`](custom_suggestions.md)
1 change: 1 addition & 0 deletions docs/shortcuts.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
* Прокрутка вверх/вниз `CTRL+Up/Down`
* Сворачивание/разворачивание текущего блока `ALT+SHIFT+[]`
* Переход к строке по её номеру `CTRL+G`
* Переход к определению переменной, функции или поля запроса `F12`. Быстрый просмотр определения возможен при наведении курсора мыши на слово с зажатой клавишей `CTRL`, а также при нажатии `CTRL+F12`.

### Поиск и замена

Expand Down
Loading

0 comments on commit 4148c8d

Please sign in to comment.