code-rhythm:写了个vscode扩展,让代码更有快感

安装及使用可能遇到的问题
  • 如遇安装问题,请更新vscode
  • 安装后不能正常使用,如下处理:
    • 尝试重新启动vscode
    • 反馈部分情况下,会存在需要输入字符带下划线后,再删除下划线才能正常显示所有的代码提示,原因暂不确定,文档更新做说明
项目地址

Github - onvno/code-rhythm

原因

写代码本身是件快乐的事情,但开发中总有各种烦恼。 有时候一个很简单的方法,因为不确定传参的形式,不确定返回形式,不确定具体用法,就得翻墙,搜索,查阅,读些没用的信息后获得用法示例,然后靠着示例去写代码。漫长的周折,仅仅是为了使用一个方法,又没快感。

代码补全不过是一个提示说明,也许作为一个为了提高效率的懒人,需要的是:直接给出demo,即改即用。

snippets + demo的小工具,让写代码更带感。

Bingo,这就是 code-rhythm

安装

打开vscode应用,搜索code-rhythm进行安装.或者快速搜索:

# mac通过 Command + P组合键打开搜索框
ext install code-rhythm
复制代码
使用

即看即用.

约定以@开头,根据需要来获demo,右侧有代码片段的介绍,方便快速查看。以下动图演示了快速获取js,moment,axios,antd等常用代码demo的方式.

注:目前仅对mac做了测试,window下是否有兼容问题暂未知晓

代码示例介绍

@js

快捷示例说明
@js_promisepromise基本示例
@js_switchswitch
@js_array.concat数组合并
@js_array.every检测数组中所有元素是否都大于x值
@js_array.forEach数据遍历
@js_array.includes数组是否包含某元素
@js_array.filter数组返回符合指定条件的元素组
@js_array.indexOf数组指定元素的序列
@js_array.join转为字符串
@js_class_extends继承示例
@js_classclass基本示例
@js_asyncasync用法
@js_function.apply改变this,参数数组
@js_function.bindbind用法
@js_function.callcall用法,参数依次传入
@js_object.defineProperties定义属性
@js_object.defineProperty单一属性
@js_object.freeze冻结对象不能修改
@js_object.is判断值是否相同
@js_object.keys枚举:数组 & 对象
@js_object.values返回数组:可枚举对象的values
@js_string.charAt字符串指定索引内容
@js_string.concat合并字符串
@js_string.endsWithboolen:是否以某字符串结尾
@js_string.includesboolen:是否包含字符
@js_string.matchary:匹配结果
@js_string.padEnd尾填充
@js_string.padStart头填充
@js_string.replace替换
@js_string.slice截取字符串
@js_string.split分割成数组
@js_string.substr返回指定长度字符串
@js_string.substring索引范围内字符串
@js_string.low&up大小写
@js_string.trim去除空格
@js_array.from类数组转为数组
@js_map类Object对象
@js_async_allasync并发
@js_async_promise_all混合处理并发
@js_map_foreachmap数据遍历
@js_object.hasOwnProperty对象是否有某属性
@js_string.replace.reg正则替换
@js_object_stringobj转为string

@module

快捷示例说明
@module_exportes6模块导出
@module_importes6模块导入
@module_node_exports_childrencmd导出子属性
@module_node_exportscmd导出默认模块

@reg

快捷示例说明
@reg_emailemail验证
@reg_mobile手机
@reg_id身份证
@reg_chinese中文
@reg_sentence中英文及数字
@reg_urlurl

@axios

快捷示例说明
@axios_get_base基本get
@axios_get_paramsget参数形式
@axios_asynces7异步写法
@axios_post_base基本post
@axios_whole_config完整配置
@axios_response_list返回列表

@antd

快捷示例说明
@antd_table_check勾选框table
@antd_table_base基本表格
@antd_table_nest_base基本嵌套表格
@antd_form_base(login)基本form表单(login)
@antd_modal_base基本modal框
@antd_modal_confirm_warnmodal基本确认警告框

@react

部分示例需要更新

快捷示例说明
@react_comp_funcfunc无状态组件
@react_comp_state_reduxstate组件with redux
@react_entry入口 store,router,render
@react_comp_constructorbase组件
@react_comp_ref非受控组件ref
@react_comp_cycle组件生命周期
@react_children包含子组件写法
@react_proptypes_demoproptype校验
@react_img插入图片
@react_img_folder引入图片文件夹

@moment

快捷示例说明
@moment_date转为日期
@moment_convert转为moment
@moment_compare日期比较

@utils

包含了一些常用的小工具及设计模式

快捷示例说明
@utils_data_format日期时间格式化
@utils_countdown_simple最简单倒计时
@utils_scroll_watch滚动监听
@utils_scrolltop返回顶部无动画
@utils_insertScript动态插入script
@utils_getCookie获取cookie
@utils_offset距离document的位置
@utils_pattern_pub/sub观察订阅模式
@utils_pattern_single单体模式
@utils_pattern_factory工厂模式
@utils_pattern_singleton单例模式
@utils_pattern_adapter交换头(适配器)模式
@utils_pattern_Decorator装饰器:扩展现有接口
@utils_pattern_proxy代理(缓存)模式.用于优化
@utils_pattern_flyweight合并重复,非一般清爽
@utils_pattern_facade外套模式,人模狗样
@utils_base64base64转换
@utils_pattern_chain链式写法
@utils_json_pretty_tabjson美化形式
@utils_add_remove_class增加删除类
@utils_data_type判断数据类型
常见问题

Q:不想用了 A:直接卸载扩展,会随同将对应的代码示例删除。 目前测试vscode的禁用插件功能,可能由于异步机制存在问题,不一定能正确执行对应的禁用操作,所以建议直接卸载。

Q:不起作用 A:vscode扩展安装后需要重新加载

Q:作用范围 A:目前暂为全局

Q:下一步准备做什么 A:增加样式及其他常用工具类demo,逐步扩展,希望能多多贡献。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: public class CaiXuKunDance { public static void main(String[] args) { System.out.println("蔡徐坤开始跳舞:"); System.out.println("节奏感十足,肢体抖动,跳起来!"); System.out.println("抖腿、抖臀、拍手、转圈……"); System.out.println("一支时尚的舞蹈,完美呈现!"); } } ### 回答2: import java.util.Random; public class CaiXuKunDance { public static void main(String[] args) { // 蔡徐坤的舞蹈动作列表 String[] danceMoves = {"挥手", "跳起", "扭动臀部", "齐步走", "抬腿", "旋转"}; // 随机生成蔡徐坤的舞蹈动作序列 Random random = new Random(); int numMoves = random.nextInt(6) + 5; // 随机生成5到10个动作 StringBuilder danceSequence = new StringBuilder(); for (int i = 0; i < numMoves; i++) { int moveIndex = random.nextInt(danceMoves.length); danceSequence.append(danceMoves[moveIndex]); if (i < numMoves - 1) { danceSequence.append(","); } } // 输出蔡徐坤的舞蹈动作序列 System.out.println("蔡徐坤跳舞动作序列:"); System.out.println(danceSequence.toString()); } } 这段代码使用Java编了一个模拟蔡徐坤跳舞的程序。程序通过随机生成舞蹈动作序列,从动作列表中随机选取5到10个动作,然后以字符串形式输出。舞蹈动作从预定义的舞蹈动作数组中随机选择,然后按序连接成一个字符串。最后,输出蔡徐坤的舞蹈动作序列。运行程序每次输出的舞蹈动作序列都会不同。 ### 回答3: import java.util.Scanner; public class DanceOfCaixukun { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("蔡徐坤跳舞开始!"); System.out.print("请输入跳舞的音乐节奏(1 - 5):"); int rhythm = scanner.nextInt(); switch(rhythm) { case 1: danceStyle1(); break; case 2: danceStyle2(); break; case 3: danceStyle3(); break; case 4: danceStyle4(); break; case 5: danceStyle5(); break; default: System.out.println("输入有误!"); } } public static void danceStyle1() { System.out.println("蔡徐坤跳舞风格1:热情洋溢"); // 在这里编对应的跳舞动作 } public static void danceStyle2() { System.out.println("蔡徐坤跳舞风格2:流畅优雅"); // 在这里编对应的跳舞动作 } public static void danceStyle3() { System.out.println("蔡徐坤跳舞风格3:激情四溢"); // 在这里编对应的跳舞动作 } public static void danceStyle4() { System.out.println("蔡徐坤跳舞风格4:魅力十足"); // 在这里编对应的跳舞动作 } public static void danceStyle5() { System.out.println("蔡徐坤跳舞风格5:神秘迷人"); // 在这里编对应的跳舞动作 } } 以上是一段用 Java 编的跳舞代码,主要实现了根据不同的音乐节奏选择不同的跳舞风格。用户需要输入一个音乐节奏(1 - 5),然后程序根据输入的节奏调用对应的跳舞风格方法。每个跳舞风格方法都只是简单地打印出风格的描述,需要根据实际需求补充具体的跳舞动作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值