首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只有在TypeScript文件中才能使用monaco类型的注释。

只有在TypeScript文件中才能使用monaco类型的注释。
EN

Stack Overflow用户
提问于 2021-09-16 06:34:46
回答 1查看 148关注 0票数 0

我不明白为什么monaco editor不能处理typescript文件。

下面是我传递给编辑器的源代码:

代码语言:javascript
运行
复制
import React from 'react';
import styles from './Test.scss';

export const Test = (foo: number) => {
    return (
        <div className={styles.container}>Test</div>
    );
}

和选项:

语言= typescript +

代码语言:javascript
运行
复制
monaco.languages.typescript.typescriptDefaults.setCompilerOptions({
      target: monaco.languages.typescript.ScriptTarget.Latest,
      allowNonTsExtensions: true,
      moduleResolution: monaco.languages.typescript.ModuleResolutionKind.NodeJs,
      module: monaco.languages.typescript.ModuleKind.CommonJS,
      noEmit: true,
      esModuleInterop: true,
      jsx: monaco.languages.typescript.JsxEmit.React,
      reactNamespace: "React",
      allowJs: true,
      typeRoots: ["node_modules/@types"],
    });

所以我告诉编辑器“这是一个打字文件”,但是foo: number显示错误Type annotations can only be used in TypeScript files.(8010)

如何应对?

附注:这是一个web应用程序,即monaco editor不在VS代码中

EN

回答 1

Stack Overflow用户

发布于 2021-09-16 07:27:56

您没有将语言设置为"typescript“。这里的所有设置都在基础语言之上(例如JSX支持、脚本目标、模块解析等)。

要设置语言,可以使用editor.setModelLanguage(yourModel, "typescript"); (如果模型已经存在,例如编辑器中的默认模型),或者创建自己的模型并在创建调用中指定语言:editor.createModel(content, language, uri);

检查ITextModel.getModeId();以查看它是否使用正确的语言。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69203395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档