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

1158 results found

  1. I love the charting functionality I LinqPad, it’s awesome!

    What else I would like to be able to do Is to add Activities to my application,

    perhaps it’s a multithreaded application and then be able to visualize how they are executed over time, like how a logic analyzer does it, like in this picture:

    http://www.ece.utep.edu/courses/web3376/Logic_Analyzer_files/droppedImage.jpg

    why? Because I want to visualize if my tasks/threads are running optimally ,or if I have some bad lock or threadpool issue somewhere.

    Similar to the Concurrency Analyzer https://learn.microsoft.com/en-us/visualstudio/profiling/concurrency-visualizer?view=vs-2022

    So, what want be able to do:
    1. Add Activities in ny code, perhaps in different…

    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)
  2. For every Linq file I create, I put a description on the top like

    /*
    Used to read data from xyc table and convert to and then save to ABC database
    */

    Love to see this info when I mouse over file names in "MyQuery" section.

    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)
  3. Would be nice to have custom keymaps like the vscode one.
    And actions like ctrl+D in vscode, move line up, down, delete line, copy line.

    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)
  4. LINQPad is currently very not great at debugging anything with text.
    - There is no way to set line endings to Unix vs. Windows
    - When I paste text with Unix line endings, LINQPad silently modifies my strings to use Windows newlines. Boo!
    - There is no way to see line endings, because they are not shown in the debugger, even with "dump", so when writing string parsing code, my counts are just mysteriously off, more with every line.
    - The debugger "VALUES" column uses a variable-width font, so it is hard to compare values at a glance because even…

    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)
  5. Option to hard exit the query on finish.
    From my understanding there is no such option today.

    The only option is to exit the current query when a new one starts. Ex. "Util.NewProcess" or "Always use Fresh Process per Execution".

    The problem I get is that if I have a "unstoppable" background worker, this will still be running in the background until I start a new query.

    The workaround is to use a "try/finally" with a "Environment.Exit(0);" , however this seems hackish. Also tried "Util.KeepRunning" but that did not help.

    This is a big issue if more than one query…

    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)
  6. If my file contains multiple loads

    load "filea.cs"

    load "fileb.cs"

    Then, if I jump to fileb.cs, then types from filea.cs should be available when viewing fileb.cs.
    This without adding #load statements to fileb.cs, of course. The viewing of fileb.cs should somehow be in context of myquery.linq.
    Allowing strongly typed intellisense edits and F5 still running the main method from myquery.linq.

    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)
  7. 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. It would be great if the Ctrl+E SSMS shortcut would be enabled as an alternative to F5. It's easier to reach and makes sense (E for Execute).

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

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. Provide more information about thrown exceptions (dump message, stack trace, etc).

    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. Since hitting Esc doesn't seem to trigger any other action, it would be useful for those of us with muscle memory to hit it when we accidentally ran something we shouldn't have. Much faster/simpler than the 2-key combo of Shift-F5. :)

    I'm not trying to ask for the larger-scope 'allow remapping keyboard shortcuts', just the Escape key. :)

    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)
  11. The UniversalStaticDriver class does not detect the properties of the customType parameter that are directly of type IEnumerable<T>. If the customType inherits IEnumerable<T> (like say via IList<T>) then the property is detected. But if the property is actually declared as IEnumerable<T> then it is passed over.

    I changed the line that declared ienumerableOfT from:

                let ienumerableOfT = prop.PropertyType.GetInterface ("System.Collections.Generic.IEnumerable`1")
                where ienumerableOfT != null
    

    to

                let ienumerableOfT = (prop.PropertyType.GetGenericTypeDefinition() == typeof(IEnumerable<>) ? prop.PropertyType : null)
                                    ?? prop.PropertyType.GetInterface("System.Collections.Generic.IEnumerable`1") 
    

    Kinda hacky, but it fixed the problem for me. Probably a better solution would be to recurse through the type and all inherited types…

    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  ·  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. Line numbers are present in a beta release , but only for new Query windows and not when viewing/editing Stored Procs in a DB.

    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)
  13. If i work o X DB i have lightred, but i i work on Y DB i work on limegreen editor

    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)
  14. Obviously, features new to 1.7 (and later) will not be available as LinqPad seems to reference the 1.1 version. Also, I've been having this issue:

    Assembly 'MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'Microsoft.WindowsAzure.StorageClient, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'Microsoft.WindowsAzure.StorageClient, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

    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)
  15. The menu item for "Copy for Markdown/Stack Overflow" ends up copying code that in most cases won't compile without manual intervention by the person who grabs it off of Stack Overflow.

    Specifically, these two things is on the query options tab, and has to be manually added for the query code to compile and execute:

    • References
    • Using directives

    It would be nice if those two things could be copied alongside the query code, for instance as specially crafted comments at the top, that would be recognized by LINQPad upon pasting back into it, and moved to the appropriate places.

    ie.

    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)
  16. When the code fragment is selected and then F5 is pressed, LINQPad runs only selected code. I think this feature is nice.
    When I choose "C# Program" mode, of course I write some utility codes outside the Main() method.
    However, when I select the fragment of code in the Main() and press F5, the build fails, since the definitions outside the Main() wasn't included as "compile target codes".

    I think that the codes outside Main() method (in C# / VB Program mode) should be always included in compile targets to enable user-defined classes and methods,
    even if the code fragment…

    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  ·  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. There are a few assemblies I often use in LinqPad queries, that are not in the GAC or on Nuget. Every time, I have to browse to their location to find them (e.g. Windows.winmd to use WinRT APIs). It would be nice if there was a "recently used" list in the "Additional references" tab

    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)
  18. 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  ·  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. 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…)
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. 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  ·  Admin →
    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?