protected override byte[] GenerateCode(string inputFileName, string inputFileContent) { ProjectItem item = (Dte as DTE2).Solution.FindProjectItem(inputFileName); originalExt = Path.GetExtension(inputFileName); if (item != null) { try { var dts = GenerationService.ConvertToTypeScript(item); Telemetry.TrackOperation("FileGenerated"); InsertToIndex(item, Path.GetFileNameWithoutExtension(inputFileName)); return(Encoding.UTF8.GetBytes(dts)); } catch (Exception ex) { Telemetry.TrackOperation("FileGenerated", Microsoft.VisualStudio.Telemetry.TelemetryResult.Failure); Telemetry.TrackException("FileGenerated", ex); } } return(new byte[0]); }
protected override byte[] GenerateCode(string inputFileName, string inputFileContent) { ProjectItem item = Dte.Solution.FindProjectItem(inputFileName); this.originalExt = Path.GetExtension(inputFileName); if (item != null) { // Sometimes "DtsPackage.Options"==null at this point. Make sure that options get loaded now. DtsPackage.EnsurePackageLoad(); try { string dts = GenerationService.ConvertToTypeScript(item); Telemetry.TrackOperation("FileGenerated"); return(Encoding.UTF8.GetBytes(dts)); } catch (Exception ex) { Telemetry.TrackOperation("FileGenerated", Microsoft.VisualStudio.Telemetry.TelemetryResult.Failure); Telemetry.TrackException("FileGenerated", ex); } } return(new byte[0]); }
protected override byte[] GenerateCode(string inputFileName, string inputFileContent) { ProjectItem item = Dte.Solution.FindProjectItem(inputFileName); OriginalExt = Path.GetExtension(inputFileName); if (item != null) { try { Telemetry.TrackOperation("FileGenerated"); string output = GenerationService.ConvertToTypeScript(item); if (!string.IsNullOrWhiteSpace(Options.NodeModulePath)) { // generate a Node module instead of a d.ts file. string outputFile = Path.ChangeExtension(inputFileName, ".ts"); string projectPath = Path.GetDirectoryName(item.ContainingProject.FileName); outputFile = outputFile.Substring(projectPath.Length + 1); // strip the initial part of the path outputFile = Path.Combine(projectPath, Options.NodeModulePath, outputFile); var di = Directory.CreateDirectory(Path.GetDirectoryName(outputFile)); if (di != null && di.Exists) { VSHelpers.CheckFileOutOfSourceControl(outputFile); File.WriteAllText(outputFile, output); output = $"// Node module file generated at {MakeRelativePath(InputFilePath, outputFile)}"; } } return(Encoding.UTF8.GetBytes(output)); } catch (Exception ex) { VSHelpers.WriteOnOutputWindow(string.Format("{0} - File Generation Failure", inputFileName)); VSHelpers.WriteOnOutputWindow(ex.StackTrace); Telemetry.TrackOperation("FileGenerated", Microsoft.VisualStudio.Telemetry.TelemetryResult.Failure); Telemetry.TrackException("FileGenerated", ex); } } return(new byte[0]); }