【问题标题】:CoffeeScript IntellisenseCoffeeScript 智能感知
【发布时间】:2023-10-15 08:24:01
【问题描述】:

我使用 Visual Studio 进行开发,我很习惯 Intellisense。但是在编写 CoffeeScript 时,您并没有真正得到任何语法检查或 Intellisense。

是否有 VS 插件可以实现这一点?

谢谢

【问题讨论】:

  • 您可以获得语法着色/检查,但仅此而已,coffeescript 的代码完成在任何 IDE AFAIK 中都不存在
  • @Guillaume86 那么 TypeScript 会是一个替代方案吗?不过它相对较新。
  • 是的,如果您想要完整的 IDE 体验(代码完成/重构/等)typescript 可以做到,如果您不介意您的生成的 javascript 可读性较差(coffeescript 生成的代码也存在一些问题)。
  • @Guillaume86 这很有趣.. 你的意思是 .NET 到 JS 吗?喜欢 VB.NET -> JS?如果是这样,那就把它作为答案发布,所以我会接受它。 :)

标签: visual-studio-2010 coffeescript visual-studio-2012


【解决方案1】:

您只能使用 coffeescript(在任何 IDE 上)AFAIK 进行语法检查/着色。

作为替代方案,您可以使用 TypeScript 来获得完整的 Visual Studio 工具支持(并与 javascript 保持一致),或者使用一些将代码转换为 javascript 的转编译器,对于 C# 有 Saltarelle 和对于 CIL (.NET字节码,因此与任何 .NET 语言兼容),我刚刚找到了JSIL,但我不知道它的效果如何。

请注意,生成的代码“外观”对于调试很重要,使用外部库需要做一些工作才能包含在类型化语言中。

为了 js 代码的可读性,我会推荐 TypeScript(类似于 coffeescript,更简单,但作为一种语言没有那么强大)。 Saltarelle 代码看起来可读(没有尝试很多),对于 JSIL 我不知道。

编译成 JS 的语言列表:https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

【讨论】:

  • 是否有适用于 JSIL 的构建?
  • 对不起,我不知道我从未使用过 JSIL,但它看起来不像 ATM 存在后构建任务,您必须创建一个
  • “TypeScript(类似于coffeescript,更简单,但作为一种语言没有那么强大)”——这些都不是真的,抱歉。不过我还是推荐 TS。
  • 我说的是生成代码的相似性(例如比较一个 TS 和一个 CS 类生成的代码)。 Coffeescript 中提供的许多语言结构在 TS 中不可用(相反的情况并非如此,module 除外),这在我看来使它成为一种不那么强大的语言。
  • WebStorm 基于文本分析像js一样解析CoffeeScript。
【解决方案2】:

Webstorm 和所有 JetBrains IDE 最近添加了一些代码完成和重构支持。它知道我自己的类中有哪些方法,并会在我键入时提示完成。键入时的红色波浪下划线编译还没有出现,但它即将到来。我敢打赌 Webstorm 也是第一个实现 CS source map 的。在过去的 11 个月里,他们增加了很多。

【讨论】:

    【解决方案3】:

    看看这个:http://visualstudiogallery.msdn.microsoft.com/2b96d16a-c986-4501-8f97-8008f9db141a

    这是另一个:http://chirpy.codeplex.com/

    我认为这应该可以满足您的需求。

    【讨论】:

    • 这些只添加编译,而不是智能感知。