LINQPad 8 for macOS

LINQPad for macOS is now available! This is possible with the help of Avalonia XPF, a cross-platform implementation of WPF.

LINQPad follows operating system conventions, so all your familiar macOS shortcut keys work as expected. You can also assign your own keyboard shortcuts to all commands.

Licensing works exactly as it does in the Windows edition. No separate license is required to run LINQPad Premium features on macOS.

New and Changed Features

Most of the UI has been rewritten in WPF/XPF. As well as providing cross-platform support, the rewrite has allowed for an improved UI with a more modern appearance and consistent dark-theme rendering. Additionally:

  • The Settings Dialog has been completely redesigned and is now searchable.
  • All commands are now centralized and searchable, and can have their keyboard shortcuts customized.
  • There's now a unified search dialog to search everything in LINQPad (commands, help and settings).
  • The editor is brand-new and supports asynchronous completion.
  • LINQPad is now better at handling non-.linq files. There's a "New text document" option on the File menu for creating new text files with optional highlighting for json/xml/html/css. Text files can be saved and opened with any extension.
  • LINQPad's EF Core Driver now supports Universal Authentication with SQL Server. LINQPad for macOS also supports OAuth/MSAL authentication via Util.MSAL.AcquireToken* methods.
  • Most of LINQPad settings are now stored in a configurable folder. The default on macOS is ~/LINQPad/Settings. This makes it easier to share settings between machines.
  • All stored secrets now use LINQPad's centralized Password Manager, which is integrated with macOS Keychain. This includes passwords for connections and NuGet sources, OpenAI API keys, OAuth refresh tokens, and data accessed with Util.GetPassword.

Work in Progress

The following features are planned in the coming months:

  • Integrated Debugger (high priority)
  • Results to Data Grids (high priority)
  • Multi-monitor support
  • The Roslyn Syntax Tree visualizer
  • The static EF Core driver (for connecting to your own DbContexts)
  • Support for third-party data context drivers and samples
  • The password expiry update dialog in the LINQ-to-SQL driver
  • Charting
  • The lprun command-line tool (requires a new C++ CLR host)
  • ILSpy integration
  • F# support
  • Reordering queries in folders
  • File path autocompletion
  • Custom style sheet support for results styling
  • Offline Activations
  • Undo buffer restoration between sessions
  • Syntax highlighting in JSON/XML output

Known Issues

  • When requesting a password stored in Keychain, macOS prompts twice for your password, unless you choose "Allow always". This is a known macOS issue/feature.
  • Occasionally, graphics appear expanded or squashed; resizing or refreshing fixes the issue.
  • LINQPad's tooltips can sometimes cause LINQPad to steal focus from another application. This is currently being fixed.
Download LINQPad 8 for macOS Beta

This is an early preview, so please report any issues that you find, using the Report Bug feature on the Help menu.

Only Apple silicon is supported right now.