2

如何在“Visual Studio Code”中使用abstract关键字?

这是在 Typescript 1.6 版中添加的,但在 Visual Studio Code 中不起作用: https ://github.com/Microsoft/TypeScript/issues/3578

4

2 回答 2

1

如果你今天真的想abstract在 VSCode 中拥有它是可能的,尽管不受支持;)

你可以做的是执行命令,npm install typescript@next这将获取 TypeScript 团队创建的每晚构建。您也可以从源代码@github offcourse 自己构建它。

执行命令后,您将拥有 node_modules 文件夹,我们稍后会使用它。我们使用来自node_modules\typescript\lib的文件

在我的情况下,现在转到 VSCode 所在的位置

C:\Users\dvdbrink\AppData\Local\Code\app-0.3.2\resources\app\plugins\vs.language.typescript\lib

将用户名更改为您的用户名以访问正确的文件夹,AppData 可能是一个隐藏文件夹。

将文件从您的 npm 安装位置复制到上面的位置并重新启动代码。

现在 abstract 应该可以正常工作了,例如,当你没有正确实现它并且你得到所有的曲线时,它会给出错误。它只是不会为abstract关键字着色!

您可能有多个应用程序- 0.3.2,我想您应该始终拥有最新的一个!

于 2015-08-24T18:08:09.027 回答
1

Typescript 1.6 中没有抽象功能。您引用的链接是对 Typescript 1.6 的封闭建议。

Typescript 1.5 是该语言的当前最新版本。

也就是说,您可以伪造一定程度的抽象功能。不过我不推荐这个,因为它似乎不值得开销,而且使用它几乎没有什么好处。

export class BaseClass {
    public render() {
        console.log('Base Start');
        this.renderAbstract();
        console.log('Base Start');
    }

    renderAbstract() { throw new Error('This method is abstract and must be overrided.'); }
}

export class ChildClass extends BaseClass {
    public renderAbstract(): void {
        console.log('- Child -');
    }
}

编辑:我弄错了,该建议正在合并到 Typescript 1.6 版本中。但是,它还没有发布,所以你还不能使用这个功能。

于 2015-08-24T17:38:05.203 回答