Skip to content

Commit

Permalink
Release v0.6.0
Browse files Browse the repository at this point in the history
Release v0.6.0
  • Loading branch information
beatrizserrano committed Sep 12, 2021
2 parents 9e4e6a9 + 1e0f753 commit b5e6e32
Show file tree
Hide file tree
Showing 9 changed files with 84 additions and 160 deletions.
103 changes: 3 additions & 100 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,6 @@ This project has the following main goals:
- [Using the project](#using-the-project)
- [Contributing](#contributing)
- [Features](#features)
- [Tag and attribute auto-completion](#tag-and-attribute-auto-completion)
- [Documentation on Hover](#documentation-on-hover)
- [Document validation](#document-validation)
- [Document auto-formatting](#document-auto-formatting)
- [Tag auto-closing](#tag-auto-closing)
- [Snippets](#snippets)
- [Embedded syntax highlighting](#embedded-syntax-highlighting)
- [Auto-generate tests](#auto-generate-tests)
- [Auto-generate command section](#auto-generate-command-section)
- [Auto-sort param attributes](#auto-sort-param-attributes)
- [Run planemo tests in the Test Explorer](#run-planemo-tests-in-the-test-explorer)
- [Improved macros support](#improved-macros-support) _New feature!_ :rocket:

# Getting Started

Expand All @@ -51,93 +39,8 @@ To setup your development environment, please check [this guide](docs/CONTRIBUTI

# Features

You can watch a short video with a tour of some of the features of the Galaxy Tools extension here:
For a complete list of features [check this section](client/README.md#features).

[![Galaxy Tools features video](https://img.youtube.com/vi/MpPrgtNrEcQ/0.jpg)](https://www.youtube.com/watch?v=MpPrgtNrEcQ)

## Tag and attribute auto-completion

![Demo feature auto-completion](../assets/feature.autocompletion.gif)

The tags and attributes are suggested based on the [Galaxy.xsd](https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/xsd/galaxy.xsd) schema. They will appear in the same order as they are declared in the schema to comply with the best practices recommendations defined in the [Galaxy IUC Standards Style Guide](https://galaxy-iuc-standards.readthedocs.io/en/latest/best_practices/tool_xml.html?#coding-style).

## Documentation on Hover

![Demo feature hover documentation](../assets/feature.hover.documentation.gif)

The documentation of tags and attributes is retrieved from the [Galaxy.xsd](https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/xsd/galaxy.xsd) schema.

> Please note that some elements in the schema are still missing documentation. This will probably be improved over time.
## Document validation

![Demo feature validation](../assets/feature.validation.png)

The tools are also validated against the [Galaxy.xsd](https://github.com/galaxyproject/galaxy/blob/dev/lib/galaxy/tool_util/xsd/galaxy.xsd) schema.

## Document auto-formatting

![Demo feature auto-formatting](../assets/feature.autoformat.gif)

When the tool file is saved it gets auto-formatted to maintain a consistent format with the [Galaxy IUC Standards Style Guide](https://galaxy-iuc-standards.readthedocs.io/en/latest/best_practices/tool_xml.html?#coding-style).

## Tag auto-closing

![Demo feature auto-close tags](../assets/autoCloseTag.gif)

Whenever you write a closing (`>`), the corresponding closing tag will be inserted. You can also type `/` in an open tag to close it.

## Snippets

![Demo snippets](../assets/snippets.gif)

Snippets can be really helpful to speed up your tool wrapper development. They allow to quickly create common blocks and let you enter just the important information by pressing `tab` and navigating to the next available value.

> If you want to add more snippets check the [guide](./docs/CONTRIBUTING.md#adding-snippets) in the contribution guidelines.
## Embedded syntax highlighting
You can also watch a (somewhat old) short video with a tour of some of the features of the Galaxy Tools extension here:

![Demo feature embedded syntax highlighting](../assets/feature.embedded.syntax.png)

Basic support for `Cheetah` and `reStructuredText` syntax highlighting inside the `<command>`, `<configfile>` and `<help>` tags. The embedded code should be inside a `CDATA` block.

## Auto-generate tests

![Demo feature auto-generate tests](../assets/feature.generate.tests.gif)

After you define the `<inputs>` and `<outputs>` of the tool, you can press `Ctrl+Alt+t` (or `Cmd+Alt+t` in Mac) to create a `<tests>` section with a basic structure and some test cases. This is especially useful when using conditionals and other nested parameters since you can get right away most of the boilerplate XML. You can always change the key bindings to your personal preference, see [the documentation](https://code.visualstudio.com/docs/getstarted/keybindings).

## Auto-generate command section

![Demo feature auto-generate command section](../assets/feature.generate.command.gif)

Similar to the [auto-generate tests](#Auto-generate-tests) command, but this time it will generate boilerplate `Cheetah` code for the `<command>` section.

## Auto-sort param attributes

![Demo feature auto-sort param attributes](../assets/feature.sort.param.attributes.gif)

Now you can automatically sort the attributes of param elements according to the [IUC Coding Style guidelines](https://galaxy-iuc-standards.readthedocs.io/en/latest/best_practices/tool_xml.html#coding-style) using a key-shortcut or the command palette. This can be done for each `<param>` element individually or for the full document.

## Run planemo tests in the Test Explorer

![Demo feature planemo tests explorer](../assets/feature.planemo.testing.png)

You can now run `planemo test` for the currently opened tool directly from the `Test Explorer`.

- The tests are automatically discovered by the `galaxy-language-server` when you open a tool or save the document (this can be controlled by the settings).
- You can then run all the tests from the `Test Explorer` by using `planemo test` in the background. Currently running individual tests is not supported as AFAIK `planemo` does not have an option to do so at the moment.
- After successfully running the tests, the results will be displayed in a convenient way directly on your source XML.

The failing tests will be marked in red and the reason for failure can be seen directly beside the test definition in the same line or more detailed in the `Output`. You can also directly navigate to each of the tests XML source from the `Test Explorer`.
This can be very convenient especially when having a large number of tests in your tool.

## Improved macros support

Since version `0.5.0` we added some interesting features around the use of macros. For example, you can now better troubleshoot validation errors caused by some included macro. The error messages will be more detailed and you can even navigate to a `expanded` version of the tool to see what the real tool document look like and what was causing the error.

![Demo feature expanded macros](../assets/feature.expanded.macros.gif)

There are also a lot of features around macros auto-completion. You can now navigate to `macro` and `token` definitions with `F12` or get dynamic attribute auto-completion with parametrized macros and more.

![Demo feature macros support](../assets/feature.macros.support.gif)
[![Galaxy Tools features video](https://img.youtube.com/vi/MpPrgtNrEcQ/0.jpg)](https://www.youtube.com/watch?v=MpPrgtNrEcQ)
98 changes: 53 additions & 45 deletions client/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,153 +1,161 @@
# Galaxy Tools (VS Code Extension) Changelog

## [0.6.0] - 2021-09-12

### Changed

- The settings contains now an `extraParams` value to customize and pass extra parameters to `planemo` when running tests inside the IDE ([#164](https://github.com/galaxyproject/galaxy-language-server/pull/164)).

- Updated Galaxy Language Server [v0.6.0](./server/CHANGELOG.md#060)

## [0.5.3] - 2021-07-09

### Fixed

- The `galaxy_root` setting validation now checks for the existence of `<galaxy_root>/lib/galaxy` instead of relying on how the root directory is named. ([#158](https://github.com/galaxyproject/galaxy-language-server/pull/158)).
- The `galaxy_root` setting validation now checks for the existence of `<galaxy_root>/lib/galaxy` instead of relying on how the root directory is named. ([#158](https://github.com/galaxyproject/galaxy-language-server/pull/158)).

### Changed

- Updated Galaxy Language Server [v0.5.3](./server/CHANGELOG.md#053)
- Updated Galaxy Language Server [v0.5.3](./server/CHANGELOG.md#053)

## [0.5.2] - 2021-06-08

### Fixed

- Duplicated CodeActions for the same expand document command ([#152](https://github.com/galaxyproject/galaxy-language-server/pull/152)).
- Duplicated CodeActions for the same expand document command ([#152](https://github.com/galaxyproject/galaxy-language-server/pull/152)).

- The expanded document preview was not updating with the source document changes ([#148](https://github.com/galaxyproject/galaxy-language-server/pull/148)).
- The expanded document preview was not updating with the source document changes ([#148](https://github.com/galaxyproject/galaxy-language-server/pull/148)).

### Changed

- Updated Galaxy Language Server [v0.5.2](./server/CHANGELOG.md#052)
- Updated Galaxy Language Server [v0.5.2](./server/CHANGELOG.md#052)

## [0.5.1] - 2021-06-03

### Changed

- Updated Galaxy Language Server [v0.5.1](./server/CHANGELOG.md#051)
- Updated Galaxy Language Server [v0.5.1](./server/CHANGELOG.md#051)

- Updated development dependencies ([#142](https://github.com/galaxyproject/galaxy-language-server/pull/142)).
- Updated development dependencies ([#142](https://github.com/galaxyproject/galaxy-language-server/pull/142)).

- Include new installation troubleshooting entry in the readme for `pip module not found` error ([#141](https://github.com/galaxyproject/galaxy-language-server/pull/141)).
- Include new installation troubleshooting entry in the readme for `pip module not found` error ([#141](https://github.com/galaxyproject/galaxy-language-server/pull/141)).

## [0.5.0] - 2021-05-13

### Added

- New Planemo Explorer configuration view ([#125](https://github.com/galaxyproject/galaxy-language-server/pull/125)).
- New Planemo Explorer configuration view ([#125](https://github.com/galaxyproject/galaxy-language-server/pull/125)).

- Command to generate the expanded version of a tool document ([#128](https://github.com/galaxyproject/galaxy-language-server/pull/128)).
- Command to generate the expanded version of a tool document ([#128](https://github.com/galaxyproject/galaxy-language-server/pull/128)).

### Changed

- Improved error diagnostics when validating a tool with problems in the referenced macro files ([#128](https://github.com/galaxyproject/galaxy-language-server/pull/128)).
- Improved error diagnostics when validating a tool with problems in the referenced macro files ([#128](https://github.com/galaxyproject/galaxy-language-server/pull/128)).

- All dependencies were updated, including `vscode-languageclient` to version `7.0.0` which required some changes ([#130](https://github.com/galaxyproject/galaxy-language-server/pull/130)).
- All dependencies were updated, including `vscode-languageclient` to version `7.0.0` which required some changes ([#130](https://github.com/galaxyproject/galaxy-language-server/pull/130)).

- Updated Galaxy Language Server [v0.5.0](./server/CHANGELOG.md#050)
- Updated Galaxy Language Server [v0.5.0](./server/CHANGELOG.md#050)

## [0.4.1] - 2021-02-27

### Added

- After running the tests from the Test Explorer a link to the full HTML test report will appear in the output console ([#122](https://github.com/galaxyproject/galaxy-language-server/pull/122)).
- After running the tests from the Test Explorer a link to the full HTML test report will appear in the output console ([#122](https://github.com/galaxyproject/galaxy-language-server/pull/122)).

### Changed

- Various improvements in the installation process. Lightweight extension bundle, remember selected Python binary on updates, and less repeated notifications ([#120](https://github.com/galaxyproject/galaxy-language-server/pull/120)).
- Detach client and server versions. Now both versions can evolve independently ([#119](https://github.com/galaxyproject/galaxy-language-server/pull/119)).
- Hide command and view contributions when the extension is not active. This will make the commands and the planemo explorer icon visible only if the extension is active and not all the time ([#117](https://github.com/galaxyproject/galaxy-language-server/pull/117)).
- Various improvements in the installation process. Lightweight extension bundle, remember selected Python binary on updates, and less repeated notifications ([#120](https://github.com/galaxyproject/galaxy-language-server/pull/120)).
- Detach client and server versions. Now both versions can evolve independently ([#119](https://github.com/galaxyproject/galaxy-language-server/pull/119)).
- Hide command and view contributions when the extension is not active. This will make the commands and the planemo explorer icon visible only if the extension is active and not all the time ([#117](https://github.com/galaxyproject/galaxy-language-server/pull/117)).

## [0.4.0] - 2021-02-15

### Added

- New settings to integrate [planemo](https://github.com/galaxyproject/planemo) and run `planemo test` inside [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) for the currently opened tool documents ([#110](https://github.com/galaxyproject/galaxy-language-server/pull/110)).
- New settings to integrate [planemo](https://github.com/galaxyproject/planemo) and run `planemo test` inside [Test Explorer UI](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer) for the currently opened tool documents ([#110](https://github.com/galaxyproject/galaxy-language-server/pull/110)).

- Commands to reorder `<param>` attributes (in a single tag `Ctrl+Alt+s Ctrl+Alt+p` or the whole document `Ctrl+Alt+s Ctrl+Alt+d`) according to the IUC Style Guidelines ([#104](https://github.com/galaxyproject/galaxy-language-server/pull/104)).
- Commands to reorder `<param>` attributes (in a single tag `Ctrl+Alt+s Ctrl+Alt+p` or the whole document `Ctrl+Alt+s Ctrl+Alt+d`) according to the IUC Style Guidelines ([#104](https://github.com/galaxyproject/galaxy-language-server/pull/104)).

### Fixed

- Display error notification when a code generation command fails ([#113](https://github.com/galaxyproject/galaxy-language-server/pull/113)).
- Display error notification when a code generation command fails ([#113](https://github.com/galaxyproject/galaxy-language-server/pull/113)).

### Changed

- Update gx-tool snippet to latests IUC best practices ([#94](https://github.com/galaxyproject/galaxy-language-server/pull/94)).
- Updated Galaxy Language Server [v0.4.0](./server/CHANGELOG.md#040)
- Update gx-tool snippet to latests IUC best practices ([#94](https://github.com/galaxyproject/galaxy-language-server/pull/94)).
- Updated Galaxy Language Server [v0.4.0](./server/CHANGELOG.md#040)

## [0.3.2] - 2021-01-24

### Changed

- Minor improvements in snippets ([#101](https://github.com/galaxyproject/galaxy-language-server/pull/101)).
- Updated Galaxy Language Server [v0.3.2](./server/CHANGELOG.md#032)
- Minor improvements in snippets ([#101](https://github.com/galaxyproject/galaxy-language-server/pull/101)).
- Updated Galaxy Language Server [v0.3.2](./server/CHANGELOG.md#032)

## [0.3.1] - 2021-01-09

### Added

- New snippet for bio.tools `xrefs` ([#87](https://github.com/galaxyproject/galaxy-language-server/pull/87/files)).
- New snippet for bio.tools `xrefs` ([#87](https://github.com/galaxyproject/galaxy-language-server/pull/87/files)).

### Changed

- Updated Galaxy Language Server [v0.3.1](./server/CHANGELOG.md#031)
- Updated Galaxy Language Server [v0.3.1](./server/CHANGELOG.md#031)

## [0.3.0] - 2021-01-01

### Added

- Custom language definition (XML dialect) for Galaxy Tool Wrapper files and basic embedded language syntax highlighting (`Cheetah` and `reStructuredText`) ([#79](https://github.com/galaxyproject/galaxy-language-server/pull/79)).
- A custom command (`Ctrl+Alt+c`) to auto-generate the `<command>` section with boilerplate Cheetah template based on the current `inputs` and `outputs` defined in the tool ([#77](https://github.com/galaxyproject/galaxy-language-server/pull/77)).
- A custom command (`Ctrl+Alt+t`) to auto-generate `<test>` cases based on the current `inputs` and `outputs` defined in the tool ([#73](https://github.com/galaxyproject/galaxy-language-server/pull/73)).
- New snippets for common `param` definitions ([#71](https://github.com/galaxyproject/galaxy-language-server/pull/71/files)).
- Custom language definition (XML dialect) for Galaxy Tool Wrapper files and basic embedded language syntax highlighting (`Cheetah` and `reStructuredText`) ([#79](https://github.com/galaxyproject/galaxy-language-server/pull/79)).
- A custom command (`Ctrl+Alt+c`) to auto-generate the `<command>` section with boilerplate Cheetah template based on the current `inputs` and `outputs` defined in the tool ([#77](https://github.com/galaxyproject/galaxy-language-server/pull/77)).
- A custom command (`Ctrl+Alt+t`) to auto-generate `<test>` cases based on the current `inputs` and `outputs` defined in the tool ([#73](https://github.com/galaxyproject/galaxy-language-server/pull/73)).
- New snippets for common `param` definitions ([#71](https://github.com/galaxyproject/galaxy-language-server/pull/71/files)).

### Changed

- Updated Galaxy Language Server [v0.3.0](./server/CHANGELOG.md#030)
- Updated Galaxy Language Server [v0.3.0](./server/CHANGELOG.md#030)

## [0.2.1] - 2020-11-22

### Changed

- The installation process of the language server now provides more feedback to the user ([#65](https://github.com/galaxyproject/galaxy-language-server/pull/65)).
- Updated Galaxy Language Server [v0.2.1](./server/CHANGELOG.md#021)
- The installation process of the language server now provides more feedback to the user ([#65](https://github.com/galaxyproject/galaxy-language-server/pull/65)).
- Updated Galaxy Language Server [v0.2.1](./server/CHANGELOG.md#021)

## [0.2.0] - 2020-11-13

### Added

- Settings to control completion features ([#56](https://github.com/galaxyproject/galaxy-language-server/pull/56)).
- Auto indent on new line ([#52](https://github.com/galaxyproject/galaxy-language-server/pull/52))
- Settings to control completion features ([#56](https://github.com/galaxyproject/galaxy-language-server/pull/56)).
- Auto indent on new line ([#52](https://github.com/galaxyproject/galaxy-language-server/pull/52))

### Changed

- Updated Galaxy Language Server [v0.2.0](./server/CHANGELOG.md#020)
- Updated Galaxy Language Server [v0.2.0](./server/CHANGELOG.md#020)

## [0.1.2] - 2020-10-25

### Changed

- Updated Galaxy Language Server [v0.1.2](./server/CHANGELOG.md#012)
- Change icon background to dark.
- Updated Galaxy Language Server [v0.1.2](./server/CHANGELOG.md#012)
- Change icon background to dark.

### Fixed

- Fix error preventing the language server to start or install in Unix systems ([#49](https://github.com/galaxyproject/galaxy-language-server/pull/49)).
- Fix error preventing the language server to start or install in Unix systems ([#49](https://github.com/galaxyproject/galaxy-language-server/pull/49)).

## [0.1.1] - 2020-10-24 [YANKED]

### Changed

- Updated Galaxy Language Server [v0.1.1](./server/CHANGELOG.md#011).
- Improved language server installation.
- Updated some dependencies.
- Updated Galaxy Language Server [v0.1.1](./server/CHANGELOG.md#011).
- Improved language server installation.
- Updated some dependencies.

## [0.1.0] - 2020-10-14

### Added

- Support for Galaxy Language Server [v0.1.0](./server/CHANGELOG.md#010).
- Auto-installation of language server in the extension's virtual environment.
- [Snippets](./client/src/snippets.json) for basic tool scaffolding.
- Support for Galaxy Language Server [v0.1.0](./server/CHANGELOG.md#010).
- Auto-installation of language server in the extension's virtual environment.
- [Snippets](./client/src/snippets.json) for basic tool scaffolding.
Loading

0 comments on commit b5e6e32

Please sign in to comment.