23

由于我们将代码库升级到 Angular 11,我在 VSCode 中收到了这条消息:

某些语言功能不可用。要访问所有功能,请strictTemplates在 中启用angularCompilerOptions

来源:Angular 语言服务(扩展)

带有“打开 tsconfig.json”的链接,如下所示:

上述文本的可视化

我期待启用此功能并享受新功能。但我想抽出时间来做和测试。目前,VSCode 中的弹出窗口一直在出现,这既烦人又让人分心。

我如何(暂时)抑制此消息,最好是针对我当前的工作区?


  • Angular 语言服务 ( angular.ng-template) v11.2.3
  • Windows 10 上的 Visual Studio Code 版本 1.53.2
4

7 回答 7

15

嗨,伙计们,我遇到了同样的问题,但是我这样做了,并且该消息停止显示...希望对我们有所帮助。

tsconfig.json

{
  "extends": "../../tsconfig.json",
  "compilerOptions": {
    "types": ["node", "jest"]
  },
  "include": [...],
  "angularCompilerOptions": {
    "strictTemplates": true
  }
}

配置

于 2021-02-25T16:51:07.817 回答
6

在 Angular 12 中,Ivy 是默认引擎。当您在本地安装了版本 11 并且您的 Angular 语言服务扩展在版本 12 中时,您开始收到该消息,选项是将您的 angular(和依赖项)的本地副本更新到版本 12 并配置编译器,或者安装如上面的一些答案所示,较低版本的 Angular 语言服务。

或单击 Angular 语言服务中的该选项 单击该选项以删除该消息

当然不鼓励这样做。因为未来是常春藤:)。但在社区和不同依赖项之间的一切准备就绪之前,这是一个临时选项

于 2021-05-21T08:13:20.827 回答
1

这是引入此警告的 PR: https ://github.com/angular/vscode-ng-language-service/pull/1097

您的项目是否使用多个.tsconfig文件?我相信每次.tsconfig发现新的 Angular 语言服务都需要重新启动,这会触发此错误。我将研究为什么没有永久抑制错误的选项。

于 2021-03-10T03:26:07.110 回答
1

对于Angular 10+

只需添加这些行:

"angularCompilerOptions": {

   "fullTemplateTypeCheck": true,
   "preserveWhitespaces": true

}

有关更多信息,请参阅文档:Doc

于 2021-05-04T11:12:33.110 回答
1

tsconfig.json从根位置打开文件。添加"strictTemplates": true

这就是 tsconfig.json 的样子:

/* To learn more about this file see: https://angular.io/config/tsconfig. */
{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "module": "es2020",
    "lib": ["es2018", "dom"]
  },
  "angularCompilerOptions": {
    "enableI18nLegacyMessageIdFormat": false,
    "strictTemplates": true
  }
}
于 2021-05-13T20:29:44.683 回答
1

如果为工作区创建 .code-workspace 文件,则可以添加以下内容以禁用提示:

    "settings": {
        "angular.enable-strict-mode-prompt": false
    }

注意:如果你打开工作区,上面显示的提示应该有一个额外的按钮来为你添加这个设置:

弹出按钮

于 2021-06-18T14:24:16.920 回答
0

我有同样的问题,它似乎通过安装 Angular Extension Pack 消失了。

于 2021-02-24T17:41:35.553 回答