推荐两个vscode编写typescript的插件

由于项目组最近准备从javascript迁移到typescript;在使用ts过程中有部分类型定义代码片段有重复;所以编写了两个vscode插件;如有需要可以查阅。【相关推荐:vscode教程

tools1: JSON转换成typescript的interface

特色

1、从剪切板json数据转换成interface (windows: ctrl+alt+C , Mac : ^+?+C)

1.gif

2、选择json数据转换成interface (windows: ctrl+alt+S , Mac : ^+?+S)

2.gif

3、将json文件转换成interface (windows: ctrl+alt+F , Mac : ^+?+F)

3.gif

下载

上面的gift图可能播放较快,有兴趣同学可以下载使用:打开vscode插件并搜索json转ts

tools2: vscode-react-typescript-snippet

使用ts编写react代码片段。

下载

打开vscode插件并搜索vscode-react-typescript-snippet即可。

支持文件

  • TypeScript (.ts)
  • TypeScript React (.tsx)

代码片段

TriggerContent
tsrcc→react 类式组件
tsrcstate包含Props, State, 和 constructor的类式组件
tsrpcc→react PureComponent组件
tsrpfcreact 函数式组件
tsdrpfc拥有default export的函数式react组件
tsrfc无状态的函数式react组件
conc→react constructor 方法
cwm→componentWillMount 方法
ren→render 方法
cdm→componentDidMount 方法
cwrp→componentWillReceiveProps 方法
scu→shouldComponentUpdate 方法
cwu→componentWillUpdate 方法
cdu→componentDidUpdate 方法
cwum→componentWillUnmount 方法
sst→this.setState生成
bnd→绑定语句
met→创建一个方法
tscredux→创建一个类式的redux,包含connect
tsrfredux->创建一个函数式的redux,包含connect
imt生成一个import语句

state 相关

tsrcstate

import * as React from "react";

export interface IAppProps {}

export interface IAppState {}

export default class App extends React.Component<IAppProps, IAppState> {
  constructor(props: IAppProps) {
    super(props);

    this.state = {};
  }

  render() {
    return <div></div>;
  }
}

functional 相关

tsrfc

import * as React from "react";

interface IAppProps {}

const App: React.FC<IAppProps> = (props) => {
  return <div></div>;
};

export default App;

redux 相关

tsrcredux

import * as React from "react";
import { connect } from "react-redux";
import { Dispatch } from "redux";
// you can define global interface ConnectState in @/state/connect.d
import { ConnectState } from "@/state/connect.d";

export interface IAppProps {}

export type ReduxType = ReturnType<typeof mapStateToProps> &
  ReturnType<typeof mapDispatchToProps> &
  IAppProps;

class App extends React.Component<ReduxType> {
  render() {
    return <div></div>;
  }
}

const mapStateToProps = (state: ConnectState) => {
  return {};
};
const mapDispatchToProps = (dispatch: Dispatch) => {
  return {};
};

export default connect(mapStateToProps, mapDispatchToProps)(App);

tsrfredux

import * as React from "react";
import { connect } from "react-redux";
import { Dispatch } from "redux";
// you can define global interface ConnectState in @/state/connect.d
import { ConnectState } from "@/state/connect.d";

export interface IAppProps {}

export type ReduxType = ReturnType<typeof mapStateToProps> &
  ReturnType<typeof mapDispatchToProps> &
  IAppProps;

const App: React.FC<ReduxType> = (props) => {
  return <div></div>;
};

const mapStateToProps = (state: ConnectState) => {
  return {};
};
const mapDispatchToProps = (dispatch: Dispatch) => {
  return {};
};

export default connect(mapStateToProps, mapDispatchToProps)(App);

tsrpfc

import * as React from "react";

export interface IAppProps {}

export function App(props: IAppProps) {
  return <div></div>;
}

本文转载自:https://segmentfault.com/a/1190000023751415?utm_source=tag-newest

想要了解更多相关知识,可访问 前端学习网站!!

以上就是推荐两个vscode编写typescript的插件的详细内容,更多请关注web前端其它相关文章!

赞(0) 打赏
未经允许不得转载:web前端首页 » VSCode

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏