Home

→→→→→ LINQPad 8 early preview now available ←←←←←

edited October 21

https://www.linqpad.net/linqpad8.aspx

This includes a number of internal architectural improvements, as well as new features.

Let me know your thoughts!

Comments

  • Looks good.

    LINQPad now restores both modified and unmodified queries after closing and shelving. There's also now an Always Shelve button directly on the Exit dialog.

    Probably the feature that will benefit me the most, providing I can get rid of some bad habits that I have gotten into. I have been abusing the autosave feature of Linqpad by not saving my changes until I am finished with a script in order to get Linqpad to re-open it automatically. Also until the introduction of the shelve feature, I was deliberately killing Linqpad rather than closing it down properly.

  • edited October 24

    One request I have is a way to better call and or send to LINQPad/LPrun 5. I have workarounds but a way to send a query from LP 8 to LP 5 would be great.

    Another, is it possible to label/tag the version of LINQPad a query is designed for? So you could know when the file is opened it was a LINQPad 5 query. I have some ways I made this work, but a built-in version checking or similar feature for queries would be better.

    And can we have multiple Samples tabs?

    Samples - Bulit-In
    Samples 1 - more NuGets
    Samples 2 - local NuGets

    Thanks.

  • Are you aware of the predefined compilation symbols?

    #if NET8
    // Code that requires .NET 8 or later
    #endif
    
    #if NET7
    // Code that requires .NET 7 or later
    #endif
    
    #if NET6
    // Code that requires .NET 6 or later
    #endif
    
    #if NETCORE
    // Code that requires .NET Core or later
    #else
    // Code that runs under .NET Framework (LINQPad 5)
    #endif
    
  • No. I will test this and report back. Thanks.

  • I tried several examples and COM object code throws NullReferenceException.


  • I just raised this issue, please check.

  • It didn't get through. Can you post details from the log file?
    %localappdata%\LINQPad\logs.LINQPad8\log.txt

  • @JoeAlbahari Sure, there it is the log.txt, but it is not a 100% issue, it appears sometimes. It occurs when I click "Go to..." link in "My Queries" section.


  • @JoeAlbahari another issue, for reason unknown, LINQPad 8 consumes LOTS of memory in my Azure HBv4 machine, as you can see in screenshot, it's > 200GB memory, and keeps increasing, it reduced into ~0GB after 2~3 minutes, it's a fresh machine, I only installed .NET 8 RC2 and LINQPad 8.0.3, strange.

  • Thanks for the report. I spent a fair bit of time on this several days ago. Turns out, it's a known issue with the JIT's tired compilation engine in .NET 8 RC-1/RC-2, and has been fixed in the most recent builds.

    https://github.com/dotnet/runtime/issues/93966

  • Love the new DumpTell feature and especially the option to make it the default.

    Two questions :

    1) What is the difference between the green dashes versus the green dots?

    2) Why does the following sample produce different results on the second dump?

    void Main()
    {
        Split("Line1\nLine2");
        Split("Line3\nLine4");
    }
    
    private void Split(string x)
    {
        (from r in  x.Split('\n') select r).DumpTell();
    }
    

    Output is :

  • This occurs when the same heading is dumped twice in a row. Rather than repeating the heading, it uses dots.

    Without this feature, it gets pretty cluttered when you execute code such as the following:

    for (int i = 0; i < 100; i++)
        i.Dump();
    
  • edited November 7

    @JoeAlbahari when I ask the AI what model is in use it states gpt-3 even if I set gpt-4 to be used in the settings. When I ask ChatGPT/OpenAI API the same question it answers correctly based on which model I set. Is this a bug or user error?

    Also, can you support the update to gpt-4-turbo? It would be great if we could configure any model we want with a custom template json request with our own settings.
    https://platform.openai.com/docs/models

    [Edit]
    [ gpt-4-1106-preview ]
    It appear to work intermittently, the responses are very inconsistent. This might be the model itself not LINQPad. Another thought:
    What is included in the request you send to OpenAI? Do you add any additional instructions we don't see inside LINQPad? Can we have access to the request parameters to add our own instructions/settings?

  • Possible to enable horizontal scrolling on the rendered Grid and Html viewer?

  • Amazing and super useful tool. I can't program without it anymore.
    Dump() and HTML output in the browser are the winner.
    You are the number one 👍
    Thank you ❤️

  • @knave - you mean with Shift+Scrollwheel on DataGrids? I can add that. This is already supported with HTML output.

    It's also possible to scroll any result window in any direction with Alt+Arrow (or Alt+Home, Alt+End, Alt+PageUp, Alt+PageDown).

  • edited November 15

    Would it be possible to have the editor support more collapsible code segments?

    For a while, LINQPad only supported collapsing top-level and local functions and regions. Sadly other more common types are not collapsible that ought to be: enabled/disabled #if blocks, multiline comments, generally any other blocked code (initializers, lambdas, if/else, for/foreach, using blocks, switch statements/expressions, class/struct/record definitions, etc.).

    Would be great if you could add it to the non-conventional code "blocks" such as expressions that span multiple lines and linq queries.

    It would make navigating larger scripts more patatable.

  • Really need better IntelliSense support for C# attributes

    I wrote these annotations almost everyday, Visual Studio is good in this case:

  • Another (easier) issue (compared to the IntelliSense "tricky one" above):

    LINQPad 8's JsonDocument dump support seems broken compares to LINQPad 7.

  • Thanks - there's a fix out now for the JsonDocument issue in 8.0.11. Will look at the other requests later.

  • edited November 16

    LINQPad 8 is amazing!

    Any feedback on this:

    What is included in the request you send to OpenAI? Do you add any additional instructions we don't see inside LINQPad? Can we have access to the request parameters to add our own instructions/settings?

  • Possible to enable horizontal scrol> @JoeAlbahari said:

    @knave - you mean with Shift+Scrollwheel on DataGrids? I can add that. This is already supported with HTML output.

    It's also possible to scroll any result window in any direction with Alt+Arrow (or Alt+Home, Alt+End, Alt+PageUp, Alt+PageDown).

    Yes. Seems its a little known feature.
    Not sure if you've only just added the DataGrid horizontal scrolling feature but I just tested it and it works. :smile: Thanks!

    Though its not working for my mouse's horizontal scrollwheel (I'm using MX Master 3, so it has a horizontal wheel).

  • Meanwhile would love if you can add a keyboard shortcut that allows us to jump straight into Edit mode for the DataGrid.

  • Meanwhile would love if you can add a keyboard shortcut that allows us to jump straight into Edit mode for the DataGrid.

    Check out 8.0.15

  • V8 seems to have some mix-up with between Default Queries and Custom Style sheets.

    i.e. if you use the 'Save as default for new queries' option it creates a xml file which appears in the Edit/Preferences/Results/Style sheet for text (HTML) results/Custom/Launch Editor' and overwrites whatever was there previously.

    Screenshots :

  • Thanks - this should now be fixed.

  • @JoeAlbahari said:

    Meanwhile would love if you can add a keyboard shortcut that allows us to jump straight into Edit mode for the DataGrid.

    Check out 8.0.15

    Many thanks! Can't believe this was finally done!

Sign In or Register to comment.