javascript - 如何使用 JavaScript 文件和 `@types` 包获得 TypeScript 感知自动完成功能?
问题描述
在寻找使用一个新的相当大的项目(Three.js)和教授初学者时,我可以看到自动完成的吸引力。
但是,对于 Atom,即使使用atom-typescript
包,我也没有找到关于如何设置它的非常明确的指导(我对 TypeScript 语法有些熟悉,但我自己不习惯设置它。)。我希望有像 JavaScript 的类型感知自动完成一样有用的东西,可能有一些针对这个用例的快速入门教程,但我还没有找到任何有助于让事情正常进行的东西。
根据https://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html,我希望我应该能够运行:
pnpm i -D @types/three
...(使用 pnpm 作为我的包管理器)然后添加导入(如果包未定义三个全局@types/three
):
import * as THREE from 'three';
我还跑了pnpm i -D typescript
想 Atom 可能想要访问本地副本。
添加jsconfig.json
以下内容(在根目录中与我的其他文件和package.json
)没有帮助:
{
"compilerOptions": {
"lib": ["es2015", "dom"]
}
}
在atom-typescript
我启用了“为 JavaScript 文件启用 Atom-TypeScript(实验性)”。我拥有的唯一一个名称中带有“typescript”的包是“language-typescript”(并且我已经禁用了“ide-typescript”)。
即使我需要建立自己的声明文件,我不应该得到错误吗?
添加我自己的声明文件似乎并没有改变任何东西。threed.d.ts
:
declare module "threed" {
}
我希望至少会出现关于没有类型但没有得到任何东西的错误。
我还根据https://github.com/TypeStrong/atom-typescript/blob/master/docs/faq.md#i-want-to-use-atom-typescript-with-javascript~/.atom/init.coffee
在我的文件中添加了以下内容-太:
#CHANGE THE PACKAGE NAME IN THE NEXT LINE IF YOU'RE USING
#A DIFFERENT GRAMMAR PACKAGE
do (grammarPackageImUsing = "language-javascript") ->
atom.packages.onDidTriggerActivationHook "#{grammarPackageImUsing}:grammar-used", ->
atom.packages.triggerActivationHook 'language-typescript:grammar-used'
...并重新启动。
我也试过 command-shift-P 和TypeScript: Activate
. 没有什么。我错过了什么?
解决方案
推荐阅读
- python - 是否可以根据 Windows 10 当前的浅色/深色主题配置更改 tkinter 应用程序的主题?
- java - Android应用设备体积
- swift - 将字符串中的所有“char”替换为“charchar”
- ios - Expo build:ios 尝试确保 Apple Developer Portal 上存在 App ID 时出现问题
- python - 通过 xmlrpc 库连接 Odoo 12 错误
- azure - 访问 azure AD 上的级别以进行应用程序注册
- google-rich-snippets - 丰富网页摘要(评论)未在 Google 中显示
- vue.js - 重新执行过滤器/方法
- vue.js - Vue:从导入更新数据()中的值
- asp.net - 使用 context.RunClaimsAction(user) 在 asp.net 中实现 OAuth 错误