Skip to content

0.48.5

Compare
Choose a tag to compare
@Prince781 Prince781 released this 19 Jun 01:47
· 29 commits to master since this release

what's new

This release contains many new features and improvements. Please note, many of these new features require a supporting IDE. For VS Code and derivatives, you must install version 1.0.8 or later of the Vala extension.

code formatting

VLS can now format your code—either an entire source file or a selection. uncrustify must be installed for this to work.

vls-formatting.mp4

code actions / suggested fixes

VLS can now suggest fixes to your code. Currently we have two actions:

implement all prerequisites

vls-implement.mp4

convert integer to a different base

vls-baseconvert.mp4

There are many more actions we plan to add!

call hierarchy

VLS can now answer queries about the call graph of a method.

vls-callhierarchy.mp4

inlay hints

VLS will now show hints at special places in your code. VLS will hint the types of variables with inferred types (if they are nontrivial), the arguments of a function, and will show the types of parameters in anonymous functions.

before

Screenshot from 2022-06-18 21-34-10

after

Screenshot from 2022-06-18 21-33-30

type hierarchy

VLS can now answer queries about the type hierarchy of a data type.

vls-typehierarchy.mp4

improvements

introduce file metadata cache (f38b3b2)

VLS will avoid recompiling your project on the slightest change. If the compilation target's exported API does not change after a modification (for example, you only change a method implementation), then we can avoid recompiling other build targets that depend on the modified target, since the .vapi will be unchanged. This saves considerable time in large Vala projects with many build targets, such as Shotwell and Geary.

render a symbol reference in documentation with a link to valadoc.org

VLS will now render a link to the relevant ValaDoc page for each symbol mentioned in documentation.

before

Screenshot from 2022-06-18 21-45-44

after

Screenshot from 2022-06-18 21-45-03

other improvements

  • make it easier to use VLS as a Meson subproject by @esodan in #231
  • add packaging status badge to README by @benwaffle in #234
  • add wraps for some dependencies, allowing VLS to be built without json-glib, jsonrpc-glib, and libgee installed on the system (484465d)

fixes

  • mesonproject: refine custom compiler search by @Prince781 in #247
  • fix crash, if an invalid file is sent by the client. by @JCWasmx86 in #245
  • added ability to use local uncrustify config by @ErikReider in #243
  • fix use-after-free when processing GIR documentation (75f399c)
  • improve code completion and signature help for generics and async methods (d86b98c)
  • support rendering @since taglet in documentation (ef22ab2)

Full Changelog: 0.48.4...0.48.5