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. I keep coming back to LINQPad to write few lines, execute ...verify, then go back to implement the small bit I just wrote and I am sure everyone does that and some would save those random scratch for later use or reference. So I wonder, why not a code snippet share feature directly from LINQPad? It would increase awareness and allow us share or persist some of the quick code written every now and then.

    Cheers.
    Biniam

    0 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. The debugger in LINQPad 4.5 is awesome, but not as good as Visual Studio's. Before the beta, I was using Debugger.Launch/Break to debug in VS. Now, those launch LINQPad's debugger. Unless and until the debugger is as good as VS's, I would like some kind of button or something (as long as it's faster than using the preferences) to use an external debugger.

    0 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Linqpad doesn't work very well if the underlying columns in an Oracle database contain TIMESTAMP WITH TIME ZONE columns.

    These appear in the datacontext as DateTime (losing the offset information), however queries using equality checks against them can fail due to the way the underlying IQDriver handles (or otherwise) the conversion back to datetime offset within Oracle.

    It's a bit of a pain, but one of the simple approaches is to ensure the generated SQL wraps those columns in either sysextractutc(theColumn) or 'theColumn AT TIME ZONE xxxx' to ensure they are compared with the DateTime parameter that is…

    0 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 →
  4. I would like to be able to create a "My Extensions"-like file per folder so that I can create contexts or extension code that are shared by all of the queries in that folder.

    0 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 →
  5. 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  ·  Flag idea as inappropriate…  ·  Admin →
  6. 0 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. The FSharp compiler macro 'SOURCE_DIRECTORY' doesn't seem to behave as expected in linqpad - specifically it points to a linqpad temporary execution directory, and not where the .linq file itself resides.

    This makes it problematic to use F# type providers within linqpad. Referring to data files relative to the script is pretty common, but the path supplied to a type provider has to be a compile-time literal - ie Util.CurrentQueryPath can't be used. Absolute paths obviously break across machines.

    Not sure if a fix even is possible (I can't see anywhere on the F# compiler where you can…

    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  ·  Flag idea as inappropriate…  ·  Admin →
  8. When you use Open in Excel on a grid, the Excel (html) file that is opened is named after the query name, but should be named after the Grid title from the Dump command that created the Grid, if one exists.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  9. Add optional parameter to Util.Cmd that will accept a parameter so alternate success exit codes can be defined. Currently only 0 is acceptable as a success, but some apps use alternate exit codes.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  10. It would be nice if we could be able to turn off the Dump of the Unhandeled exceptions, or Change the Default Handler from LINQPad on the 'AppDomain.CurrentDomain.UnhandledException'.

    I have not found any way of turning this off without actually using reflection to fetch, and de-register the default, and then re-register my own implementation (it works, but it's buggy).

    0 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 →
  11. Util.Dif is awesome :)
    It would be nice to do something like
    var dif = Util.Dif(o1, o2);
    if (dif.IsDifferent)
    {
    dif.Result.Dump();
    }

    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  ·  Flag idea as inappropriate…  ·  Admin →
  12. In SQL Management Studio, you can use expressions like

    DECLARE @FirstName NVARCHAR(max)='<Enter FirstName,nvarchar(max),John>';
    DECLARE @LastName NVARCHAR(max)='<Enter LastName,nvarchar(max),Doe>';

    in a *.SQL file. When you press Ctrl+Shift+M, then you are prompted to enter the parameters in one single dialog (in this case it shows "Enter FirstName", and "Enter LastName" displays default values "John" and "Doe", both of type nvarchar(max))

    This is quite useful to have some quickly generated macros at hand, and maybe the idea could be supported in C# for Linq Expressions as well ...

    0 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 →
  13. Some settings which are currently global (in Edit > Preferences) should be moved to Query Properties. For instance:

    Query tab:


    • Compile with/without /optimize+

    • Use Roslyn prototype assemblies

    Advanced tab:


    • Compile VB queries in strict mode

    • Do not shadow assembly references

    • Run queries in MTA threads

    • Use MARS with database connections

    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  ·  Flag idea as inappropriate…  ·  Admin →
  14. Currently in the beta charting works really nice, except it is not possible to add an extra XY set, only a Y set can be added using .AddYSeries.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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  ·  Flag idea as inappropriate…  ·  Admin →
  18. I often connect to databases individually on a Production server because of the way our security works. These connections are temporary and transient for security reasons.
    Rather than marking a connection as Production each time it would be helpful if I could configure the server as a Production server and then each time I connect to an individual database it is automatically marked as Production.
    Thanks!

    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  ·  Flag idea as inappropriate…  ·  Admin →
  19. With SQL Azure in general and now specifically with the new serverless option it would be great to be able to enable the various ADO.NET and EF Core resiliency options so that you do not get a timeout on startup or when there is a transient failure. Both are just settings for number of times to retry, the retry interval, etc.

    For EF Core with SQL you can use something like

            optionsBuilder.UseSqlServer(cstr,
    
    sqlServerOptionsAction: sqlOptions =&gt;
    {
    sqlOptions.EnableRetryOnFailure(
    maxRetryCount: 18,
    maxRetryDelay: TimeSpan.FromSeconds(5),
    errorNumbersToAdd: null);
    })

    In ADO.NET you can do it in the connection string parameters

    ConnectRetryCount=18;ConnectRetryInterval=5;Timeout=90

    Thank you

    0 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 →
  20. Similar to the great new Shelve feature and combined with Named tabs I would like to be able to save my open tabs and give that group of tabs a name and be able to re-open them together. When working on projects I often have several related tabs open and when I go back to work on that project again, I often want all the same tabs so it would be great to be able to reopen all at once. A file that just opens other .linq files into their own tabs.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?