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!

I suggest you ...

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Maintain a list of most recently used assemblies

    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
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
    • line numbers when editing Stored Proc (beta 4.37.11 has it for queries)

      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
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
      • 0 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • Always include codes outside of Main() into the selection in Program mode

          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
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            1 comment  ·  Flag idea as inappropriate…  ·  Admin →
          • Turn off UnhandeledException handling in settings

            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
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              1 comment  ·  Flag idea as inappropriate…  ·  Admin →
            • Create an Airtable connector

              Airtable and Linqpad is my two favorite tools. Please arrange a marriage so I can use Airtable in Linqpad as easy as it's connect to other datasources.

              0 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  Flag idea as inappropriate…  ·  Admin →
              • Add extra XY series to chart

                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
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                • Only have one Ctrl+Shift+M shortcut

                  Ctrl+Shift+M was Copy for Markdown/StackOverflow, but a recent update has also made it Namespace Imports.

                  I'd like to keep it as Copy for Markdown/StackOverflow and change Namespace Imports.

                  0 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                  • Add optional parameter to Util.Cmd for defined exit codes

                    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
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • null booleans

                      When "Open in Excel" is executed on a null-able Boolean column, it is exported values are "cleared" or "selected"... it would be nice if we could export the values as "True", "False", and "Null"

                      0 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                      • Option to skip generating SQL etc. when running long running queries?

                        I'm guessing this would increase speed a lot?

                        0 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                        • Better experience for __SOURCE_DIRECTORY__ in F#

                          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 control this…

                          0 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • connect color of editor with current database

                            If i work o X DB i have lightred, but i i work on Y DB i work on limegreen editor

                            0 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • Update the static driver sample code to detect Context properties of type IEnumerable<T>.

                              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
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                              • Allow hitting Escape key to trigger 'cancel' like Shift-F5 does

                                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
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • Textbox input pane for c# / vb / f# program

                                  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
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Some global settings should be per query

                                    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
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Allow per-folder "linqpad.extensions" file

                                      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
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Support TIMESTAMP WITH TIME ZONE columns in Oracle

                                        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 sys_extract_utc(theColumn) or 'theColumn AT TIME ZONE xxxx' to ensure they are compared with the DateTime parameter that is bound to…

                                        0 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Ctrl + E as alternative execute query shortcut

                                          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
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                          • Don't see your idea?

                                          LINQPad Feature Suggestions

                                          Feedback and Knowledge Base