Skip to content

Latest commit

 

History

History
473 lines (269 loc) · 16.8 KB

CHANGELOG.md

File metadata and controls

473 lines (269 loc) · 16.8 KB

Change Log

v0.6.4

  • Update intellisense help content for Content items and CopyToXXXDirectory global item metadata (#148).

v0.6.3

v0.6.0

  • Extension startup time has been improved.
  • The MSBuild language server now runs on .NET 8.
  • Isolated runtime for the language server is back, so users no longer need to have a specific version of .NET to be installed to be able to use the extension.

v0.5.3

v0.5.2

  • Revert usage of the vscode-dotnet-runtime extension (#89 - isolated runtimes are problematic if you want to use global SDKs).

v0.5.1

  • Temporary roll-back from v0.5.0 to v0.4.5 (#137).

v0.5.0

  • The .NET runtime, required to run the language server, is now acquired using the vscode-dotnet-runtime extension as a dependency (so you don't need to have that specific version of .NET on your machine installed to use the extension)
  • All completion are now shown by default
  • Basic integration with redhat.vscode-xml extension is now provided, so you can use its features for msbuild language
  • Language server, packed with the extension, is now built in release mode
  • Extension bundle size has been significantly optimized
  • Dependencies have been updaded to address known security vulnerabilities

v0.4.9

v0.4.8

v0.4.7

v0.4.6

  • Simplify logic for detecting .NET host version (#99).

v0.4.5

  • Improve parsing of output from dotnet --info (#98).

v0.4.4

  • Always roll forward to the latest (stable) installed version of the runtime (#90).
  • Mark extension as a workspace extension to enable correct behaviour in remote scenarios (#99).

0.4.3

  • Fix ArgumentNullException from NuGet client library when requesting package version completions (#91).

0.4.0

0.3.16

0.3.15

0.3.14

  • Correctly handle preview versions of the .NET SDK when discovering MSBuild instances (#74).

0.3.13

  • Improve detection logic for .NET host version during extension startup (#73).

0.3.12

0.3.11

0.3.10

v0.3.8

  • Completions now correctly replace trigger characters, if any (#67).

v0.3.7

  • Explicitly watch parent process for termination (#53).

v0.3.6

  • Update MSBuild engine packages to v16.5.0 (#66).

v0.3.4

  • Add IntelliSense for GenerateDocumentationFile property (#60).

v0.3.3

  • Use v16.4.0 of the MSBuild engine (#59).

v0.3.2

v0.3.1

v0.2.55

v0.2.54

v0.2.53

v0.2.52

  • Add UserSecretsId to well-known properties (#48).

v0.2.51

  • Use correct MSBuild SDK folder for .NET Core 3.0 and newer (#46).

v0.2.50

  • Enable per-workspace override of MSBuildExtensionsPath and MSBuildExtensionsPath32 (#35).

v0.2.49

  • Prevent "dotnet --info" hanging when its output is larger than the process STDOUT buffer (#42).

v0.2.47

  • Improvements to logging during startup (#42).

v0.2.46

  • Log configured package sources when initialising a project document (#44).

v0.2.45

  • Handle localised output from dotnet --info (#43).

v0.2.44

  • Fix bug in parsing of extension settings.

v0.2.43

v0.2.42

  • Initial support for flattened (path-based) extension settings (tintoy/msbuild-project-tools-server#7).
  • Start removing file-system hyperlinks from hover tooltips, since VS Code no longer renders them correctly.

v0.2.41

  • Use latest stable version of NuGet.Configuration to add support for encrypted credentials in NuGet.config (#39).

v0.2.39

  • Further improvements to log output (especially for project-load failures; exceptions from invalid project XML are only logged when configured log level is Debug or Verbose).

v0.2.38

v0.2.37

v0.2.36

v0.2.35

  • Produce cleaner stack-traces using Demystifier.

v0.2.34

v0.2.33

  • Correctly handle parsing of MSBuild expressions where the root expression is an unquoted string (i.e. composite expression including one or more string-literal text sequences).

v0.2.32

  • Expression support is no longer experimental!

v0.2.31

  • Ensure package Ids and version appear before other completion types in PackageReference elements / attributes.

v0.2.30

  • Add completion for IsPackable property.

v0.2.29

  • Bug-fix: Language server process fails to terminate correctly on Linux (#36).

v0.2.28

  • Add completion for LangVersion property.
  • Improve metadata completions for Content items.
  • Wait for Exit notification before terminating server process (#36).

v0.2.27

  • LSP library's logging now uses configured logging level.

v0.2.26

  • Implement completion for XML comments.

v0.2.25

  • Implement completion for top-level <Import> element.

v0.2.24

  • Make ASP.NET core snippets version-specific by @doggy8088 (#32).
  • Implement default value(s) for well-known property completions (#31).

v0.2.23

  • Use latest version of OmniSharp LSP libraries (improves stability and diagnostic capabilities).

v0.2.22

  • Improve MSBuild snippets by @doggy8088 (#30).

v0.2.21

  • Add MSBuild snippets by @doggy8088 (#28).

v0.2.20

v0.2.19

  • Bug-fix: Completions don't always work correctly in .props files (#27).
  • Use latest OmniSharp LSP packages.

v0.2.18

v0.2.17

  • Add completions for item elements.
  • Split out language server from VS Code extension.
  • Never auto-show output window on messages from language server (#25).

v0.2.16

  • Bug-fix: language server does not correctly report server capabilities when first initialised (#22).

v0.2.15

  • Add support for passing language service configuration in InitializeParams.InitializationOptions (#17).

v0.2.14

  • Offer element completions, when appropriate, in whitespace or element text (#15).
  • Improve completion behaviour.
  • Improve performance of element and attribute completions for tasks in Target elements.

v0.2.13

  • Bug-fix: attribute completions are erroneously offered when creating a new element under an ItemGroup element (#21).

v0.2.12

  • Simplify extension / language-service configuration schema.
    The extension will automatically upgrade settings in the legacy format (i.e. ones without 'schemaVersion': 1), but now ignores the old msbuildProjectFileTools configuration section.
  • Bug-fix: completions for item metadata expressions being offered when only completions for item group expressions should be offered.
  • Bug-fix: NullReferenceException when listing completions for item group expressions.
  • Bug-fix: restore missing hover tooltip for SDK-style project import.
  • Bug-fix: metadata names in unused item groups are always named "Identity".

v0.2.11

  • Diagnostics indicating invalid project contents or XML now have a range covering the whole element or attribute (where possible).

v0.2.10

  • Bug-fix: Extension won't load, after changes for #18, if no configuration was specified (restore configuration defaults).

v0.2.9

  • Add command (NuGet: toggle pre-release) to toggle NuGet pre-release packages and package versions on / off (#18).

v0.2.8

  • Experimental: Add completions for task elements based on task types declared in the project.
  • Experimental: Add completions for task attributes based on task types declared in the project.
  • More testing on MacOS and Linux.
  • Experimental: Parsing of MSBuild item transform expressions.
  • Experimental: Add experimental feature flag (empty-completion-lists) to enable returning empty completion lists rather than null
    Fixes #17.
    We can't do this by default because our extension depends on VSCode's behaviour when null is returned vs an empty completion list (when null is returned, no completion list is displayed; when an empty completion list is returned, purely-textual completions are displayed based on current file contents).
    This behaviour is mainly to support clients other than VSCode (e.g. aCute).

v0.2.7

  • Add setting to control which types of objects from the current projects are included when offering completions.
  • Experimental: Add completions for qualified and unqualified item metadata expressions (%(XXX.YYY) and %(YYY)).

v0.2.6

  • Bug-fix: attribute completions should be available on elements that don't currently have any attributes.
  • Bug-fix: go-to-definition should also work for regular-style project imports (not just SDK-style imports).
  • Experimental: Add completions for MSBuild property and item expressions ($(XXX) and @(XXX)).

v0.2.4

  • Bug-fix: missing completions for top-level elements (e.g. <PropertyGroup>, <ItemGroup>, <Target>).
  • Improve help for well-known items and their metadata.
  • Bug-fix for #11 (should not fail on non-standard file extension).

v0.2.3

  • Add help for well-known elements, attributes, properties, and item types from MSBuild.*.xsd to improve completions and tooltips-on-hover.
  • Improve completions for attributes that refer to target names.

v0.2.2

  • Add completions for attributes that refer to target names.

v0.2.1

  • Add completions for top-level elements (e.g. <PropertyGroup>, <ItemGroup>, <Target>).
  • Add completions for property elements (both common and locally-defined).
  • Improve language-service internals (more consistently accurate comprehension of project contents).

v0.2.0

  • Improved completions:
    • Add completions for PackageReference and DotNetCliToolReference.
    • Add completions for common item attributes.
    • Add completions for property Condition elements.
    • Support for logging to Seq.
      Only useful if you're hacking on the language service itself.

v0.1.12

  • Sort package versions in descending order for classic completion provider, too.
    If you prefer the old behaviour, you can set msbuildProjectTools.nuget.newestVersionsFirst to false.

v0.1.11

  • Sort package versions in descending order.
    If you prefer the old behaviour, you can set msbuildProjectTools.nuget.newestVersionsFirst to false.

v0.1.10

  • Improve tooltip content when hovering on MSBuild XML.
  • Enable jumping from PackageReference element to package on NuGet.org.

v0.1.9

  • Add specific hover tooltip for Condition attributes.

v0.1.8

  • Add basic syntax-highlighting for expressions in MSBuild projects (currently only supported in attribute values).
  • Improve delay on first completion of PackageReference by asynchronously warming up the NuGet client.

v0.1.7

  • Add configuration setting to disable tooltip-on-hover.
  • Add configuration setting to control logging verbosity.

v0.1.6

  • Actually enable the language server by default (sorry about that).

v0.1.5

  • Language server is now enabled by default.
  • Improve calculation of line / column offsets.

v0.1.4

  • Provide intellisense for regular-style and SDK-style imports whose conditions evaluate to false.
  • Respect the user's nominated version of the .NET Core tooling to use when loading master projects (equivalent to running dotnet --version in the solution directory, this respects global.json if present).

v0.1.3

  • Provide intellisense for items whose conditions evaluate to false.
  • Show information about conditions on hover for items and properties.

v0.1.2

  • Handle Import elements that give rise to multiple imported projects (this already worked correctly for SDK-style imports).
  • Initial support for master and sub projects.

v0.1.1

  • Use a patched version of Microsoft.Language.Xml that behaves correctly in non-windows environments (issues with CR vs CRLF line-endings).
  • Improve tooltips on hover.

v0.1.0

  • Fix handling of non-windows line endings.

v0.1.0-rc1

  • Fix cross-platform path handling.

v0.1.0-beta2

  • More informative tooltips on hover
  • Handle multiple items originating from a single item group element in the XML.
  • Improved error handling

v0.1.0-beta1

  • Implement go-to-definition for project-style and SDK-style imports.
  • Detect .NET Core version on startup, and fall back to classic completion provider if >= 2.0.0 is not available.

v0.1.0-alpha2

  • Add configuration property (msbuildProjectFileTools.languageService.enable) to switch between MSBuild language engine and classic completion provider.

v0.1.0-alpha1

  • The extension now uses a language server based on Microsoft's Language Server Protocol.
  • Tooltips for MSBuild objects in the project file.
  • Support for any configured (remote) package source.
    We're using the new NuGet client libraries so it should understand global, solution-local, and project-local package sources.
  • Highly-improved handling of project files with broken or invalid XML (thanks to Microsoft.Language.Xml).

v0.0.2

  • Resolve the URL for the NuGet v3 AutoComplete API at extension startup.

v0.0.1

  • Initial release.