Backend/RiderPlugin/ForTea.RiderPlugin/ProtocolAware/Action/T4PreprocessTemplateAction.cs (27 lines of code) (raw):

using JetBrains.Application.DataContext; using JetBrains.Application.UI.Actions; using JetBrains.Application.UI.ActionsRevised.Menu; using JetBrains.Diagnostics; using JetBrains.ForTea.RiderPlugin.Model; using JetBrains.ForTea.RiderPlugin.ProtocolAware.Services; using JetBrains.ForTea.RiderPlugin.Resources; using JetBrains.ProjectModel; using JetBrains.ReSharper.Feature.Services.Protocol; namespace JetBrains.ForTea.RiderPlugin.ProtocolAware.Action { [Action(typeof(Strings), nameof(Strings.PreprocessTemplate_Text))] public sealed class T4PreprocessTemplateAction : T4FileBasedActionBase { public override void Execute(IDataContext context, DelegateExecute nextExecute) { var solution = FindSolution(context).NotNull(); var model = solution.GetProtocolSolution().GetT4ProtocolModel(); var statistics = solution.GetComponent<Application.ActivityTrackingNew.UsageStatistics>(); model.PreprocessingStarted(); var file = FindT4File(context, solution).NotNull(); statistics.TrackAction(T4StatisticIdBundle.PreprocessFromContextMenu); var preprocessingManager = solution.GetComponent<IT4TemplatePreprocessingManager>(); model.PreprocessingFinished(preprocessingManager.Preprocess(file)); } } }