Skip to content

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

1215 results found

  1. The Dump() method should expose a parameter that adds ability to highlight texts that matches the parameter. This would help us quickly find something when dealing with a deeply nested or a very long list of objects that are dumped.

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  2. There is no DatePicker control available and there doesn't appear to be a HTML5 implementation of <input type="date"> which would automatically show a DatePicker on clicking in the field. I expect it could be done with JavaScript, but a control would be nice.

    3 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. I regularly run LinqPad on clients' PC's in order to troubleshoot a database problem, rather than installing SQL Management. I don't like having an automatic update downloaded in the background onto their machine especially knowing that I will never use it anyway.

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. Add a helper to the editor so that when /// is typed on the line before a property or method, the summary and param blocks are added similar to how it works in Visual Studio per this article:

    https://docs.microsoft.com/en-us/visualstudio/ide/reference/generate-xml-documentation-comments?view=vs-2017

    OR

    Enable intellisense for /// < to template the common options:

    /// <summary
    /// <param
    /// <returns
    /// <see

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. Coping and Pasting the Result data to another application normally don't show results has expected.

    Like pasting to notepad the columns heads is pasted one per line and the data is pasts was separated by space.

    I would expected that the past data and the headers should be pasted separated by tab.

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. title says it all. I really really need this, as LINQPad becomes really really annoying to navigate after a while without this

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. Yes, we can add a new folder via save dialog but it will save time

    0 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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. Add a quick filter box at the top of the My Queries and Samples list to easily filter by name - without having to go into "Go to...". Rename "Go to..." to "Advanced Filter"

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. My suggestion is to add an optional expandable text input pane where any string could be written. This pane would be visible when choosing C# Program (or VB / F# Program) in the language drop down. The program template would then feature a Main(string arg) where the input would be fed.

    Many times I find myself pasting json, xml, csv, tsv data etc into the programming pane of linqpad. Afterwards I have to put the text into a string variable and replace quoute characters and other special chars to make it compile. Sometimes I instead write the text into a…

    0 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. Drag-n-drop a CSV file to the LINQPad window to silently create an IQueryable object populated with its values and insert a code reference at the cursor point where the drop operation completes.

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  11. PowerQuery is becoming very popular and would be very useful feature to have support inside LINQPad .

    6 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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. The hang occurs when there is an unclosed external resource. The linqpad doesn't get stuck because it doesn't unload the application domain and therefore does not wait for the process to exit completely.

    There should be some sort of a timeout for the registration of the query exited event and the finilizers to finish their job. If they don't finish in a timely manner you need to kill the process forcefully.

    We were using https://github.com/sshnet/SSH.NET and didn't call .Exit() everywhere.

    This produces the hang of sorts:

    <Query Kind="Statements">
    <Reference Relative="..\..\SSH\Renci.SshNet.dll">C:\Users\User\Desktop\SSH\Renci.SshNet.dll</Reference>
    <Namespace>Renci.SshNet</Namespace>
    </Query>

    var sshClient = new SshClient("demo.wftpserver.com", 2222, "admin", "root");…

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. It is possible to overwrite styles for HTML results on Preferences/Results/Style sheet. Unfortunately those overrides aren't used when IL tab is rendered. Please fix it. Thanks.

    6 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. It would be great if LinqPad query can access internal members of referenced libraries without changing the referenced libraries to add InternalsVisibleTo attribute. Instead we could use the reverse attribute IgnoresAccessChecksToAttribute in the query to allow it to access internal members of any specified libraries. You can find detailed information on how this can be done here: https://github.com/aelij/IgnoresAccessChecksToGenerator and https://github.com/filipw/Strathweb.Samples.CSharp.NoVisibilityChecks

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. 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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. Currently we resort to reflection on the LinqPad internal classes to extract some very useful properties. One of these features is IsAutomated property of the internal static Program class, which is similar to #if CMD but is more practical because you can pass it around. Besides it's impossible to determine if a script it running under lprun inside MyExtensions using the said #if CMD directive. Because it is a compilation directive.

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. It is currently impossible to distinguish between a NULL value and a string that happens to be spelled, "null" because LinqPAD displays "null" (lowercase) for both of them. SSMS displays NULL (uppercase) for NULL values, and to differentiate between NULL values and a string spelled, "NULL", SSMS highlights actual NULL values with a special background color (a soft yellow). LinqPAD should do the same thing, or something similar, to make it more obvious if the value is NULL or a string that just happens to be spelled "NULL".

    4 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. Dump if predicate is true

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. It is time to move to the next level: cross-server or cross-domain queries, for a truly great orchestration experience.

    I have experimented with this and it's working nicely:

    dynamic odata = Activator.CreateInstance(Type.GetType("LINQPad.User.DemoService, odata", true), new Uri("https://services.odata.org/V3/OData/OData.svc/"));
    ((object)odata.Persons).Dump();
    dynamic a = Activator.CreateInstance(Type.GetType("LINQPad.User.TypedDataContext, a", true));
    ((object)a.Persons).Dump();
    dynamic db = Activator.CreateInstance(Type.GetType("LINQPad.User.TypedDataContext, db", true));
    ((object)db.Products).Dump();

    I'm specifically referring to this line in the FAQ (https://www.linqpad.net/FAQ.aspx):
    "The databases that you query must reside on the same server."

    That's a major limitation.

    Possible solutions:
    1. Unique data context class names in the LINQPad.User namespace.
    2. extern alias functionality?
    3. Uniquely nest all classes…

    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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. Add "My Extensions" to search results of the Navigate to Query dialog

    1 vote
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  • Don't see your idea?