一个让你写代码更快的常用代码片段插件

前言

写了很多重复的代码,一直在思考,能不能少写一点再少写一点?我们现在用到的方法、提示信息等,真的没有再简化的空间了吗?

答案是:不是的,真的可以再简化一点!!!

为了让自己“变得更懒”,同时也希望能“帮助其他朋友变得更懒”,在下不才,抽空将一些常见的代码做成了一个 VSCode 插件。它的名字叫 xm-snippets。(大家懂的,哈哈哈哈~~~)

安装方法是:

一个让你写代码更快的常用代码片段插件
插件安装方式

想了解如何自定义代码片段的朋友,可以参考 如何在VScode中自定义代码模板 这篇文章。

下面,我来介绍一下这个代码片段插件目前具备的一些功能。

正文

目前刚写了两类的代码片段,一类是 javascript 中常见的代码,另外一个是 react 函数组件,后面会持续更新~~~

log

现在许多人在调试代码时,喜欢使用 log 的方式来调试。直接使用 console.log(value) 打印的值,有时候在 浏览器控制台 中就算加上了过滤也不容易查找到。比如:

一个让你写代码更快的常用代码片段插件

所以,解决办法来啦!

使用 xm-snippets 中的 log

一个让你写代码更快的常用代码片段插件
log信息

项目中输入 log 命令,然后选择带 xm-log 的那一行,然后按 Enter 键,就可以生成

console.log('log:value-------------: ', value);

这样的代码,同时,光标会同时出现在 log:', 后面。也就是说,我们直接输入,就可以直接修改两个位置的代码。此时,使用 log 打印的内容,在控制台中就很容易查找了。

一个让你写代码更快的常用代码片段插件
使用 xm-snippets log

javascript

下面这些都是常见的 javascript 方法。

我们在对数组进行操作时,比如 arr.map 往往会提示我们数组的 map 方法有哪些参数,每个参数对应的类型是什么。但是,这种提示还不够,我要的,是把后面的常见参数及回调等直接给我生成出来。能少敲一个字母,我就绝不多按一下。

一个让你写代码更快的常用代码片段插件
默认方法
快捷名 描述
.map .map((item, index) => {})
.forEach .forEach((item, index) => {})
.filter .filter((item, index) => {})
.find .find((item, index) => {})
.findIndex .findIndex((item, index) => {})
.includes .includes((item, index) => {})
.every .every((item, index) => {})
.some .some((item, index) => {})
.reduce .reduce((accumulator, currentValue, index) => {}, initialValue)
.reduceRight .reduceRight((accumulator, currentValue, index) => {}, initialValue)
switch switch (key) { case value: break; default: break }
for for (let index = 0; index < array.length; index++) { const element = array[index] }

快捷名和我们平时使用的方法是一样的,我们在正常写代码时,一但用到了这些方法,按 Enter 键,VSCode 就会自动补全。

一个让你写代码更快的常用代码片段插件
xm-snippets代码提示

react

react 的代码片段包含函数组件class component 两类。

函数组件又分为了 Javascript 版本和 TypeScript 版本。使用方式如下所示:

快捷名 描述
func react function component both support javascript and typescript
reactComponent react class component

func for javascript

import React, { useEffect, useState } from 'react';

const Index = () => {
  const [data, setData] = useState('');

  useEffect(() => {
    setData('hello');
  }, []);

  return <div>{data}</div>;
};

export default Index;

func for typescript

import React, { FC, useEffect, useState } from 'react';

interface IProps {
  id: number;
}

const Index: FC<IProps> = (props) => {
  const { id } = props;
  const [state, setState] = useState<string>();

  useEffect(() => {
    setState('');
  }, []);

  return (
    <div>
      {state}
      <p></p>
    </div>
  );
};

export default Index;

reactComponent

import React, { Component } from 'react';
import PropTypes from 'prop-types';

export default class Index extends Component {
  static propTypes = {};

  constructor(props) {
    super(props);

    this.state = {

    };
  }
  static getDerivedStateFromProps(props, state) {}

  componentDidMount() {
    // do something
  }

  shouldComponentUpdate(nextProps, nextState) {}

  getSnapshotBeforeUpdate(prevProps, prevState) {}

  componentDidUpdate(prevProps, prevState, snapshot) {}

  componentWillUnmount() {
    // do something
  }

  render() {
    return (
      <div>这里是组件</div>
    );
  }
}

持续更新中~~~



原文始发于微信公众号(前端学习总结):一个让你写代码更快的常用代码片段插件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/83157.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!