-
Fix Chart Dumping.
Currently, the only way to display and update a chart in a DumpContainer is to call chart.ToBitmap() and set the DumpContainer's content to the bitmap. This is workable, but the call to ToBitmap (which in turn calls ToWebChart) overrides many of the attributes of the underlying chart (color palette, axis intervals, etc.). This severely limits the configurability of the charting function.
I know that one solution is to use ToWindowsChart(), modify the attributes that I want to change, and then dump the Windows Chart, but this opens up another visualizer. I'd like to just be able to set the Content…
3 votesThis is completed in 6.12.2. There’s now an extension method called .ToBitmap() on the Windows Forms Chart type.
-
bug: async program in LinqPad6 (EF) doesn't wait.
.. while writing this explanation I noticed that my Async void Main() had an incorrect return type.
After changing it to Task, everything works as expected.
Could you please report it as an error when or warning (green squigly) when writing "async void Main" and suggest "async Task Main" instead ?
When doing the void' version, Linqpad executes and never waits - so the program completes, but run in the background...
1 voteThis is now fixed in 6.10.9
-
Bug: Query timer disappears after using compiler optimizations
When I turn on compiler optimizations the query timer disappears. This might be intentional. However, when I disable compiler optimizations the query timer remains hidden. Restarting the application shows the timer again.
I'm using v6.9.15 Pro Edition.
1 voteThis has been fixed in 6.10.5
-
Move the Interactive Regex Evaluator from the Help menu to a more visible menu
I happened upon the feature yesterday randomly by clicking on the Help menu. It would be awesome if it either got moved to a context menu action or even a new menu group (Tools for instance) for better visibility.
3 votesThe interactive Regex evaluator is also now on the editor context menu from version 6.9.2.
-
Hotkey for reconnect selected database
Please make a hotkey for reconnect current selected database in connection dropdown.
I often loose connection to database. Sometimes I intentionally have to break connection by turning off VPN. Sometimes I do something else in between and connection times out. Then I have to de-select and re-select the same database connection in the dropdown. It's a bit annoying to do this 20 times in a day since it breaks the work flow. Having a hotkey for this would make things smooth.
3 votesThis feature is now available from version 6.8.3 (press Alt+Shift+D)
-
Support non-installer .NET Core
When I try to start LINQPad 6, I get a message "To run this application, you must install .NET Core". Please either provide a version of LINQPad with its own bundled .NET Core version ( https://docs.microsoft.com/en-us/dotnet/core/deploying/ ), detect "dotnet" on the PATH, or support starting LINQPad 6 with an argument pointing to the SDK location (which can be anywhere if you download the SDK as a ZIP from https://dotnet.microsoft.com/download/dotnet-core/3.1 or https://github.com/dotnet/installer ).
3 votesImplemented from v6.8.2
-
Expose the render method on the Controls
I wanted to make my progressbar show the label above the progressbar. To do this I ended up viewing the source of the ProgressBar and creating my own copy just to modify the Render. This would be greatly simplified if the ProgressBar control exposed the Render method.
protected override object Render() { }
then I could simply inherit the control I want override its rendering logic.
3 votesProgressBar.Render() is now protected virtual from v6.8.1.
-
Show full path in tooltip when hovering over a tab for a query.
Similar to visual studio. I have a linqpad script that gets copied into different bin folders. If I have the script open I have no idea which one it is without doing open containing folder.
1 voteThis will be available from version 6.6.6.
-
Please fix Alt-Backspace
Time and again I hit Alt-Backspace, which is normally Undo (in Visual Studio, Word, etc.; same as Ctrl-Z), but in LinqPad it activates the menu — this throws me off completely! When I finally recover, I've lost my context and forgotten what I was typing.
3 votes -
Add Dump extension method to ReadOnlySpan<char>
Dump doesn't extend ReadOnlySpan<char> right now. It'd be nice to have something like
"xxx".AsSpan().Dump();1 vote -
Fix Bugs: (LINQPad 6) await in C# Statements
Using "await foreach(...)" in C# statements causes a compiler error unless an expression is also awaited: CS4033 The 'await' operator can only be used within an async method. Consider marking this method with the 'async' modifier and changing its return type to 'Task'.
So "await Task.Yield(); await foreach(...)" works as expected, while "await foreach(...)" doesn't.
As an aside: VB Statements/Espression don't seem support Async/Await at all currently. I am not really affected by it because I don't use it, but I thought this might be worth noting nonetheless. This also applies to LINQPad 5
3 votesFixed in 6.2.2
-
Allow users to remove default assembly references added by LinqPad
LinqPad includes references to common .NET assemblies and its namespaces in each query by default, but it doesn't provide a way for users to remove any of these references and/or namespaces, if they don't use or need them.
This causes issues due to name clashing between classes in different namespace.
For example, the sample code below uses Newtonsoft.Json v12.0.2 to format a JSON string:
```csharp
var jsonStringMinified = @"{""x"":100.5,""y"":200.4}";var parsedJson = JToken.Parse(jsonStringMinified);
var jsonStringIndented = parsedJson.ToString(Formatting.Indented);jsonStringIndented.Dump();
```The namespaces imported in this example are:
Newtonsoft.Json
Newtonsoft.Json.LinqWe get a compilation error: "CS0104 'Formatting' is an ambiguous reference between…
1 voteYou can now remove as well as add namespaces in LINQPad 6.
-
Run a LINQPad script as Administrator (eleveated)
Some code requires higher privileges. Sure you can run LINQPad itself as Administrator - but then access to e.g. network share might not work and it is better to limit the higher access rights to just the execution of a single script. So an option for a query "Requires Administrative Privileges" would be great. Values: true, false. Maybe an addtional optional would be: Always ask for Administrator priviledges (that is: on every execution elevate again) or "Ask only once". Then only the first execution would request elevation. Further executions would run automatically in an already elevate security context. Also a…
15 votesThis feature is available from version 6.8. Add ‘#LINQPad admin’ to the top of your query.
-
Add ability to target .NET Core
.NET Core is gaining adoption, and I find myself needing to experiment on .NET Core more and more, especially since .NET Core has it's own surface area. It be great to be able to do this in LINQPad.
I don't need LINQPad to run Mac/Linux, just the Windows version to be able to target .NET Core.
129 votesA public beta is now available: https://www.linqpad.net/LINQPad6.aspx
-
Hotkey to extend text selection to outer scope
Resharper implments the most useful text selection feature other. CTRL+W extends the currently selected text out to the containing scope. Hit it again and it extends the selection again. And so on.
It's an absolutely amazing way for selecting block of code, or full method, or an entire class declaration, etc - all from the current cursor position.
This feature alone is easily one of my most used Resharper features. I'd love to have it in Linqpad!
3 votesThis is available from v5.24.01. Shift+Ctrl+W
-
Dif on dictionaries should not do a Enumerable-comparison
When using Util.Dif on two dictionaries, I see that a key that was present in both was shown with a white background, the value was changed, however.
However, small dictionaries tend to keep their order and I created these two dictionaries:
17 -> A
18 -> Bvs.
18 -> B
17 -> Ain other words, the only thing different is the order in which I added the elements. Util.Dif now shows the entire thing as different, since it compares 17 with 18 and then 18 with 17.
For dictionaries it would be better to do a key-based comparison…
3 votesAvailable from 5.24
-
x.Dump() is great, but x.Diff(y) would be cool too...
Sometimes I end up .Dump()ing things a few times in a row, then manually v-diffing to see what changed.
It'd be nice if there was a function that could calculate that for me, probably involving having to snapshot the state/output then diffing against the previous snapshot.3 votesUtil.Dif is available from v5.23
-
Reference .NET Core csproj file directly like a NuGet package
I would like to be able to reference a .NET Core csproj file from LINQPad, similar to how NuGet references work. LINQPad could read the package references from the csproj file and add those NuGet packages, then it could locate the dll that is output by the csproj and add that as a reference. This would make testing changes made in a project with LINQPad extremely simple. Currently I have to package the project, move the package to a local NuGet feed, clear the LINQPad NuGet cache for that package, and readd the package reference in LINQPad.
12 votesThis functionality is supported in recent versions of LINQPad 6. Referencing the DLL in the output folder has the same effect as referencing the .csproj file: it automatically references all the NuGet packages that the project does (it gets these by parsing the .deps.json file). LINQPad will even restore the NuGet packages if the correct dependencies are not available for the target framework version.
-
Auto-Remember Un-saved Files Like Notepad++
Install Notepad++ -> Create a New File -> Close Notepad -> No Annoying Save File Dialogs -> Re-open Notepadd++ -> Files are Still there
Many use cases.
Keeps my flow going if you will
18 votesThis feature is available from 6.9.12
-
14 votes
This has been available since LINQPad 6 was released.
- Don't see your idea?