0

我正在尝试使用 TypeScript,我正在使用Notepad++来编写TypeScript,并使用NppExec插件来编译我的脚本。似乎它应该可以工作,但有一个非常奇怪的问题:NppExec 只向我显示输出到:第一个警告/错误消息的文本之前。例如,假设编译输出应该是这样的:

C:/temp/tstest/test.ts(26,14): Supplied parameters do not match any signature of call target
C:/temp/tstest/test.ts(33,9): Supplied parameters do not match any signature of call target

我将在 NppExec 控制台窗口中看到的是:

node C:\temp\tstest\node_modules\typescript\bin\tsc.js C:\temp\tstest\test.ts
Process started >>>
C:/temp/tstest/test.ts(26,14): <<< Process finished. (Exit code 1)
================ READY ================

请注意,它在第一个):.

非常有趣的是,如果我将 JavaScript 引擎从 Node 更改为 cscript(Windows 脚本宿主),那么它可以工作......但需要永远!如果我使用 cscript 执行相同的命令,我会看到以下内容:

cscript C:\temp\tstest\node_modules\typescript\bin\tsc.js C:\temp\tstest\test.ts
Process started >>>
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.

C:/temp/tstest/test.ts(26,14): Supplied parameters do not match any signature of call target
C:/temp/tstest/test.ts(33,9): Supplied parameters do not match any signature of call target
<<< Process finished. (Exit code 1)
================ READY ================

关于去哪里的任何建议?我更愿意使用 Node,因为它更快......

这是一个演示所有这些的视频: http: //screencast.com/t/xxgodAU8

编辑:事实证明,如果您将-w开关(“监视文件并在更改时重建”开关)传递给 tsc.js,它将在由 Node 执行时工作......但它不会只构建一次,它会继续构建和在你杀死它之前,这个过程不会结束。

4

3 回答 3

1

我开始了一个记事本++插件项目。你可以在这里找到它: https ://github.com/hansrwindhoff/nppPluginTypescript.git

确实在保存时编译并在nodejs中运行js

如果有人想加入智能感知,那就太好了!

在以下位置有一个语法着色 xml 文件: https ://gist.github.com/wate/5077019 这个要点与我无关。

于 2013-07-19T04:25:48.680 回答
0

前段时间我在 Codeplex 发起了一个功能请求。问题似乎是 nodejs 如何刷新其缓冲区的方式。请参阅 github 和 codeplex 上的讨论:

http://typescript.codeplex.com/workitem/115

https://github.com/joyent/node/issues/4640#issuecomment-12542632

您可能想为该请求投票,以便其优先级上升。

于 2014-05-04T20:26:21.453 回答
0

我没有答案给你,但我可以给你一些关于攻击计划的想法。

可能正在输出整个消息,但某些特殊字符或序列使 Notepad++ 停止处理它。将输出重定向到文件以查看那里发生了什么。十六进制编辑器插件可能会有所帮助。有了这些知识,您可以通过awksed之类的工具对命令输出进行管道传输,以重写有问题的位,以便 Notepad++ 喜欢它。

于 2013-07-11T16:11:57.577 回答