首页 文章 精选 留言 我的

精选列表

搜索[效率],共10003篇文章
优秀的个人博客,低调大师

TypeScript 2019 路线图:更效率,更易用!

TypeScript 开发团队刚刚发布了TypeScript 2019 上半年的发展路线图。2019年1月至6月,开发团队将重点关注以下目标: 覆盖更多 JS 开发者 提高生产力 改善用户体验 提高社区参与度 完善基础设施 不过,开发团队也强调,该路线图更像是一套指导方针,而不是一定要完成的任务,后续可能会根据不断变化的需求和用户反馈进行调整。 部分细节如下: TypeScript 和核心类型系统 以类型安全(type-safe)的方式提供流行的 JS 模式 提高语言表现力 验证类型关系(Proving relationships between types) 更严格的设置 实现 ECMAScript 功能 生产力 "主动" 快速修复 (类似于“建议”功能) 声明文件修复和重构 生成缺失的.d.ts文件 本地 fork@types包 "Bread and butter" fixes & refactorings(指适用于大多数用户的代码修改和修复) 迁移工具 速度、可扩展性和稳定性 在 TSServer 中自动卸载项目 打磨 & 修复 Composite 项目 解决性能问题 支持 ETW 基础架构基准测试 追踪并修复回归 针对 TSServer 的自动化测试基础架构 更多细节可查阅:TypeScript Roadmap: January - June 2019

优秀的个人博客,低调大师

揭秘Android开发效率提升多倍的利器;Gradle

Gradle是什么? Gradle是一种构建语言,目前是Android的默认构建工具,我们编写的编译脚本,其实就是玩Gradle的API,所以从它更底层的意义上看,是一个编程框架。 因为涉及的内容很多没法一两篇文章就介绍详细清楚,方便起见我用PPT图片的形式简单介绍一下。如果需要更详细了解学习的朋友可以看文末。 一.Gradle介绍 二.Gradle 之语言基础 Groovy ; 三.Gradle的重要概念; 1.Gradle Wrapper介绍; 2.Closure; 3.带有闭包的方法调用; 4.闭包重要知识点; 5.Gradle tasts 6.Gradle 插件 四.多维度打包 五.Gradle 的工作流程 详细的讲解介绍; 上面截图中的视频可以免费分享,加Android高级开发群;701740775 备注csdn领取Gradle教程

优秀的个人博客,低调大师

AndroidStudio笔记(4)编码效率+1 的 File Templates

前言 这一篇是接着 AndroidStudio笔记(3)的,在上一篇中我们使用了 Live Templates的关键字来快速补全和生成代码,那有没有更近一步的骚操作?比如创建文件?答案是肯定的,那就是 File Templates。先看看今天的成果物预览图,如果不感兴趣就可以不看下去。 一键创建 TestViewPagerAdapter 创建TestViewPagerAdapter演示 创建RecyclerViewAdapter 创建RecyclerViewAdapter演示 正文 File Templates 的入口 File Templates 有两个入口。 File -> New -> Edit File Templates Edit File Templates File Templates Settings -> Editor -> File and Code Templates File and Code Templates 简单创建 ViewPagerAdapter File Templates 先来试试水,点击左上角的加号,新建一个模板,名字输入为 : ViewPagerAdapter,将编写好的模板代码放到内容框中: ViewPagerAdapter create 代码模板: package ${PACKAGE_NAME}; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import java.util.ArrayList; import java.util.List; /** * Created by ${USER} on ${DATE} */ public class ${NAME} extends FragmentStatePagerAdapter { private List<Fragment> mFragments = new ArrayList<Fragment>(); public ${NAME}(FragmentManager fm, ArrayList fragmentArrayList) { super(fm); this.mFragments = fragmentArrayList; } @Override public Fragment getItem(int position) { return mFragments.get(position); } @Override public int getCount() { return mFragments.size(); } } 从上面的代码可以看出,事实上和我们平常写的代码没有什么区别,唯一不同的就是一些占位符,而AS又为我们内置了一些占位符 占位符 含义 ${PACKAGE_NAME} 包名 ${NAME} 弹出的窗口中输入的文件名称 ${USER} 当前电脑的登陆用户的名称 ${DATE} 当前如期 ${TIME} 当前时间 ${YEAR} 当前年份 ${MONTH} 当前月份 ${MONTH_NAME_SHORT} 月份的前三个单词,在中文中无区别,如:九月 ${MONTH_NAME_FULL} 月份的全称,如:九月 ${DAY} 号数,一个月中的几号 ${DAY_NAME_SHORT} 星期几的前三个单词,在中文中无区别,如:星期四 ${DAY_NAME_FULL} 星期几的全称,如:星期四 ${HOUR} 当前小时 ${MINUTE} 当前分钟 ${PROJECT_NAME} 当前项目名称 来看看我们的成果吧。 创建TestViewPagerAdapter演示 看到这里,可能大家会有一个疑问,既然能通过 {NAME}这样通过我们的输入来替换一些属性呢?这就是我们接下来的内容了,创建一个 RecyclerView 的Adapter。 前面说道,AS为我们提供了一些占位符,其实我们只需要按照格式,定义没有的占位符,那么就会显示相应的输入框了,如下: Des Create Des 进阶创建 RecyclerView.Adapter 还是和前面一样的步骤,创建新的 Code File Templates,复制下面的代码块放入内容区: package ${PACKAGE_NAME}; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; import java.util.List; /** * Created by ${USER} on ${DATE} */ #parse("File Header.java") public class ${NAME} extends RecyclerView.Adapter<${NAME}.${VIEW_HOLDER}>{ private List<${BEAN_NAME}> mDatas = new ArrayList<>(); @Override public ${VIEW_HOLDER} onCreateViewHolder(ViewGroup parent, int viewType) { return new ${VIEW_HOLDER}(LayoutInflater.from(parent.getContext()). inflate(R.layout.${LAYOUT_NAME}, parent, false)); } @Override public void onBindViewHolder(${NAME}.${VIEW_HOLDER} holder, int position) { } @Override public int getItemCount() { return mDatas.size(); } public void addItems(List<${BEAN_NAME}> datas){ this.mDatas.addAll(datas); notifyDataSetChanged(); } class ${VIEW_HOLDER} extends RecyclerView.ViewHolder { ${VIEW_HOLDER}(View itemView) { super(itemView); } } } 占位符解释 名字 含义 ${NAME} 文件名、类名 ${VIEW_HOLDER} ViewHolder的类名 ${BEAN_NAME} 实体类的名字 ${LAYOUT_NAME} 布局的名称 要使用这个模板,我们需要先创建 bean 和 layout 文件,我为了演示,已经是提前创建好了。 来看看成果吧: 创建RecyclerViewAdapter演示 看看,的确是达到了我们想要的结果,是不是节省了大量的时间?快来试一试吧! 最后 总结与结束 File Templates这个东西并不难,难的是我先要有代码,然后一步一步的改造成File Templates,个人也希望大家都能有自己的File Templates,我们不应该把大多数时间浪费到重复性的工作上。 另外就是File Templates是可以导出,不用怕丢失,所以我们可以放心大胆的收集和编写自己的File Templates,具体导出方法如下: 导出 彩蛋 另外,相信大家也发现了,我们在使用 File Templates 的时候我们需要先创建好相应的东西,如 bean、layout等,有没有一种方式能够让我省去这些创建步骤呢?答案是肯定的,敬请期待我的下一篇文章。 我的博客地址,第一时间会将文章发布在上面。 我的GitHub地址,所有文章中的源码都在这里。 FullScreenDeveloper

优秀的个人博客,低调大师

Flutter代码模板,解放双手,提高开发效率必备

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/4184745d6983 转载请标明出处:https://www.jianshu.com/p/4184745d6983 本文出自 AWeiLoveAndroid的博客 使用Flutter开发的朋友们都有一个疑问,自带的快捷提示不是很丰富,没有你想要的功能,不管是Android Studio 还是IDEA,斗狠有局限性,有的朋友可能在用VSCode,那个插件有两个,我都试过都不好用,扩展性不好。于是我自己就写了一些常用Flutter代码模板,导入AS或者IDEA可以直接使用。 【说明】本文同步发布在github,欢迎star,https://github.com/AweiLoveAndroid/Flutter-learning 一、导入方式(这里以AS或者IDEA为例,VSCode的代码模板有点麻烦,正在整理中) 首先打开github网址 https://github.com/AweiLoveAndroid/Flutter-learning/blob/master/code_plugins/settings.jar 下载jar包。 然后,点击菜单栏 File--> Import Settings,然后找到刚下载的那个Settings.jar,导入即可。 二、支持的快捷键如下: 快捷键 描述 con 创建完整的Container cp 自定义CustomPainter csv CustomScrollView + SliverPadding创建列表,子控件带有边距 csv2 使用CustomScrollView + SliverGrid创建列表 gv 创建GridView.count lv 创建基本的ListView lvb 创建ListView.builder lvd 创建带分割线的ListView lvr 创建RadioListTile,可以单选的item lvt 创建带有各种ListTile的ListView mainstf 创建 StatefulWidget 控件 mainstl 创建 StatelessWidget 控件 me 创建方法 mep 创建私有方法 row 创建Row sb 创建SizedBox ssv 创建SingleChildScrollView stf 创建完整的StatefulWidget,包含生命周期相关方法。 stl 创建StatelessWidget svc 创建CustomScrollView te 创建一个标准的Text 三、部分使用示范图 mainstf 创建 StatefulWidget 控件: mainstl 创建 StatelessWidget 控件: stf 创建完整的StatefulWidget,包含生命周期相关方法。: stl 创建StatelessWidget: gv 创建 GridView.count: lv 创建基本的ListView: con 创建完整的Container: con创建完整的Container 四、关于代码模板的使用和自定义方式可以看我的github Android Studio常用模板用法和自定义模板 【好消息】我的微信公众号正式开通了,关注一下吧! 关注一下我的公众号吧

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册