- Fix colorisation when declaring abstract member with generics types (Thanks @MangelMaxime!)
- allow operator symbols after a double slash (Thanks @dawedawe!)
- Update to FSAC 0.68.0. Check out the release notes for more details. (Includes F# 8 support!)
- Update to FSAC 0.67.0. Check out the release notes for more details.
- Adds setting for FullNameExternalAutocomplete, Fix PipelineHint localization, Fix sending lines to fsi (Thanks @Tangent-90!)
- Forward env variables in test debugging (Thanks @farlee2121!)
- Update to FSAC 0.66.1. Check out the release notes for more details.
- Updated the F# syntax grammar to pick up fixes for backticked namespace and module names, let struct syntax highlights, and customer operators/doc comments. (Thanks @dawedawe and @MangelMaxime!)
- Added a deprecation message to
FSharp.inlayHints.enabled
in favor ofeditor.inlayHints.enabled
.
- Update to FSAC 0.65.0. Check out the release notes for more details.
- Don't offer to reference the target project when adding a project reference (Thanks @dawedawe!)
- Update to FSAC 0.64.1. Check out the release notes for more details.
- Add command to restart language service (Thanks @sheridanchris!)
- Test Runner: Xunit theory filter (Thanks @farlee2121!)
- Test Runner: Fixing XUnit Theory Test Detection (Thanks @farlee2121!)
- Test Runner: Fix running tests on zsh (Thanks @TheAngryByrd!)
- Update to FSAC 0.64.0. Check out the release notes for more details.
- Default to RoslynSourceText (Thanks @TheAngryByrd!)
- Prefill the file dialog with the old name when renaming a file (Thanks @dawedawe!)
- Escape special characters when building test filters (Thanks @Numpsy!)
- Update to FSAC 0.63.1. Check out the release notes for more details.
- Fix regression of AutoDiscoverTestsOnLoad behavior (Thanks @farlee2121!)
- Add a leading space to the default prefix in LineLens.config (Thanks @Numpsy)
- Make LineLens.configChangedHandler update the config directly, instead of through a ref (Thanks @Numpsy)
- check user provided string for any content before renaming file to it (Thanks @dawedawe!)
- Adds Test debugging support (Thanks @farlee2121!)
- Update to FSAC 0.63.0. Check out the release notes for more details.
- A little cleanup in src/Components (Thanks @dawedawe!)
- Reduce Friction Contributing (Thanks @stroborobo!)
- Suffix location matching in test explorer (Thanks @farlee2121!)
- Add setting to turn off test discovery on workspace load (Thanks @farlee2121!)
- Show package names only once (Thanks @dawedawe!)
- Updates FSAC to 0.62.0 - bringing the language features and tooling enhancement from the 7.0.400 SDKs to Ionide.
- A massive enhancement to the test explorer integration was contributed by @farlee2121! Thank you! This new version uses the
dotnet test
listing as the source of truth, and allows go-to-definition. - Update vscode-helpers to have better termination on all platforms.
- Disable GCHeapCount and GCNoAffinitize for net6.0 (Thanks @TheAngryByrd!)
- Adds GCNoAffinitize setting (Thanks @TheAngryByrd!)
- Updates FSAC to 0.61.1. Check out the release notes for more details.
- Adds Garbage Collector settings (Thanks @TheAngryByrd!)
- Updates FSAC to 0.61.0. Check out the release notes for more details.
- Fixed Inline type hints don't update accurately (Thanks @TheAngryByrd!)
- Updates FSAC to 0.60.1, which brings enhancements to the XML Documentation codefix as well as new settings for optimizing the built-in Analyzers and text handling. Check out the release notes for more details.
- Fixes running FSAC on .NET 8 preview SDKs
- Adds VSCode settings for the new FSAC features listed above.
- Adds a default association of
msbuild
for project files, which enables discovery of msbuild VSCode extensions to guide users to install them. We highly suggest the TinToy Project Tools extension for working with project files.
- Updates FSAC to 0.60.0, which updates the compiler services to match .NET SDK 7.0.300, and includes a helpful XMLDoc generation codefix. Check out the release notes for more details.
- Includes fixes to the syntax highlighting from @jkillingsworth for constructor parens, the
new
keyword, access modifiers, arrow coloration,:
in abstract member definitions,()
in unit literals, and more!
- Fix debug settings to not override coreclr from omnisharp.
- Update Ionide TextMate grammar to pick up some fixes (Thanks @jkillingsworth!)
- Update to FSAC 0.59.6 to get all the delightful new features and fixes. You can check the release notes for 0.59.6.
- Default to Adaptive LSP server!
- Support using locally-built FSAC binaries more easily.
- Don't overload FSAC with signature request. (thanks @TheAngryByrd)
- Add a bunch of code snippets for F# (thanks @TheAngryByrd!)
- Enhance how examples are shown in tooltips, and include command links that open Info Panel (thanks @MaximeMangel!)
- Update to FSAC 0.59.4 to get all the delightful new features and fixes. You can check the release notes for 0.59.2, 0.59.3 and 0.59.4 for more details.
- Update Test Explorer feature to detect more kinds of test cases, and to nest them more reliably. Thanks @kojo12228 for digging into that!
- Ionide should now support running on the .NET 8 previews, if you have those installed.
- 'Related files' are now nested underneath their source files. By default this means that .fsi, .fs.js, and .fs.js.map files will be grouped with their matching .fs file in the tree, as will .fsi and .fs files with .fsl files, and .fsi and .fsi files with .fsy files. If you'd like to expand on this, check out the
explorer.fileNesting.patterns
setting! Thanks to @MangelMaxime for the work here! - Adding and removing files can now be done on folders, not just files. It can also be done from the Solution Explorer in a more correct way. Thanks again to @MangelMaxime for taking that on!
- Also relating to file management - if there are errors doing this you'll now see them in a pop up notification, again courtesy of @MangelMaxime. @MangelMaxime for President!
- @TheAngryByrd added support for for the
FSharp.fsac.cachedTypeCheckCount
property, which you can use to help control how much memory is dedicated to keeping typecheck results around. This defaults to 200, which should be good for small-to-medium sized projects.
Same as 7.5.0, but republished to fix an issue with publishing.
- Update FSAC to 0.59.1 to get support for F# 7 and other fixes
- Introduce new config option
FSharp.inlineValues.[enabled, prefix]
to migrate fromFSharp.pipelineHints.[enabled, prefix]
- Add support for OpenTelemetry-based tracing of the LSP and compiler service usages - set
"FSharp.openTelemetry.enabled"
totrue
and start up a collector (setting theOTEL_EXPORTER_OTLP_ENDPOINT
ahead of time if necessary) and it all should just light up! - Add a new flag
FSharp.fsac.conserveMemory
that if set will tell the compiler to be more aggressive about reclaiming memory. Trades off lower memory use for increase CPU use. - Fix an error that was uncaught when some configuration settings changed (thanks @vain0x!)
- Add a new flag
FSharp.fsac.parallelReferenceResolution
to control if FSAC will use the new-in-F# 7 parallel reference resolution features. Should provide a speed up of project load times. - For the FSI watcher use Inline Values APIs instead of rolling our own decorations
- Update FSAC to 0.59.1 to get support for F# 7 and other fixes
- Introduce new config option
FSharp.inlineValues.[enabled, prefix]
to migrate fromFSharp.pipelineHints.[enabled, prefix]
- Add support for OpenTelemetry-based tracing of the LSP and compiler service usages - set
"FSharp.openTelemetry.enabled"
totrue
and start up a collector (setting theOTEL_EXPORTER_OTLP_ENDPOINT
ahead of time if necessary) and it all should just light up! - Add a new flag
FSharp.fsac.conserveMemory
that if set will tell the compiler to be more aggressive about reclaiming memory. Trades off lower memory use for increase CPU use. - Fix an error that was uncaught when some configuration settings changed (thanks @vain0x!)
- Add a new flag
FSharp.fsac.parallelReferenceResolution
to control if FSAC will use the new-in-F# 7 parallel reference resolution features. Should provide a speed up of project load times. - For the FSI watcher use Inline Values APIs instead of rolling our own decorations
- Update FSAC to 0.58.4 to get adaptive LSP server performance enhancements.
- Fix rendering of the reload command (thanks @dawedawe!)
- Include error stack traces in test failures inside the Test Explorer (thanks @kojo12228!)
- Prevent excessive resource usage inside of git comparisons of F# files (thanks @vain0x!)
- Update FSAC to 0.58.2 to get fixes for assembly reference resolution on .NET 7.
- Update FSAC to 0.58.1 to get adaptive performance fixes, proj-info fixes, and file-deletion fixes
- process FSharpSignatureData requests serially instead of in parallel to prevent choking the server
- Update and use FSAC 0.58.0 to get the new experimental adaptive mode.
- Update VSCode bindings to fix add and remove file commands
- Update and use FSAC 0.57.4 to fix crashes in diagnostics
- Update and use FSAC 0.57.3 to fix crashes in codefixes
- Group discovered tests by namespace (thanks @kojo12228!)
- Many, many fixes to the add and remove files functionality (thanks @MangelMaxime!)
- Added support for gitpod (thanks @purkhusid!)
- Update and use FSAC 0.57.2 to pick up many fixes, especially for .net 6 and .net 7 SDK support. Changes can be seen at the release notes for 0.57.0, 0.57.1, and 0.57.2.
- Update FSAC to 0.56.2 for these changes
- Removed unused FAKE configuration settings and handler code
- Massively improve error messages when dotnet isn't found (thanks @MangelMaxime!)
- Improve FSI management (thanks @MangelMaxime!)
- Fix solution explorer icons for solutions and projects (thanks @MangelMaxime!)
- Fix logic in 'add file to project' (thanks @MangelMaxime!)
- Fix hangs on double-backticked identifiers (thanks @MangelMaxime!)
- Remove custom inlay hints implementation
- Remove FAKE Targets Outline (it was disabled for a while)
- Remove F# Literate integration (it was disabled for a while)
- Remove
Remove File
command from UI - Add VSC UI Toolkit and improve UI of FSI Watcher
- Trust markdown comming from FSAC
- Small improvements to general command handling (new
when
clauses) - Fix: Implement Interface emits members without indentation when user hasn't specified
FSharp.indentationSize
- Fix Reference CodeLenses
- Update to VSCode-LanguageClient 8.0
- Update to new version of fsgrammar
- Update FSAC to 0.56.0 to get these (0.55.0) and these changes (0.56.0)
- Fix the FSI watcher value extraction to not break with the new FSI multi-emit in .NET 6.0.2xx or 6.0.3xx.
- Update FSAC to 0.54.0 to get crash fixes and API changes
- Allow several features to work on untitled documents
- Update FSAC to 0.53.2 get updated fantomas tools integration
- Remove type hint insertion due to flakiness
- Fixed inlay hint toggle configuration to account for VSCode moving our cheese
- Type parameter inlay hints can be clicked to apply the parameter annotation
- Tooltips for inlay hints with instructions and links on how to configure them
- Update FSAC to 0.53.0 to get these changes
- Update FSAC to 0.52.1 to support cross-language project references and .NET SDK workloads
This is a Major Version update of Ionide! The headline features for this release include
- integrated support for VSCode Tasks for build actions
- integrated support for VSCode Launch Configurations for debugging
- Inlay Hints for types and parameter names
- A new Test Explorer integration
- Much improved completion support
- and a host of other minor UX fixes
- FsAutocomplete version 0.52.0: https://github.com/fsharp/FsAutoComplete/releases/tag/v0.52.0
This version requires .NET 6 at minimum in order to run. We made this decision because .NET 5 is going out of support in early May 2022.
Find out more about the new features as always over on the website: https://ionide.io/Editors/Code/overview.html
- Update FSAC to 0.51.0 to pick up
textDocument/signatureHelp
fixes and a new CodeFix for converting DU match cases from positional to named patterns.
- Update FSAC to 0.50.1 to pick up completion fixes and diagnostics fixes
- Update Ionide.FsGrammar to get fixes for multiline comment tokenization
- Better error reporting in the initial extension startup pipeline
- Update Fable and supporting libraries
- Update FSAC to version 0.50.0 to get fixes
-
Changed
- Update Fantomas.Client to prefer stable versions (Thanks @nojaf)
- Moved to use the Ionide.LanguageServerProtocol shared nuget package
-
Fixed
- Sourcelink's go-to-definition works better on windows for deterministic paths
- Fix missing commas in Info Panel generic type signatures (Thanks @jcmrva!)
- Fix off-by-1 error in the negation-to-subtraction codefix (Thanks @jasiozet!)
-
- Add config setting for server trace so that we have better autocomplete for that when requesting logs.
- Clean up and fix Ionide diagnostics
- Update FSAC to version 0.49.5 to get fixes for
- Fantomas.Client updates
- Background services caches
- Enable the Info Panel feature for F# scripts
- Update the embedded grammar file
- Update FSAC to version 0.49.4 to get fixes for:
- Fix regression in cross-project support after FCS 40 update in
proj-info
- Better handling of file typechecking after FCS 40 update
- Fix background service
- Fix File System
- Fix regression in cross-project support after FCS 40 update in
- Update FSAC to version 0.49.1 to get fixes for
- code lenses displays
- Update FSAC to version 0.49.0 to get support for .Net 6 and F# 6
- Change the smart-indent support to allow users to delete indents one level at a time (thanks @Tasiro!)
- Update FSAC to version 0.48.1 to get fixes for
- Fantomas.Client integration
- Fix icons for solutions, projects, and references (thanks @sharno!)
- Update FSAC to version 0.48.0 to get fixes for
- xmldoc handling in tooltips
- using user-specified fantomas instead of a bundled version
- Fix bug in windows CLI calls (thanks @alfonsogarciacaro)
- Update Fable dependencies
- Update FSAC to version 0.47.2 to get fixes for
- dotnet new template parsing
- Don't provide completions or tooltips for string literals of all kinds
- this enables better integrations with html/sql/css extensions powered by then Highlight HTML/SQL templates in F# extension.
- Fix terminal initialization failure introduced in 5.7.0
- Update FSAC to version 0.47.1 to get fixes for
- error handling around Fantomas formatting
- automatically run FSAC under the .net 6 runtime if the project supports .net 6
- either a global.json that declares .Net 6 SDKs, or
- no global.json and a latest installed version of .Net 6
- Update FSAC to version 0.47.0 to get fixes for
- allowing to run on .net 6
- 'dotnet new' template loading
- Fantomas update to 4.5.0
- 'workspace/applyEdit' data type fixes
- remove a bunch of legacy mono config options that were no longer being used
- BUGFIX: republish 5.5.8 with lockfile additions so that FSAC is actually updated
- Update FSAC to version 0.46.7 to get fixes for
- RemoveUnusedBinding codefix
- UnusedValue codefix
- 'textDocument/codeAction' parameter values
- Fix parsing of multiple log category filters (thanks @Booksbaum)
- Update FSAC to version 0.46.5 to get fixes for
- better diagnostics reporting with more error codes and help links
- Update FSAC to version 0.46.4 to get fixes for
- the 'open namespace' codefix/completion item
- the way function-typed parameters are rendered
- fantomas updates
- fsharplint reenablement
- Update FSAC to version 0.46.0 get fixes for
- fsharp/signature endpoint
- analyzer support
- 2 new codefixes
- Update FSAC to get improved semantic token highlighting
- Update FSAC to get improved edge-case detection logic in several endpoints
- Update FSAC to get improved logic in
textDocument/signatureDate
- Update FSAC to fix a regression in
textDocument/completions
- Update FSAC:
- Update Unused Binding CodeFix to handle more cases
- Enable faster typechecking when signature files are present for a module
- Happens transparently, but is mutually exclusive with analyzers.
- Fix the display of units of measure in tooltips (float<m/s> instead of float<MeasureInverse<MeasureProduct<.....>>>)
- Much better experience for signature help for function applications and method calls
- Update the Generate Abstract Class CodeFix to work for abstract classes that aren't defined in F#
- Update FSAC:
- performance updates for project cracking
New options
FSharp.enableMSBuildProjectGraph
- Enables experimental support for loading workspaces with MsBuild's ProjectGraph. This can improve load times. Requires restart.
- Update FSAC:
- FCS 39
- Improved project cracking for dotnet SDK 5.0.200 and up
- Add publishing support for Open VSIX marketplace
- Update FSAC:
- LSP support for semantic highlighting
- improvements to workspace/symbol
- Update Fable to 3.X
- Only send FSharpDocumentation request when panel is open
- Don't start debug if build has failed
- Solution explorer: Compile order and better support for directories
- Update FSAC:
- Improve semantic highlighting
- Re-enable
.binlog
generation - Add additional path normalization to handle some edge cases in Windows
- Improve
.fsproj
mainpulation commands - Update
ProjInfo
to0.46
- Add server requests in LSP implementation
- Handle potential exception in HighlightingProvider activation (GitPod)
- Update FSAC:
- Improve memory usage in Background Service
- Improve memory usage in main process by removing AST from internal cache
- Update Fantomas to 4.4 prerelease
- Don't parse
.fs
files that don't belong to.fsproj
- Enable initial support for directly opened
.fsx
files
- Update FSAC:
- Update FCS to 38.0.2
- fixes #r issues in scripts
- Update FCS to 38.0.2
- Update FSAC:
- Update DPI to 0.45.1
- Update Fable to 2.X
- Update FSAC:
- Update to .NET 5 runtime
- Update to FCS 38
- Implement fsproj watcher
- Implement fsproj editing
- Add range selection provider
- Add many new code fixes
- Default to .NET SDK for script typechecking
- Port to new version of dotnet-proj-info
- Update Fantomas to 4.3
- Background service will now remove symbol cache entries from non-existing files
- Improvements to pipeline hints
- Remove choice of FSAC runtime
- Remove option to pick MsBuild host
- Remove watcher on fsproj files
- Remove some old commands that have better alternatives nowadays
- Remove some not needed code, and general cleanup
- Remove Forge
- Use
dotnet fsi
as default - Use background service as default
- Use reference code lenses as default
- Improve solution explorer:
- Add support for C# projects
- Display referenced NuGet packages
- Fix bugs with displayed project references
- Update FSAC:
- update dotnet-proj-info
- update fantomas to v4
- implement pipeline hints
- add fsx files to
normalizePath
- Implement pipeline hints
- Update FSAC:
- update fantomas to v4 beta 2
- update to FCS 37 (string interpolation supported, see this thread for instructions on how to try it out)
- fix a bug in FSX script reference resolution
- Update FSAC:
- update fantomas to v4 beta 1
- go-to-definition for external types
- linter suggestion code actions are fixed
- initial literate programming integration via FSharp.Formatting
- Update FSAC:
- add go-to (F12) for
#load
- improvements in autocomplete
- add go-to (F12) for
- Update FSAC:
- Update FSharpLint rule url
- Support sourcelink for F# dependencies
- Update FSAC:
- Fixes to
FSharpProject
command
- Fixes to
- Update -o prompt message with dotnet ne
- Fix error propagation for failed standalone project requests
- Update FSAC:
- Fix signature help off by one
- Fix path issue in windows (caching content for fsx files)
- Preserve order of params, exceptions und type args in tool tips
- Handle notifications about
.csproj
correctly - Add fsi setting for .NET SDK
FSharp.fsiSdkFilePath
- Add GenerateBinlog config
- Update FSAC:
- Try improve project loading to use internal DPI cache
- Add GenerateBinlog config
- Update to latest Fantomas
- Update to latest
dotnet-proj-info
- huge performance improvements
- Fix type of
FSharp.addFsiWatcher
setting - Update FSAC:
- Performance fix for the projects with more than 2 p2p references
- Update FSAC:
- Add integration with the extendable
#r
- Add support for
#r nuget
- Update to FCS 35.0
- Update
dotnet-project-info
, Fantomas (4.0 preview), and FSharpLint - Add caching for
FSharpProjectOptions
for script files - Fix floats being reported with random generic parameter
- Use
system.runtime
members instead ofenvironment
for determining platform
- Add integration with the extendable
- Add semantic highlighting
- Update FSAC:
- add support for semantic highlighting
- update Fantomas to 3.3.0
- Update FSAC:
- support loading project with overridden
BaseIntermediateOutputPath
- support loading project with overridden
- Recognize .gitignore paths that contain slashes at the start or the end.
- Update to latest version of LSP client
- Update FSAC:
- fix default SDK root path for Linux
- Add notification if
.gitignore
doesn't contain.ionide
and.fake
- Add notification if FSAC is run on .Net Core but
useSdkScripts
is not enabled - Add FSI Watcher
- Use new documentation parser
- Generate documentation using xmldocs rather than
- Update FSAC:
- new documentation parser
- Update FsGrammar definition
- Update FSAC:
- Update FCS to 34.1.1
- Update FSharp.Analyzers.SDK to 0.4
- Update FAKE integration
- Update FSAC:
- Update FSharp.Analyzers.SDK (FCS 34.1)
- Update FSAC:
- Use prerelease version of Fantomas (FCS 34.1)
- Update FsGrammar definition
- Update FSAC:
- Update FCS to 34.0
- Update dotnet-proj-info to 0.38
- Update FsLint to 0.13.3
- Infrastructure - update build process and dependencies
- Update Forge - add
rollForward
- Update FSAC:
- Update FSharp.Analyzers.SDK to 0.3.0
- Update FSI references version-finding algorithm to probe packs dir as well as runtimes dir
- Allows analyzer paths to be absolute
- Fix return type in signatures in documentation formatter
- Introduce new logger
- Update Fantomas to 3.2.0
- Lot of small bug fixes and code improvements (thanks @forki)
- Solution explorer - Add .fs file extension if needed
- FSAC
dotnet new
integration, replace Forge scaffolding - Update FSAC:
- Fix issues with importing files in scripts by relative path
dotnet new
integration
- Add support for untitled files
- Update FSAC:
- Add support for untitled files
- Update FSAC:
- Normalize path before serching in state in background service
- Update FSAC:
- Fix off-by-one on doc formatting
- Using Fantomas 3.2 beta and reading the config file.
- Update FSAC:
- Update FSharp.Analyzers.SDK to 0.2
- Update FSAC:
- Fix a bug regarding
.fsx
files with new ProjectSystem (internal)
- Fix a bug regarding
- Update FSAC:
- Update to FCS 33
- Update to Fantomas 3.1
- Fix
<Note>
display in autocomplete - Pick .Net Core TFM for scripts based on the runtime we detect
- Support
--load
and--use
directives for F# scripts - Reimplement F# Analyzers support
- Refactor ProjectSystem (internal)
- Update FSAC:
- Fix how we assign FSI options
- Fix struct tuple rendering
- Update FSAC:
- Fix
array
formatting with tuples - More fixes to
.fsx
files
- Fix
- FSI - no longer chunk messages because underlying node lib is better
- Set/pick up configured dotnet root
- Fix logic around dotnet detection on Ionide startup
- fix FSI spawning logic when the user is .net sdk but lacks .net framework
- Update FSAC:
- Fix issue with
[]
formatting in signatures - update
.fsx
references logic - remove old stdio protocol
- Fix issue with
- Update FSAC:
- fix problem with resolving dependencies for
.fsx
files - add experimental support for the formatting documents (Fantomas integration)
- add experimental support for
dotnet fsi
(FSharp.useSdkScripts
setting) - fix double ticked display names in tooltips problems
- fix problem with resolving dependencies for
- Add
packages
folder to ignored directories in project search - show project items
- update FSAC:
- remove redundant text from lint warning and assign them a code
- Show opens suggestions beofre use fully qualified names
- handle null initializationOptions
- Add gitignore component (disabled for now)
- Update FSAC:
- Fix the URI problem on Windows
- Update grammar definition
- Workaround SQLite native dependency on .Net Framework runtime.
- Update grammar definition
- Update FSAC:
- Fix the error duplication workaround
- Update FSAC:
- FCS 30 - performance fixes for the spelling suggestions in error messages
- enable spelling suggestions in error messages
- fix Background Service on the
net
+ Windows. - improvements in FAKE support
- Add
FSharp.fsac.netExePath
to enabled debugging withnet
version of FSAC
- Use LSP as communication protocol with FSAC
- Use Dotnet.ProjInfo.Workspace as only way to parse project files
- Use .Net Core version of Forge
- Remove
workspaceMode
setting - we always use FSAC based search to detect projects or solutions in workspace - Remove
workspaceLoader
setting - we always use FSAC workspace based project loading. - Set
fsacRuntime
tonetcore
by default - recommended way of using Ionide 4.0 is running it on .Net Core. .Net SDK is only strict requirement. - Remove
logLanguageServiceRequests
andlogLanguageServiceRequestsOutputWindowLevel
settings - due to the fact Ionide is really thin layer we now use LSP based logging (hidden setting:"FSharp.trace.server":"verbose"
) and additional FSAC logging (verboseLogging
) - Remove
toolsDirPath
setting - it was never used anyway - Set
externalAutocomplete
tofalse
by default - first of all the feature was not working too well (often inserting the repeated namespaces), secondly it caused responsiveness problems (just due to the fact it was huge number of suggestions on even small projects - it turns out there are lot of entities in .Net Framework) - Replace
enableBackgroundSymbolCache
setting withenableBackgroundServices
and set it totrue
by default - there has been huge FSAC refactoring around Background Service that should positively impact Ionide responsiveness (potential cost is RAM usage) - Set
enableReferenceCodeLens
totrue
by default - asenableBackgroundServices
istrue
by default, we can enable additional Code Lenses as well. - Remove
customTypecheckingDelay
setting - Remove
disableInMemoryProjectReferences
setting F#: New Project
command now creates F# Core projects- Improve support for FAKE scripts
- Add FAKE Target outline for FAKE scripts
- Fix document symbol not displaying childs of top module/namespace
- Add FSDN command
- Add "Diable notification" to the project parsing failed in all cases
- Fix rename of symbols using qualified identifier
- Fix styling of parameter hints
- Add progress notification for MsBuild operations
- Add SelectionRange provier
- Update FSAC:
- fix Go-to-Symbol-in-Workspace
- SelectionRange backend
- Replace "not in project warning" with status bar indicator
- Ensure "Not in project" warning show when it should
- Add Declared Types to the panel
- Update FSAC
- Add missing config for FSharp.notifyFsNotInFsproj
- Show project loading error notifications only for fsproj
- Fix run command
- Add Info Panel feature
- Update FSAC:
- FCS 28.0
- go-to-implementation backend
- Implement go-to-implementation feature
- Tweak the configuration matrix to stop bugging users about their life choices (FSAC runtime setting)
- Have the suggestions give action buttons that the user can click to set the fsacruntime values
- Prompt users to reload after changing runtime
- Remove
fsharp.MoveFileUp/Down
default keybindings - Remove
outputChannels
from contribution points - Updte DocumentSymbolProvider to DocumentSymbol API
- Add progress notification for background restore
- Add notification for the .fs file not in .fsproj
- Add disable notification button to Project parsing failed error message
- Allow users to set a configurable FSAC url
- Update FSAC to 0.37.0:
- performance improvements
- support for Anonymous Records
- Update Dotnet.ProjInfo to 0.31 for improved project loading and detection
- Minor fixes (typos etc.)
- Only display smart indent notification if affected
- Upgrade to VS Code's webview API and fix show project status
- Improve the error message if the error is about SDK version
- Add automatic restore retry for any failure that's not caused by
dotnet restore
- Remove duplicate openProjectFile icon when project not restore
- Add icon to see the status of failed project
- Do not consider all NetCore projects as executable
- Switch the Get Help URL to the new website
- Automatic restore retry only for the SDK projects
- Add interface stub generation
- Fix build script - FSharp.Compiler.Service.ProjectCrackerTool path
- Add Open Collective link to readme
- Remove CodeOutline feature
- Enable LineLens by default when CodeLens is disabled
- Use fsiAnyCpu when getting FSI path from FSAC
- Enable auto reveal of solution explorer
- update .NET branding
- Add node_modules to default excludeProjectDirs
- Add smart indent support
- Update FSAC - updated FSharpLint, fix
.fsx
support onnetcore
runtime.
- Fix file watchers that doesn't consider
FSharp.excludeProjectDirectories
- Automatically show terminal used for debugging
- Add more info to the solution explorer
- Try to fix project loading race condition
- Save default solution to workspace configuration
- Nicer display for the solution picker
- Make sure projects are loaded on the plugin startup (additional fix for project loading race condition)
- Show project explorer on startup (
FSharp.showExplorerOnStartup
) - Update grammar definition
- Add option to control TouchBar integration (
FSharp.enableTouchBar
)
- Format output type in CodeLenses correctly
- Fix wrong namespace suggestion
- Add autocomplete for # directives
- Add custom delay for the type checking (
FSharp.customTypecheckingDelay
) - Remove unnecessary logging
- package.json: small grammar improvements
- Reword Multiple Target Framework warning
- Handle autocomplete open insert correctly
- Fix CodeLens reference counter bug
- Fixes and workaround for the ProjectCracker - result of investigating FSAC behavior on visualfsharp/FSharp.sln
- Add support for disabling in-memory project references
- Add to tooltip type description if the symbol is constructor
- Support keywords in helptext command (keyword documentation in autocomplete)
- Update grammar definition
- Improvements for the getting started UX (error messages about mono/.Net SDK etc)
- Fixed too aggressive parameter hints bug
- Autocomplete improvements - fixed autocomplete for literal values
- EXPERIMENTAL. Add custom analyzers support
- EXPERIMENTAL. Enable references code lenses with
FSharp.enableReferenceCodeLens
. Requires experimentalFSharp.enableBackgroundSymbolCache
- Add
.fable
folder to excluded folders by default - Fix parameter hints
- Fix MSDN query link
- Update FSAC - VS 2017 breaking changes
- Update Grammar
- restore behavior of FSharp.fsiFilePath
- Improved the word pattern regex.
- Normalize leading space for docs tooltips
- Ionide code base refactoring to follow F# style guidelines
- Update FSAC - VS 2017 breaking changes
- Make tooltips nicer - make sure that XML docs are converted correctly to the markdown, various fixes around signatures formatting, minimize module signature
- Update Fable.HtmlConverter
- Fix release process for updated version of FSAC.
- Add navigation to external definitions (decompiled C# code)
- EXPERIMENTAL Enable background symbol cache with
FSharp.enableBackgroundSymbolCache
- Split logging from symbol cache to its own output channel
- Handle
[Debug]
output from FSAC
- Use hint instead of information for record stub action
- Add debuncing for record stub generation
- Make sure record stub is checked only for F# files
- Add setting for disabling failed project notifications
FSharp.disableFailedProjectNotifications
- Update FSAC - latest FCS, F# 4.5, performance fixes, background symbol caching
- Add notifications if project loading or parsing failed
- Improve tooltip display
- Implement RecordStubGenerator and fix UnionCaseGenerato
- Add ability to send text to FSI through command arguments
- Use Unnecessary tag for unused declaration
- Use Unnecessary tag for unused opens
- Update dependencies - grammar fixes
- Even more grammar fixes
- Fix launcher detection (.Net Core vs normal exe)
- More grammar fixes
- Update FSAC - better Paket integration
- Update grammar
- Fix process spawn bug
- Update gramar
- Update FSAC - make sure we don't start background project parsing if it's turned off
- Update FSAC - latest FCS (nightly)
- Update grammar
- Update Fable dependencies to latest
- Add HTML to Elmish
- Update deps - multiple F# grammar fixes and markdown highlighting for comments
- Update FSAC - fix helptext caching bug
- Update deps - F# grammar fix
- Improve SignatureData generation + auto comment in doc comment section
- Update FSAC - fix for abstract member and member override signatures
- Use a different ID for views in the fsharp activity container
- Inline icons in solution explorer
- Update FSAC - fixes to workspace load
- Add "fast" build to the API
- Add an F# activity in the left bar
- Fix undefined error in QuickInfoProject
- Fix project explorer - node id
- Update FSAC - fixes to workspace load performance
- Make workspace load default project loader mode
- Update FSAC - fix code lens signatures for getters.
- Fix
F#: Get Help
command - Fix
Go-to
command - don't navigate to files that don't exist - Update FSAC - constrains in tooltips
- Update grammar - small fixes
- Use VSCode native icontheme support
- Fix proxy problem
- Ensure QuickInfo is hidden on non F#
- Only use log levels that exists
- Reflect the log levels on the dev console
- Avoid infinite restore loops
- Put the ;; on the next line when sending code to FSI when there's a comment
- Fix code outline for fsx files starting with
namespace global
- Fix
Get Log
command - Fix
New Project
command - empty directory
- If a restore failed don't enter an infinite loop
- Tweak silentcd & friends in FSI
- Fix forge path quotting.
- Remove notify printfn
- Update FSAC - latest FCS - lower memory usage
- Remove Expecto integration
- Fix Forge integration with whitespaces in path
- Update FSAC - latest FCS - lower memory usage
- Update FSAC - latest FCS
- Support for F# SDK 10.1
- Update Forge - should fix Forge startup problem
- Fix startup behaviour
- Update to latest FCS
- Add JSON schema for WebSharper config file
- Update LineLenses settings
- Use rename when replacing PascalCase literals
- Some fixes to CodeOutline UX
- Add diagnostic commands
- Update Forge
- Fix run Expecto tests unquoted project file path
- Update FSAC - try to fix ValueTupple.dll error
- Set
cwd
for build in debugger settings
- Update FSAC - update F# Core to latest
- Add project info on status bar
- Fix rename QuickFix with backtick members
- Fix resolving namespaces
- Better sorting of autocomplete suggestions
- Better autocomplete for keywords
- Don't provide autocomplete in comments, strings, inside operators, inside keywords etc.
- Don't add
Attribute
suffix for completions inside[< ... >]
- Fix .Net Core FSAC version
- Update FSAC - latest nightly FCS
- Don't simplify open statements
- Don't suggest rename to
_
for functions - Don't suggest opening namespace that is already open
- Add generic parameter info to tooltips
- Add static members to external symbols autocomplete
- Sync auto restoring of projects
- Fix quick info panel
- Fix project loading bug
- Add automatic project reloading and restoring. Makes sure cache is invalidated after
paket install
was run. Solves multiple issues requiring reload of the window such as adding new project, adding file to project, adding package to project with Paket etc.
- Send
projectsInBackground
command only for f# files - Fix Forge project creation if choosen directory name is blank
- Fix project properties page using workspace notification
- Update FSAC - project cracking fix and varius small fixes
- Change background type checking strategy... again
- Add configuration for external symbols autocomplete
FSharp.externalAutocomplete
- EXPERIMENTAL - Add .Net Core version of FsAutoComplete, enabled with
FSharp.fsacRuntime
- Update FSAC - small performance fixes and one critical crash error handling
- Handle object name in members for unused declarations
- Update FSAC - Fix position of inserted open declarations
- Add MsBuild commands for solution to command palette
- Fix inserting open statements in autocomplete, make sure it's insert instead of replace.
- Use non-blocking notifications to get solution wide errors
- Collapsing / expending for code outline
- Add autocomplete for external (unopen namespaces/modules) symbols
- Add go-to-type-definition provider
- Small UI fixes in commands in project explorer
- Update FSAC (nightly FCS)
- Fix simplify name opens analyzer - false positives on the values
- Fix unused value analyzer - Active Pattern cases
- Remove legacy (readonly) FSI
- Add generate/send references for FSI to project explorer
- Add nicer tooltips - formatted signature, more styling, assembly.
- Update FSAC - Fix find all usages
- Update Forge version
- Delete the current line where
Unused Open
's quick fix is applied - Fix crashed caused by project file including file not existing on disk
- Fix unused opens analyzer
- Add unused opens analyzer
- Add unused declarations analyzer
- Add simplify name analyzer
- Fix creating project notifications
- Add restore commands to project explorer
- Makes go-to-symbol in workspace faster
- Remove automatic project modification
- Add
add file (above/below)
commands for project explorer
- Fix autocomplete problem
- QuickInfo UX fixes
- Fix autocomplete helptext and tooltips rendering
- Update FSAC - cancellation of requests
- Make file parsing delay depend on file size
- Initial support for MacOS TouchBar icons
- Update FSAC - faster parsing
- Make CodeLenses (and finding declarations faster)
- Show symbol in the center of the screen when using Code Outline navigation
- Fix Code Outline startup if no editors opened
- Add Code Outline panel
- Add
Add Project to solution
command
- Add run and debug default project commands
- Enable
resolve namespace or module
by default - Fix parsing signature files
- Linelens colors
- Update to latest FSAC
- Add MsBuild commands for solution node in project explorer
- Go-to for #load
- LineLenses (inlined CodeLenses replacement)
Sln
support- Forge 2.0 support
- Move CodeLenses to SignatureData - more robust formatting
- Update FSAC - F# 4.1 in scripts
- Fix .Net Core Expecto runner
- Automatically clear old cache files
- Add automatic detection of MsBuild host
- Add
Run
command to the Project explorer - Add support for .Net Standard 2.0
- Fix rename with apostrophe
- Fix typo in command name.
- Show the project view only when there are projects to see
- Move 'Add project' to navigation commands with an icon
- Add rename file to project explorer
- Order and group file context menu for project explorer
- Add move to folder command for project explorer
- Add refresh and clear cache commands to project explorer
- Add detection for MsBuild 15
- Add MsBuild commands to project explorer
- Use icons from theme in project explorer
- Log error details when the language service fail to start
- Add "Open project file" command to project explorer
- Don't show .dll extension for references in project explorer
- Remove the files level in project explorer
- Add folders to project explorer
- Hide most commands from Command Palette when not necessary
- Add remove/add project references commands to solution explorer
- Remove
webpreview
- Add commands for file ordering in solution explorer
- Add folders to file paths in solution explorer
- Add documentation generator -
F#: Generate Documentation
command
- Change activation events - use workspace contains
- Add
F#: Clear Cache
command
- Add Experimental caching for project cracking
- Make
F# language service
logging enabled by default
- Fix linter initialization
- Update FSAC (fix C# project references)
- Enhance
F# language service
logging
- Show Expecto Watch mode on Status Bar only if Expecto is used in workspace
- Fix Expecto
dotnet
CLI runner
- Fix Expecto .Net SDK detection
- Add support for the .Net Core /
dotnet
CLI MsBuild
- Change CodeLens caching method
- Check if linter is enabled before linting
- Add support for multi targetting in new
fsproj
- Add error handling for expecto output parser
- Linter runs after parse is completed
- Linter runs after linter quick fix
- Add Fable (
fable-webpack
) problem matcher
- Update FSAC - Experimental SDK 2.0 support
- Add progress bar for plugin startup
- Add
excludeProjectDirectories
setting - Update code lenses only for active F# file
- Add icons for solution explorer
- Initial implementation of Project Explorer
- Default config for Tab Stops
- Fix leak in Expecto Watch Mode
- FSI detection on Windows should support F# 4.1 FSI
- Update FSAC
- Update FSAC
- Expecto integration supports .Net Core
- Update FSAC
- Fix QuickFix for compiler messages
- Done from train from Cambridge to London
- Special thanks to Phillip, Marcus, Riccardo and Jay
- Update grammar
- Update FSAC - reverse to FCS11
- Update to latest FSAC - Fix
.fs
files without.fsproj
- Update to latest FSAC - FCS12
- Update FSAC
- Support for latest fsproj
- Try to fix "crashing tooltips and autocomplete" bug
- Format error notes for tooltip/healtext
- Add more MsBuild config - keybord shortcut, and autoshow output panel
- Fix MsBuild integration on *nix
- Handle
.fsi
files - Update FSAC - update to latest FCS
- Try to fix CodeLens cache... yet another time
- Update FSAC - FCS
11.0.4
- Handle both cases in
getPluginPath
- Breaking change in getPluginPath
- Fix bugs in Expecto integration
- Update FSAC - FCS11
- Normalize paths for Forge... again
- Fix
missing command
CodeLens bug
- Normalize paths for Forge
- Enable F# breakpoints
- Add more handling for null responses.
- Make
Resolve unopened namespaces and modules
code fix optional. - Workaround for the character limit in terminal.
- Improve CodeLens caching
- Update FSAC - FCS 10
- Improve CodeLens performance (caching)
- Fix CodeLens and Linter startup behaviour
- Update grammar
- Update FSAC - new fsrpoj changes
- Refresh CodeLens only after parse request
- Update grammar
- Add union match patter case generator
- Try to fix proxy bug
- New project - emit error message on common failures
- Update FSAC version - declarations optimization
- Initial MsBuild support
- Grammar updates
- Update FSAC - try to fix StackOverflow namespaces bug
- Add an output channel for FSAC Stdout lines in DEBUG
- Consolidate failed and errored tests
- Fix detecting git previews
- Fix UI notifications for Expecto (active file change)
- Add Expecto watch mode
- Add UI Gutter notifications for Expecto tests
- Add all Expecto flags to the settings
- Add support for custom args passed to Expecto tests
- Fix solution wide error reporting
- Set cwd for Expecto tests to exe dir
- Add support for go to MSDN help (VS' F1)
- Fix startup behaviour (fix bug in parsing all projects, and handle linter)
- Add support for FSharpLint fixes
- Add some logging for Expecto
- Experimental Expecto support.
- Add upercase DU quick fix
- Don't parse git previw buffors
- Add unused value suggestion
- Add new keyword suggestion
- Fix ResolveNamespaces trigger
- Add
Resolve unopened namespaces and modules
- Add
F#: New Project (ProjectScaffold)
command
- Update FSAC - performance improvements for findings usages of file-local/project-internal symbols.
- Update Forge
- Add support for untitled files
- Update syntax highlighting
- Implement quick fix for types and record fields suggestions.
- Update Forge version
- Update Forge version
- Increase pause before
parse
request to 1000ms
- Add support for .Net Core preview3
- Optional save current file on
FSI: Send Last Selection
- Add
FSI: Send Last Selection
command - Fix keywords completion
- Parse only depending projects on file save
- Use 127.0.0.1 instead of localhost (trying to fix offline-windows bug)
- Update Forge
- Move to background checking of project files (faster startup)
- Fix FSI start
- Remove CodeLens escaping
- Fix CodeLens cache
- Add tooltips for keywords, add code lens for constructors
- Add parse errors
- Fix CodeLens for static members
- Add CodeLens cache
- Preserve focus in current window, so it doesn't jump to terminal
- Small fix to linter integration
- Show terminal when sending text
- Show code lens for properties
- use "signature" FSAC endpoint for Code Lens signatures
- fix finding all usages
- Fix error highlighting on current buffer
- Add
FSI: Generate script file with references from project
command - Performance updates - cancelling requests
- Small tooltips improvements
- Fix automatic project modification bug
- Nice tooltips formatting
- Small changes to autocomplete message format
- Use plain text for tooltips body
- Add
FSI: Send References from project
command
- Fix regressions caused by refactoring in
2.6.12
- FSI - Handle terminal close event
- Add additional error handling for New Project commands
- Should CodeLens on let value bindings
- Don't show CodeLens on abstract members
- Fix FSI start parameters regression
- Small fix to tooltips format
- Fix FSI Startup behaviour
- Fix inconsistent whitespaces in CodeLens
- Fix interface members in CodeLens
- Update FSAC
- Fix tooltips, quickinfo and CodeLens for doubleticked names
- Add description to F# New project
- Load list of templates from templates.json
- Fix requires in CodeLens
- CodeLens signatures showing only types
- Small fixes to tooltips
- Legacy FSI can be enabled in options.
- Add CodeLens showing type signature
- Define additional FSI flags in settings
- Add new line before ;; in FSI
- Don't make lint request if Linter us turned off
- Add information that warnign comes from linter
- Fix FSI startup
- Fix FSI (Set
__SOURCE_DIRECTORY__
and__SOURCE_FILE__
correctly)
- Move FSI to Terminal API
- Add Nancy tempalte to list
- Fix autocomplete bug
- Add detailed logging to F# Language Service Output Channel
- Add FSharpLinter integration
- Add new logging system
- Fix keywords autocomplete edge case
- Add option to turn off keywords autocomplete
- Fix path checking bug which resulted in supporting only F# 4.0
- Updated FSAC internal dependencies
- Upgrade to F# 4.0
- FSharp.Compiler.Service 6.0.2
- FSharp.Compiler.Service.ProjectCracker 6.0.2
- Newtonsoft.Json 9.0.1
- Suave 1.1.3
- Update Fable to 0.5.4
- Fix startup behaviour
- Improve brace matching and completion
- Don't create new FSI output panel for every
FSI: Start
- Update Forge version
- Fix startup
- Add New Project without FAKE command
- Handle cancellation for F# project commands.
- Added FSAC request log (default off)
- Add configuration option to specify FSI dir
- Add new line before ;; when sending to FSI
- Move cursor down only on send line to FSI
- Try to fix keyword autocomplete
- Trigger autocomplete on .
- Fix Forge new project issue.
- Try to fix finding FSI Path on Linux / Mac
- Don't add keywords to autocomplete unless it's simple tag (no keywords completion for Something. )
- Better handling of Send to FSI commands.
- Don't require FSI to be in PATH on Windwos anymore.
- Add keywords to autocomplete
- Rewritten in Fable
- Updated Forge version
- Updated FSAC version
- Automatic add/remove file from project is now optional (FSharp.automaticProjectModification)
- Performance improvements for solution-wide features (rename, finding references)
- Finding errors in all solution after saving file (visable in error panel)
- Navigate to symbol working for whole solution
- Forge templates refreshed on every plugin startup
- Changed plugin startup beahviour - priority on getting currently opened file parsed and get feature working, parsing projects for solution-wide features in the background
- Removed F# Formatting integration
- Add and Remove reference
- Remove Project reference
- Add Project reference
- Fix alt+enter keybinding
- Update Forge integration
- Update FSAC
- Add Signature Helper support
- Add Forge support
- Update FSAC
- Fix typo
- Add better error message for FSAC spawn
- Add better error message for FSI spawn
- Make completion faster
- Small performance fix
- Add some more null checking
- Add .Net Core support
- Fix startup behaviour
- Add rename
- Make finding references work in multiple projects
- Revert languageId changes
- Fix bracketmatching and commenting
- Add current symbol highlighting
- Add XML comments for tooltips and autocomplete
- Add WebPreview
- Add FSharp.Formatting integration
- Add proper deactivation
- Update FSAC
- Send SilentCd and line number file when sending comands to Fsi
- Filter completion result on FSAC side
- Fix path error
- Update FSAC version
- Fix error handling in FSI
- Fix backtick autocomplete problem
- Fix quick info priority
- Fix grammar
- Fix dependency
- First release from FAKE
- Fix paths for Linux
- Public release
- We are live - yay!