LINQPad Feature Suggestions

More than 100 LINQPad features are a direct result of customer feedback! This is the official forum for posting and voting on ideas – we want to hear from you!

LINQPad Feature Suggestions

Categories

  1. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. .. 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 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. 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 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  8. 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 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. 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
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  10. Dump doesn't extend ReadOnlySpan<char> right now. It'd be nice to have something like
    "xxx".AsSpan().Dump();

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. 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.Linq

    We get a compilation error: "CS0104 'Formatting' is an ambiguous reference between…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. .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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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 -> B

    vs.

    18 -> B
    17 -> A

    in 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  18. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →

    This 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.

  19. 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 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. 14 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1 3 4 5 11 12
  • Don't see your idea?