TypeScript 与 JavaScript 语言服务
TypeScript vs JavaScript Language Service
Monaco 编辑器同时提供 JavaScript 和 TypeScript 语言服务,但是根据我的研究和体验,它们都使用基本相同的 worker 并做几乎相同的事情。
这两个 "language" 服务到底有什么区别。看起来我的 TypeScript 代码在 JavaScript 服务中运行良好,当然我的 JavaScript 在 TypeScript 语言模式下运行良好。
通过大量测试;它们实际上看起来是相同的服务,只是有两个不同的配置。有人可以确认它们是完全相同的服务,只是两个不同的配置;还是我缺少的语言服务中有更深层次的东西。
这个问题的目的是我有很多输入要加载到编辑器中;但用户可能使用的是 JS 或 TS,如果它们是同一个引擎;然后我会将编辑器始终置于 TS 模式以处理任何 JS 或 TS 文件,以消除向两个引擎添加重复输入所需要的大量额外内存
是的,它们是一样的 - 参见 https://github.com/Microsoft/monaco-typescript/blob/master/src/monaco.contribution.ts
我个人只是将它们添加到两者中。由于 monaco 目前仅针对桌面 - 我会说内存比让所有 JS 都是 TS 更不是问题 - 至少你必须确保 TS 作为 JS 在可接受的 ES "level".
Monaco 编辑器同时提供 JavaScript 和 TypeScript 语言服务,但是根据我的研究和体验,它们都使用基本相同的 worker 并做几乎相同的事情。
这两个 "language" 服务到底有什么区别。看起来我的 TypeScript 代码在 JavaScript 服务中运行良好,当然我的 JavaScript 在 TypeScript 语言模式下运行良好。
通过大量测试;它们实际上看起来是相同的服务,只是有两个不同的配置。有人可以确认它们是完全相同的服务,只是两个不同的配置;还是我缺少的语言服务中有更深层次的东西。
这个问题的目的是我有很多输入要加载到编辑器中;但用户可能使用的是 JS 或 TS,如果它们是同一个引擎;然后我会将编辑器始终置于 TS 模式以处理任何 JS 或 TS 文件,以消除向两个引擎添加重复输入所需要的大量额外内存
是的,它们是一样的 - 参见 https://github.com/Microsoft/monaco-typescript/blob/master/src/monaco.contribution.ts
我个人只是将它们添加到两者中。由于 monaco 目前仅针对桌面 - 我会说内存比让所有 JS 都是 TS 更不是问题 - 至少你必须确保 TS 作为 JS 在可接受的 ES "level".