我已经尝试了很长时间,但无论我做什么,我似乎无法让Visual Studio Code intellisense超越单个文件的打字稿。这是在Windows和Ubuntu上。
我已经包含了一个tsconfig.json文件,但它在项目规模上仍然没有任何智能感知。
我当前的测试项目包含以下内容:
tsconfig.json:
configChanges="orientation|keyboardHidden|screenSize"
tasks.json:
{
"compilerOptions": {
"module": "commonjs",
"out": "test.js"
},
"files": [
"test2.ts",
"tester.ts"
]
}
test2.ts:
{
"version": "0.1.0",
"command": "tsc",
"showOutput": "always",
"windows": {
"command": "tsc.exe"
},
"args": ["-p", "."],
"problemMatcher": "$tsc"
}
tester.ts:
module test
{
export class test2
{
}
}
在课堂测试中,即使我将其更改为test.test2,test2也不会被智能感知器拾取。向test2添加变量也无济于事。
有没有人知道为什么它根本不起作用的任何可能的原因?
答案 0 :(得分:6)
这是因为您告诉编译器您正在使用外部模块:
"module": "commonjs",
但你实际上是在尝试使用内部模块:
module test
最好选择其中一种方式。
如果您使用的是外部模块 - 请使用:
test2.ts
export class test2 {
}
tester.ts
import ModuleAlias = require('test2');
export class tester {
public testy: ModuleAlias.test2;
}
如果您没有使用外部模块,则可以使用原始代码,但请删除"module": "commonjs"
标记。
{
"compilerOptions": {
"out": "test.js"
},
"files": [
"test2.ts",
"tester.ts"
]
}
答案 1 :(得分:1)
node_modules文件夹的Intellisense在版本< = 2.0.3(当前)中不起作用。
它将在2.0.5版(https://github.com/Microsoft/TypeScript/issues/9323)
中提供暂时修复你可以使用夜间构建: npm install -g typescript @ next
它对我有用。
答案 2 :(得分:1)
对于遇到此问题的任何人,请尝试将其替换:
const { ConnectionPool } = require("mssql");
与此:
import { ConnectionPool } from "mssql"
...用于您的等效库。这解决了我的问题。
当然不要忘记同时需要实现和@type模块:
npm i mssql
npm i -D @types/mssql
答案 3 :(得分:0)
我会将tsconfig.json更新为相对路径:
January 1, 2012 | 01:01 AM
另外,史蒂夫不要混淆模块(虽然这不会出现错误)。而且,也许不要使用:https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md
答案 4 :(得分:0)
这不是打字稿的问题。
在可视代码1.9之后,它们存在安全问题。它尝试从您的Windows驱动器中读取一些数据,如果您没有权限,则它不会显示智能感知。
如果您的系统没有完全管理员权限,请卸载1.9.x版本并安装VSCodeSetup-1.8.1
这适合我。
答案 5 :(得分:0)
答案 6 :(得分:0)
检查设置 std::is_same<from,CStringArray>::value
并确保将其设置为 typescript.suggest.autoimports
。
我遇到了同样的问题,禁用了我的所有扩展程序,但它仍然无法正常工作。我检查了内部版本,它在同一个项目上工作 - 对我来说,这意味着两件事:
true
设置,因为内部构建使用相同的配置文件。我检查了我的用户设置文件(单击图标向您显示修改设置的 JSON 版本),发现该文件被我有一段时间没有使用的扩展程序添加的设置污染了。我开始整理这个文件并进行设置,我最终发现了这个:
tsconfig.json
设置为 false。我将其更改为 true,瞧 - 它开始工作了。
我不知道是什么将其更改为 false(我知道它可能是我使用的扩展名 Typescript Importer,但我不能确定。
答案 7 :(得分:0)