小编Ree*_*mes的帖子

Visual Studio代码 - Java - 导入错误等

刚开始在工作中开始处理现有项目,并希望使用Visual Studio Code作为我的编辑器(我已将它用于最近的Rails项目,并且喜欢它,所以想用Java尝试).

但是,每当我尝试打开其中一个项目时,我都会收到大量不同的错误,包括:

  • 导入java.io,java.util或类似的东西时,错误:

    "无法解析java.io(或java.util)的导入"

  • 现有类有错误:

    "默认构造函数未定义隐式超级构造函数.必须定义显式构造函数"

  • 其他随机"无法解析为类型"错误.

所有这些似乎都源于我对VS Code的某种设置错误,但似乎可以找到它是什么.我已经卸载并重新安装了RedHat插件,该插件为VS Code启用了Java语言.我已经尝试将扩展中的java_home设置设置为安装的直接位置,但这不起作用.尝试卸载并重新安装java,但也无法正常工作.

我的操作规范如下

  • 操作系统:MacOS Sierra

  • VS Code版本1.15.1

  • JDK版本1.8.0.144

有什么可能导致这个的想法吗?您是否认为我的VS代码设置方式或与现有项目的设置方式存在错误(或者说不兼容)可能是错误的?提前致谢.

java visual-studio-code

29
推荐指数
4
解决办法
2万
查看次数

CloudFormation 跨区域参考

当您在同一区域内运行多个 CloudFormation 堆栈时,您可以使用CloudFormation 输出跨堆栈共享引用

但是,正如该文档所强调的那样,输出不能用于跨区域引用。

您不能跨区域创建跨堆栈引用。您可以使用内部函数 Fn::ImportValue 仅导入已在同一区域内导出的值。

您如何在 CloudFormation 中跨区域引用值?

作为要遵循的示例,我有一个Route 53 托管区域部署在us-east-1. 但是,我有一个后端,us-west-2因为我想创建一个经过DNS 验证的 ACM 证书,该证书需要对托管区域的引用,以便能够创建适当的 CNAME 来证明所有权。

我将如何引用us-east-1从内部创建的托管区域 ID us-west-2

amazon-web-services aws-cloudformation aws-cloudformation-custom-resource

10
推荐指数
3
解决办法
5553
查看次数

TypeScript 类型合并

我有一个案例,我想“合并”默认类型加入(即T | UT & U)无法实现我想要的类型。

我想要做的是一个深度和智能的类型合并,它会在合并过程中自动将属性标记为可选,并执行 TypeScript 接口/类型的深度合并。

举个例子,假设我们有类型AB

type A = {
  a: string;
  b: number;
  c: boolean;
  d: {
    a2: string;
    b2: number;
  };
  e?: number;
};

type B = {
  a: string;
  b: boolean;
  d: {
    a2: string;
    c2: boolean;
  };
};
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个Merge可以接受 2 种泛型类型的函数

type Merge<T, U> = ?????;
Run Code Online (Sandbox Code Playgroud)

然后,如果在类型Aand 上使用B,输出将如下所示

type AB = {
  a: string;
  b: number | boolean;
  c?: …
Run Code Online (Sandbox Code Playgroud)

types typescript typescript-generics typescript-typings

9
推荐指数
1
解决办法
3467
查看次数

TypeScript 按任意类型过滤元组类型

我将如何通过在提供的元组中通过任意类型过滤提供的元组类型来生成新的元组类型?

示例(游乐场):

type Journey = ["don't", 'stop', 'believing'];

type ExcludeFromTuple<T extends unknown[], E> = ????;

type DepressingJourney = ExcludeFromTuple<Journey, "don't">; // type should be ['stop', 'believing']
Run Code Online (Sandbox Code Playgroud)

请注意,该解决方案不需要事先确保类型E存在于类型T中,如果存在,只需将其删除。

尽管这里的示例很简单,但我有一个更复杂的用例,我希望能够通过我正在编写的库的使用者定义的任意类型过滤掉。

尽管 TypeScript 本身支持exclude 类型,但它仅适用于联合类型,而且我一直无法找到元组的等效项。

类似的类型ExcludeFromTuple对于生成其他实用程序类型非常有用。

type RemoveStringsFromTuple<T extends unknown[]> = ExcludeFromTuple<T, string>;
type RemoveNumbersFromTuple<T extends unknown[]> = ExcludeFromTuple<T, number>;
type RemoveNeversFromTuple<T extends unknown[]> = ExcludeFromTuple<T, never>;
type RemoveUndefinedsFromTuple<T extends unknown[]> = ExcludeFromTuple<T, undefined>;
Run Code Online (Sandbox Code Playgroud)

我有一种感觉,该类型需要利用 TypeScript 2.8 的条件类型、TypeScript 3.1 的元组映射类型 …

types typescript typescript-generics typescript-typings

4
推荐指数
1
解决办法
634
查看次数