Выполнение запроса LINQPad при его открытии

Есть ли способ, с помощью которого, когда я открываю запрос в LINQPad, он выполняет его и помещает меня в представление только результатов? Предполагаемый вариант использования этого — написание небольших приложений в LINQPad. Я не хочу каждый раз нажимать F5 и Ctrl+Shift+R.

Мотивом для этого является недавно выпущенная утилита RegEx в версии 5.36. Это тоже скрипт, который делает то же самое.

Я могу частично помочь вам - поставить System.Windows.Forms.SendKeys.SendWait("^+R"); после открывающей скобки для Main для автонабора Ctrl-Shift-R.

NetMage 01.04.2019 22:14
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
313
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете запустить LINQPad из командной строки с аргументами для запуска файла скрипта:

linqpad "path to file" -run

Затем, если вы добавите строку

System.Windows.Forms.SendKeys.SendWait("^+R");

Как первая строка в Main, код будет скрыт.

Обратите внимание на предложение связанного ответа закрыть LINQPad в конце скрипта.

Спасибо за это, @NetMage. Но я не хочу открывать запрос из командной строки. Я имел в виду, что у меня будет внутри linqpad и я открою запрос. Очень похоже на оценщик RegEx, который Джо добавил в последнюю сборку :) Я ценю ответ, однако я узнал о методе SendKeys из этого.

Shrayas 02.04.2019 07:32
Ответ принят как подходящий

Я добавил метод Util.OpenQuery в следующую сборку:

public static Task<bool> OpenQuery (string queryPath, bool run = false,
                                    bool hideEditor = false, params object[] args)

Затем вы сможете вызывать это из Автоматический запрос:

void Main (System.Windows.Forms.Keys key, string currentQueryPath)
{
    if (key == (Keys.Shift | Keys.Control | Keys.Alt | Keys.F1))
        Util.OpenQuery (@"my query.linq", true, true);
}

Это позволит вам автоматизировать до 12 запросов (горячими клавишами Alt+Shift+Ctrl+[F1-F12])

Это именно то, что я хочу! С нетерпением жду следующего билда, Джо. Большое спасибо за этот инструмент и вашу постоянную работу, чтобы сделать его отличным.

Shrayas 02.04.2019 07:34

Небольшой запрос функции: я бы забыл, какие запросы я привязывал к каким горячим клавишам в конечном итоге. Не могли бы вы реализовать для этого что-то похожее на вашу директиву оптимизации? Я мог бы начать запрос с #LINQPad RunOnOpen или чего-то подобного, что при открытии запроса запускало бы его, а другое #LINQPad HideEditor скрывало бы редактор? Просто подбрасываю некоторые мысли по-вашему :) Еще раз спасибо.

Shrayas 02.04.2019 07:36

Я также добавлю ярлык «Открыть и запустить» в диалоговое окно запроса навигации (Control+запятая): twitter.com/linqpad/status/1113001784794992641 Это поможет? Обратите внимание, что параметр #LINQPad RunOnOpen в запросе может рассматриваться как угроза безопасности.

Joe Albahari 03.04.2019 08:22

Да, это точно помогло бы. За исключением того факта, что я должен помнить, чтобы открыть его таким образом. Но я понимаю вашу точку зрения на то, что это угроза безопасности.

Shrayas 04.04.2019 11:33

Выпущена новая бета-версия LINQPad: linqpad.net/download.aspx#бета

Joe Albahari 05.04.2019 05:20

ТЫ ВЕЛИКОЛЕПЕН

Shrayas 10.04.2019 13:16

Другие вопросы по теме