繁体   English   中英

"VSCODE Javascript ----如何隐式导入库"

[英]VSCODE Javascript ----how to Implicit import library

想在引用库的时候隐藏“导入”,也就是本地/全局导入,正常使用库的内容是可以实现的,还是已经实现了?

我在插件加载器中使用这些代码,所以我不需要导入它。 它只是一个提示查看注释的工具。

我正在使用 VSCODE 及其内置的 JavaScript

例子:

import { mc } from "./Libary/Game/Player";

mc.runcmd('kill u m')

想用:

mc.runcmd('kill u m')

并且还可以看到注释和函数类型等。

我认为目前这是不可能实现的,也不应该是这样,因为:

  1. 导入与 javascript 语言中的模块的工作方式有关

  2. 它可能会导致很多问题。

    例如,假设您有两个游戏,例如Game1<\/code>和Game2<\/code> ,它们都有一个mc<\/code>方法:

     VScode 应该如何决定在这里导入什么?

    但是当您使用普通的 javascript 导入时,只需更改名称导入,如下所示:

在 vscode 中是不可能的,这个功能是在 IntelliJ IDEA 的一个版本中引入的,但他们必须在 2 周内回滚到以前的版本。 它给程序员带来了太多的麻烦。 将两个程序彼此分开变得非常困难,而且构建文件的大小随着每个新项目的增加而不断增加。
如果您仍然想这样做,请使用@David shortman 分享的想法

通过在.d.ts文件中声明库的 API 并在项目的根目录中设置jsconfig.json ,VSCode 将自动将这些定义包含在全局范围内。

这是一个具有mc.runcmd功能用法的示例存储库: https ://github.dev/david-shortman/vscode-javascript-how-to-implicit-import-library

有关声明文件的更多信息 - https://www.typescriptlang.org/docs/handbook/declaration-files/templates/module-d-ts.html

更多关于jsconfig.json - https://www.typescriptlang.org/docs/handbook/tsconfig-json.html#using-tsconfigjson-or-jsconfigjson

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM