Skip to content

Releases: interactive-data-language/vscode-idl

v3.1.0

24 Jul 22:22
Compare
Choose a tag to compare

This releases contains various performance improvements and bug fixes to help resolve issues for some power users.

Changes

Fixed an issue where garbage collection was not turning on and caused out-of-memory errors which led to language server crashes

Added a cache to reduce memory usage for worker threads (large workspaces with 300+ files should use about 50% less RAM). Coincidentally this also improved performance as well.

On startup, a new log statement prints to show the state of garbage collection: idl-lsp info Garbage collection enabled: true

Improved the on-enter commands that automatically continue comment blocks as you type within them. They were close, but not quite there are some rules conflicted with one another so they didn't work right.

Fixed a major performance issue when doing a quick parse of PRO code. For almost 8000 files on a developer machine, we went from 13 seconds down to 3 with a parse rate of 650k lines/second!

For quick parsing, we now also extract docs for your code to give a better hover help and auto-complete user experience with a low impact to performance.

Fixed a bug where the IDL icon was pointing to the wrong file for light themes

Added a new button to the IDL sidebar which allows you to easily specify the location of IDL without needing to rummage through the command palette

Fixed some import bugs if you have an older version of node.js on your path where "performance" was undefined.

3.1.0-preview2

18 Jul 22:09
Compare
Choose a tag to compare
3.1.0-preview2 Pre-release
Pre-release

Further improve non-full-parse parsing to reduce time and memory usage. Here is before/after performance information:

const before = {
  lines: 2252881,
  app_platform: 'win32',
  app_arch: 'x64',
  app_cpus: 20,
  app_ram: 32,
  app_ram_used: 2.5,
  num_workers: 6,
  parse_time: 13.49,
  parse_rate: 167015,
  num_pro: 7816,
  num_save: 830,
  num_idl_task: 15,
  num_envi_task: 0,
  num_idl_json: 0,
};

const after = {
  lines: 2252881,
  app_platform: 'win32',
  app_arch: 'x64',
  app_cpus: 20,
  app_ram: 32,
  app_ram_used: 1.75,
  num_workers: 6,
  parse_time: 7.86,
  parse_rate: 286567,
  num_pro: 7816,
  num_save: 830,
  num_idl_task: 15,
  num_envi_task: 0,
  num_idl_json: 0,
};

3.1.0-preview1

18 Jul 16:41
Compare
Choose a tag to compare
3.1.0-preview1 Pre-release
Pre-release

This preview has several potential fixes for reduced memory usage and is being released as a preview before officially coming out in the next few weeks.


Fixed an issue where garbage collection was not turning on and caused out-of-memory errors which led to language server crashes

Added a cache to reduce memory usage for worker threads (large workspaces with 300+ files should use about 50% less RAM). Coincidentally this also improved performance as well.

On startup, a new log statement prints to show the state of garbage collection: idl-lsp info Garbage collection enabled: true

v3.0.6

17 Jul 21:32
Compare
Choose a tag to compare

3.0.6 - July 2023

Improved message when language server crashes and a button that opens documentation for workarounds for the memory problem

Fixed a problem where we don't properly detect node.js on non-Windows platforms

Fixed a problem where the docs file wasn't being included

Add new preferences for tracking session history! This includes several new features:

  • A new output channel that captures the input and output from your IDL sessions (i.e. print, 42 and the text 42). This output channel is called "IDL: Session History"

  • A system to also write all input and output to a file on disk. You can control:

    • If we write a file on disk or not

    • The folder (default value is ${.idl} which is the path to your .idl folder in your home location with a vscode subdirectory)

    • The name of the file (the extension of ".idllog" gives syntax highlighting when open for improved readability)

    • Size limit for the file which is truncated on start of the language server if it exceeds our limit.

    • If we always clear (truncate) the contents of the file when IDL starts

Add basic variable substitution for the environment preference and the folder for tracking history.

  • This is added as a new link in the docs that is included with the extension

v3.0.6-preview

14 Jul 19:15
Compare
Choose a tag to compare
v3.0.6-preview Pre-release
Pre-release

Add new preferences for tracking session history! This includes several new features:

  • A new output channel that captures the input and output from your IDL sessions (i.e. print, 42 and the text 42). This output channel is called "IDL: Session History"

  • A system to also write all input and output to a file on disk. You can control:

    • If we write a file on disk or not

    • The folder

    • The name of the file

    • Size limit for the file

    • If we always clear (truncate) the contents of the file when IDL starts

Add basic variable substitution for the environment preference and the folder for tracking history.

  • This is added as a new link in the docs that is included with the extension

v3.0.4

08 Jul 18:20
Compare
Choose a tag to compare

When compile_opt is not present with idl2, idl3, or strictarr, delineate between function calls and indexing with parentheses. It won't parse 100% correctly, but it allows us to identify and fix parentheses.

  • New error code (105 with alias "illegal-var-index")

  • Automatically gets fixed when formatting if you have auto-fix enabled (true by default)

v3.0.3

07 Jul 14:44
Compare
Choose a tag to compare

Expose ability to set environment variables for the IDL process that appears in the debug console

v3.0.2

06 Jul 21:45
Compare
Choose a tag to compare

Fixed a bug with documentation being generated when using the VSCode UI

When executing batch files, wrap the path in quotes like compile

When told to start a session of IDL, add button that will let you start IDL from the dialog that appears

v3.0.0

06 Jul 05:48
Compare
Choose a tag to compare

Official release of the extension! See CHANGELOG and main README for more information.

Edit: Update links in README now that extension is posted.

v3.0.0-preview2

05 Jul 21:30
Compare
Choose a tag to compare
v3.0.0-preview2 Pre-release
Pre-release

Resolve problem starting language server, add a few other features too!