Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NativeScript中Java类的Intellisense_Java_Visual Studio Code_Nativescript - Fatal编程技术网

NativeScript中Java类的Intellisense

NativeScript中Java类的Intellisense,java,visual-studio-code,nativescript,Java,Visual Studio Code,Nativescript,我在我的NativeScript项目中使用了一些本机Android代码,其中使用了一些Java类(如StringBuilder或InputStreamReader)。我安装了tns平台声明,我有针对Android的intellisense(或者至少是其中的一部分),但不适用于这些纯Java类 我目前使用它们的方式如下: let out = new java.lang.StringBuilder(); let sr = new java.io.InputStreamReader(stream, "

我在我的NativeScript项目中使用了一些本机Android代码,其中使用了一些Java类(如
StringBuilder
InputStreamReader
)。我安装了
tns平台声明
,我有针对Android的intellisense(或者至少是其中的一部分),但不适用于这些纯Java类

我目前使用它们的方式如下:

let out = new java.lang.StringBuilder();
let sr = new java.io.InputStreamReader(stream, "UTF-8");
问题是,我没有获得任何智能感知,例如
InputStreamReader
构造函数重载和参数,也没有稍后在其上使用的
read()
方法<代码>StringBuilder和
InputStreamReader
属于此处的
any
类型


是否可以在NativeScript和Visual Studio代码中为所有Java类提供intellisense?

如插件自述中所述

创建
reference.d.ts
并添加以下内容:

/// <reference path="./node_modules/tns-platform-declarations/ios.d.ts" />

/// <reference path="./node_modules/tns-platform-declarations/android.d.ts" />
//
/// 

谢谢您的回答。我的项目中有这个文件,但名为
references.d.ts
。我不确定这是否是原因。然后我还删除了
declare var java:any从文件顶部开始,现在intellisense开始工作。虽然如果我将
ios.d.ts
行留在
reference.d.ts
文件中,我会得到
node_modules/tns core modules/tns core modules.d.ts(170,15):错误TS2300:重复标识符“NativeScriptEmbedder”。node_modules/tns平台声明/ios/objc-x86_64/objc!NativeScriptEmbedder.d.ts(2,15):错误TS2300:重复标识符'NativeScriptEmbedder'。
我现在不需要ios。我认为
引用.d.ts应该仍然可以,
声明变量java:any应该是您案例中的问题。当您不必包含平台声明时,可以使用该声明语句,只是为了在没有intellisense的情况下防止编译器错误。