Commit e1b52f84 authored by Tomáš Hájek's avatar Tomáš Hájek
Browse files

Merge branch '95-publish-vscode-extension-in-docs' into 'dux'

Publish page with VSCode extension in docs

See merge request inject/inject-docs!163
parents c724fb3c b7d558fe
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ The INJECT team has prepared an example content that is available to you for the

    - The provided exercise definitions are of definition version 0.23.3 and work only with platform version 4.0.X.
    - The exercise definitions are **incompatible** with the editor.
    - If you want to edit the following exercise definition, you might find our [VSCode Extension](vscode-extension.md) useful.

---

+105 −0
Original line number Diff line number Diff line
<style>
.md-typeset .md-button {
      display: block;
      margin: 0 auto;
      text-align: center;
}
</style>

# Visual Studio Code Extension

## Information

This page contains information about an extension that can be installed in **Visual Studio Code** and used for developing IXP exercise definitions. Visual Studio Code is an enhanced text editor featuring extensive language support, along with options for extensions that can add additional support for specific languages and settings files, such as exercise definitions. The extension provides syntax checking and multiple commands to enhance your design experience and minimize the number of mistakes made during exercise definition editing.

## Installation

[Download Visual Studio Code Extension](https://gitlab.fi.muni.cz/inject/inject-docs/-/raw/dux/files-from-repos/vscode-extension-ixp-definition-1.0.0.vsix?ref_type=heads&inline=false){ .md-button }

1. [Install Visual Studio Code](https://code.visualstudio.com/)
2. In the left pannel click on Extensions icon.
3. In the Extension tab, click on `...` - *Views and More Actions...*.
4. Click `Install from VSIX...`.
5. Select downloaded extension file - *vscode-extension-ixp-definition-1.0.0.vsix*.
6. Install any required extensions - *YAML Language Support by Red Hat*.

**You have successfully installed the extension**

## Features

- Multiple templates (snippets) for parts of the exercise definition:

```
full-config
basic-email
template-email
info-inject
email-inject
objective
activity
questionnaire
q-radio
q-multiple-choice
q-free-form
q-auto-free-form
basic-tool
multi-tool
```

- Instant syntax check for definition version 0.23.3.
- Upgrade of definition syntax from version 0.18.1 to 0.23.3 ([See upgrade manual](../tech/architecture/definitions/upgrade.md)).
- Ignoring of hidden files during definiton zipping ([solves known issue](../known-issues.md/#definition-validation)).
- Support for repository-like definition structure (multiple subdirectories).

### Commands

- Creates a new definition folder with the selected name and prepopulated files like `config.yml` and `channels.yml`

Command: `Create New Definition Folder`

- Zips selected definition to be uploaded to IXP.

Command: `Zip Definition`

- Upgrades definition from version 0.18.1 (Citadel) to 0.23.3 (Dux)

Command: `Upgrade Definition 0.18.1 to 0.23.3`

#### Keybindings

- Zip command - Windows: `Ctrl + Alt + g`, MacOS: `Command + Option + g`
- Open command palette - Windows: `Ctrl + Shift + p`, MacOS: `Command + Shift + p`

## Known Issues

- The Upgrade definition command does not support definitions created in the editor (all the "" needs to be stripped first).
- Snippets are global and work in all files, e.g., questionnaire snippets could be used in `injects.yml`

## Changelog

### 1.0.0

- First working prototype with all the features mentioned below.

### 0.0.4

- Zipping of definition now ignores hidden files starting with ".".

### 0.0.3

- Added command for upgrading definition from version 0.18.1 to 0.23.3 (Citadel to Dux).

### 0.0.2

- Milestone completion for injects.yml turned off
- Enhanced zipping feature for definition
- Added multiplatform zipping
- Enhanced snippets

### 0.0.1

- Minimal working version with syntax check

## License

**MIT license**
+4.34 MiB

File added.

No diff preview for this file type.

+1 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ nav:
    - 05 Reflect:
      - Phase overview: INJECT_process/reflect/overview.md
    - Available definitions: INJECT_process/available-definitions.md
    - VSCode Extension: INJECT_process/vscode-extension.md
  - FAQ: faq.md
  - Changelog: changelog.md
  - Glossary of Terms: glossary-of-terms.md