コード例 #1
0
ファイル: Extensions.cs プロジェクト: waodng/VSIX
        ///<summary>Compiles an in-memory string.</summary>
        public static async Task <string> CompileSourceAsync(this NodeExecutorBase compiler, string source, string sourceExtension)
        {
            var sourceFileName = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + sourceExtension);

            try
            {
                File.WriteAllText(sourceFileName, source);
                return(await compiler.CompileToStringAsync(sourceFileName));
            }
            finally
            {
                File.Delete(sourceFileName);
            }
        }
コード例 #2
0
ファイル: Extensions.cs プロジェクト: waodng/VSIX
        ///<summary>Compiles an existing file on disk to a string.</summary>
        public static async Task <string> CompileToStringAsync(this NodeExecutorBase compiler, string sourceFileName)
        {
            // CoffeeScript cannot compile to a different filename.
            var targetFileName = Path.ChangeExtension(sourceFileName, compiler.TargetExtension);

            try
            {
                var result = await compiler.CompileAsync(sourceFileName, targetFileName);

                if (result.IsSuccess)
                {
                    return(result.Result);
                }
                else
                {
                    throw new ExternalException(result.Errors.First().Message);
                }
            }
            finally
            {
                File.Delete(targetFileName);
            }
        }
コード例 #3
0
        private void EditGlobalRtlCssFile()
        {
            string fileName = NodeExecutorBase.GetOrCreateGlobalSettings(RtlCssCompiler.ConfigFileName);

            _dte.ItemOperations.OpenFile(fileName);
        }