在 PhpStorm 中不使用 TypeScript 时如何忽略打字字段?
How to ignore typings-field when not using TypeScript in PhpStorm?
在 JetBrains PhpStorm 2019.3 中,我使用 JavaScript ES6。
现在,如果我安装例如Foundation for Sites 并在名为 main.js:
的文件中使用以下代码
import {Dropdown, DropdownMenu, Accordion} from 'foundation-sites';
当 CTRL + 在 'foundation-sites'
上单击 时,PhpStorm 将我发送到:
node_modules/foundation-sites/dist/js/foundation.d.ts
尽管我不使用 TypeScript。预期的行为将跳转到:
node_modules/foundation-sites/dist/js/foundation.es6.js
我可以通过更改基础站点中的 typings
字段来更改此行为 package.json:
- "typings": "dist/js/foundation.d.ts",
+ "typings": "dist/js/foundation.es6.js",
但是,更改第三方代码中的 package.json 字段只是为了修复 PhpStorm 移动到错误的文件似乎很不方便。如何让 PhpStorm 在不使用 TypeScript 时忽略 TypeScript 引用和字段?
无法告诉 IDE 忽略 typings
字段 - 它使用 TypeScript 定义文件来为其库方法的代码完成提供支持。通常它使用以下规则进行导航:
- 如果类型定义安装在
node_modules/@types
文件夹中,IDE 会在使用 Ctrl+click
时尝试导航到库的 JavaScript 源。请注意,这仅适用于 .d.ts
文件中定义为 类 的符号、变量或函数(而不是接口或类型)。
- 如果类型定义在模块内可用,IDEA 默认情况下不会索引 JavaScript 源,因此无法导航到它们。要索引这些文件,您需要从模块文件夹右键菜单中选择 Include Javascript Files。
更糟糕的是,尽管 foundation-sites
捆绑了打字,但这些打字不正确(参见 https://github.com/foundation/foundation-sites/issues/11653 和链接的票证),所以 IDEA 不能将 ES6 导入映射到来自 foundation.d.ts
.
的接口
我能想到的唯一解决方法是注释掉 package.json
中的 "typings": "dist/js/foundation.d.ts",
- IDEA 将使用 foundation.es6.js
中的声明来完成和导航
在 JetBrains PhpStorm 2019.3 中,我使用 JavaScript ES6。 现在,如果我安装例如Foundation for Sites 并在名为 main.js:
的文件中使用以下代码import {Dropdown, DropdownMenu, Accordion} from 'foundation-sites';
当 CTRL + 在 'foundation-sites'
上单击 时,PhpStorm 将我发送到:
node_modules/foundation-sites/dist/js/foundation.d.ts
尽管我不使用 TypeScript。预期的行为将跳转到:
node_modules/foundation-sites/dist/js/foundation.es6.js
我可以通过更改基础站点中的 typings
字段来更改此行为 package.json:
- "typings": "dist/js/foundation.d.ts",
+ "typings": "dist/js/foundation.es6.js",
但是,更改第三方代码中的 package.json 字段只是为了修复 PhpStorm 移动到错误的文件似乎很不方便。如何让 PhpStorm 在不使用 TypeScript 时忽略 TypeScript 引用和字段?
无法告诉 IDE 忽略 typings
字段 - 它使用 TypeScript 定义文件来为其库方法的代码完成提供支持。通常它使用以下规则进行导航:
- 如果类型定义安装在
node_modules/@types
文件夹中,IDE 会在使用Ctrl+click
时尝试导航到库的 JavaScript 源。请注意,这仅适用于.d.ts
文件中定义为 类 的符号、变量或函数(而不是接口或类型)。 - 如果类型定义在模块内可用,IDEA 默认情况下不会索引 JavaScript 源,因此无法导航到它们。要索引这些文件,您需要从模块文件夹右键菜单中选择 Include Javascript Files。
更糟糕的是,尽管 foundation-sites
捆绑了打字,但这些打字不正确(参见 https://github.com/foundation/foundation-sites/issues/11653 和链接的票证),所以 IDEA 不能将 ES6 导入映射到来自 foundation.d.ts
.
我能想到的唯一解决方法是注释掉 package.json
中的 "typings": "dist/js/foundation.d.ts",
- IDEA 将使用 foundation.es6.js
中的声明来完成和导航