Есть ли способ, с помощью которого, когда я открываю запрос в LINQPad, он выполняет его и помещает меня в представление только результатов? Предполагаемый вариант использования этого — написание небольших приложений в LINQPad. Я не хочу каждый раз нажимать F5 и Ctrl+Shift+R.
Мотивом для этого является недавно выпущенная утилита RegEx в версии 5.36. Это тоже скрипт, который делает то же самое.
Вы можете запустить LINQPad из командной строки с аргументами для запуска файла скрипта:
linqpad "path to file" -run
Затем, если вы добавите строку
System.Windows.Forms.SendKeys.SendWait("^+R");
Как первая строка в Main
, код будет скрыт.
Обратите внимание на предложение связанного ответа закрыть LINQPad в конце скрипта.
Спасибо за это, @NetMage. Но я не хочу открывать запрос из командной строки. Я имел в виду, что у меня будет внутри linqpad и я открою запрос. Очень похоже на оценщик RegEx, который Джо добавил в последнюю сборку :) Я ценю ответ, однако я узнал о методе SendKeys
из этого.
Я добавил метод 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])
Это именно то, что я хочу! С нетерпением жду следующего билда, Джо. Большое спасибо за этот инструмент и вашу постоянную работу, чтобы сделать его отличным.
Небольшой запрос функции: я бы забыл, какие запросы я привязывал к каким горячим клавишам в конечном итоге. Не могли бы вы реализовать для этого что-то похожее на вашу директиву оптимизации? Я мог бы начать запрос с #LINQPad RunOnOpen
или чего-то подобного, что при открытии запроса запускало бы его, а другое #LINQPad HideEditor
скрывало бы редактор? Просто подбрасываю некоторые мысли по-вашему :) Еще раз спасибо.
Я также добавлю ярлык «Открыть и запустить» в диалоговое окно запроса навигации (Control+запятая): twitter.com/linqpad/status/1113001784794992641 Это поможет? Обратите внимание, что параметр #LINQPad RunOnOpen в запросе может рассматриваться как угроза безопасности.
Да, это точно помогло бы. За исключением того факта, что я должен помнить, чтобы открыть его таким образом. Но я понимаю вашу точку зрения на то, что это угроза безопасности.
Выпущена новая бета-версия LINQPad: linqpad.net/download.aspx#бета
ТЫ ВЕЛИКОЛЕПЕН
Я могу частично помочь вам - поставить
System.Windows.Forms.SendKeys.SendWait("^+R");
после открывающей скобки дляMain
для автонабора Ctrl-Shift-R.