有没有一种方法可以为Typescript项目中的Javascript文件启用智能感知? 如果我从这样的javascript包中导入函数:
import foo from "js-package"
现在我在index.js中,我看到了智能感知器在拾取JsDoc注释并列出了该函数采用的参数; 但是,如果我在.ts文件中,则不会得到任何信息。 如何使用VS Code在.ts文件中启用Js intellisense?
编辑: 这就是发生的情况:
具有讽刺意味的,不是吗?
答案 0 :(得分:5)
您不需要不需要任何插件。只需添加以下内容即可在您的tsconfig.json
中启用typeAcquisition:
{
...
"typeAcquisition": {
"enable": true
}
}
这可以自动检测和下载打字稿的定义文件。 更改设置时,我经常重新加载窗口(重新启动vscode),以确保已读取设置。不过,这并不总是必要的。
如果使用tsconfig.json,则默认情况下禁用此功能 配置文件,但可以将其设置为启用,如进一步概述 下面)。 source
它以前在typeOptions.enableAutoDiscovery下,但已重构为typeAcquisition.enable,如此Github issue所示。您仍然可以在此网站上找到对它的引用。我发现很难找到有关typeAcquisition的信息,但是schema证明了它的存在。
丢失 tsconfig.json
?在the top answer here之后创建一个。
答案 1 :(得分:0)
您无需为intellisense
初始化typescript
,它会自动检测是否要显式执行。您可以检查下面的图像,可以从中选择language
{{3 }}
答案 2 :(得分:0)
也许您有选项# Bind CTRL+a to the prefix button
set -g prefix C-a
unbind C-b
bind C-a send-prefix
bind a send-prefix
# Remove the delay of escape key
set -s escape-time 0
# Bind PREFIX + r to reload the .conf file
unbind r
bind r source-file ~/.tmux.conf
# Quick pane cycling
unbind ^A
bind ^A select-pane -t :.+
set -g base-index 1
setw -g pane-base-index 1
set-option -g default-shell "/bin/bash"
# List of tmux plugins
set -g @plugin 'tmux-plugins/tmux-resurrect'
# Plugin manager
run '~/.tmux/plugins/tpm/tpm'
# Enable mouse support on tmux
set -g mouse on
# Rebind the pane switching to vim-like shortcuts
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R
unbind Up
unbind Down
unbind Left
unbind Right
unbind C-Up
unbind C-Down
unbind C-Left
unbind C-Right
# Set the tmux colors to default
set -g default-terminal screen-256color
。
在这种情况下,将其设置为"typescript.suggest.completeJSDocs": false
可以为您提供帮助。
https://code.visualstudio.com/docs/languages/typescript#_jsdoc-support
请记住,将JSDoc用于TypeScript代码时,不应包含类型注释。 TypeScript编译器仅使用TypeScript类型注释,而忽略JSDoc中的注释。
答案 3 :(得分:0)
我在使用npm模块时遇到了这个问题,该模块没有来自绝对类型的类型定义。
现在我才弄清楚,如果您在.ts文件中添加对.js文件的引用,您将获得对该引用文件的智能感知。
我的文件顶部看起来像这样:
///<reference path="../node_modules/tinkerforge/Tinkerforge.js" />
///<reference path="../node_modules/tinkerforge/lib/IPConnection.js" />
import * as tinkerforge from "tinkerforge";
let ip = new tinkerforge.IPConnection();
ip.connect();
对我来说,这似乎是一种黑客,但是它确实满足了我的期望,而无需为此模块编写d.ts文件。
其他任何人都可以尝试并确认它有效吗?
答案 4 :(得分:-1)
您可能想在checkJs中启用compiler options。使用checkJs选项,TypeScript编译器可以基于基本类型推断和JSDoc来检查JavaScript代码上的类型。
另一种方法是自己处理模块:TypeScript对此有a nice documentation。
答案 5 :(得分:-1)
您尝试过“ IntelliCode”扩展名吗?
请在此处找到链接: https://marketplace.visualstudio.com/items?itemName=VisualStudioExptTeam.vscodeintellicode