Releases: interactive-data-language/vscode-idl
v3.1.0
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
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
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
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 text42
). 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 avscode
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
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 text42
). 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
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
Expose ability to set environment variables for the IDL process that appears in the debug console
v3.0.2
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
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
Resolve problem starting language server, add a few other features too!