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. Open the context menu when a tab is right clicked, even if it is not the current tab.

    2. Have a close tab button (visual studio style X) on each tab.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  1. Example:
    public AttributeValue(Position start, Position end, string rawValue, /QuoteKind quoteKind,/ bool expression)

    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  ·  Flag idea as inappropriate…  ·  Admin →
  2. While working on code I really missing the way to raise current row one position up and down by shortcut. The simplest and well known shortcut for that is alt-arrow-up and alt-arrow-down.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  3. ... so we can fix the things that annoy us ourselves. I'm tired of seeing the same annoyances year after year, unfixed

    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  ·  Flag idea as inappropriate…  ·  Admin →
  4. Now you can only find and replace in the current document, but it would be useful to search in all opened scripts.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  5. SQL Server keeps track of all queries, including the text. Sometimes queries don't work as expected (timeout, errors, etc.) but sometimes it's also very useful to have a record of everything that is done as a log. I see the generated SQL. I'd like to know the C# that was entered into the query window. As an option, could you add this as a comment?

    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  ·  Flag idea as inappropriate…  ·  Admin →
  6. I use LINQPad like any other code environment. As such I need to keep code repositories segregated. It would be helpful to be able to jump from one folder to the next without have to reconfigure LINQPad My Queries location. Am guessing there would be quite a challenge to the Search My Queries functionality... I would not expect the search to also search these "subfolders".

    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  ·  Flag idea as inappropriate…  ·  Admin →
  7. The keyboard shortcuts page (Help -> Keyboard/Mouse Shortcuts) is always black text on a white background.

    Since the page is just HTML (%LocalAppData%/Temp/LINQPad6/KeyboardShortcuts.html), supporting dark mode should just require a bit of CSS. I tried the following and it matches LINQPad's dark mode reasonably well, feel free to copy it as-is:

    @media (prefers-color-scheme:dark) {
    body { background-color: #1E1E1E; color: #DDDDDD; }
    em { background: #4C4C00;}
    }

    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  ·  Flag idea as inappropriate…  ·  Admin →
  8. Add the ability to copy (Ctrl+Drag) and move (Drag) .LINQ files within the MyQueries tab across folders via drag and drop. Currently, to move a file, one must open the file, use "Save As," and then delete the original.

    I know I can use File Explorer to do this, but it would be nice if it could be done right there in the MyQueries tree.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  9. Add ability to have pinned tabs show in a separate row.

    This allows easier navigation between queries when you have many open at one time.

    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  ·  Flag idea as inappropriate…  ·  Admin →
  10. 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  ·  Flag idea as inappropriate…  ·  Admin →
  11. While LINQPad Version 6 was released in 2019, if you do a google search on "linqpad version 6 video", it shows all but one of the tutorial videos were produced before 2019. Only one was produced in 2020, and it focuses solely on databases.

    Instead, I want a tutorial video that includes the new version 6 hooks into visual studio. For example, the Rainer Stropek YouTube video "C# LINQ - Part 2- Basic LINQ Queries" has a nice elaborate visual studio Enumerable example with a JSON file. Under LINQPad 6, I'd like a video tutorial that shows how to load…

    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  ·  Flag idea as inappropriate…  ·  Admin →
  12. The VsVim Visual Studio extension honours the "set relativenumber" instruction in _vimrc. It causes the current line to show the absolute line number, and all other lines are numbered relative to it.

    3
    2
    1
    584 // TODO: Removing this line breaks the app. We don't know why...
    1
    2
    3

    Something similar in LINQPad would be a lovely tweak!

    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  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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. 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  ·  Flag idea as inappropriate…  ·  Admin →
  15. 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…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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  ·  Flag idea as inappropriate…  ·  Admin →
  18. 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…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?