VSCode定义Dart代码片段
简介很多时候我们编写代码的过程中会发现,有些代码片段我们会重复的使用,如果我们重头到位的敲一遍会感觉有点浪费时间,所以VSCode给我们提供了一个很好的功能,就是自定义代码片段,本文主要介绍VSCode中如何定义Dart代码片段。
本文我们主要介绍如何在VSCode中给Dart定义代码片段,其实操作还是比较简单。操作步骤如下:
1、Ctrl+Shift+P快速打开命令工具,并搜索 snippets,并选择Configure User Snippets

2、选择dart.json

3、在dart.json文件中编写我们的自定义片段,格式如下:
{
"片段名": {
"prefix": "快捷方式",
"body": [
"模板内容第一行",
"模板内容第二行",
...
],
"description": "描述"
},
...
}
如:
{
"StatelessWidget": {
"prefix": "sl",
"body": [
"class ${1:WidgetName} extends StatelessWidget {",
"\t@override",
"\tWidget build(BuildContext context) {",
"\t\treturn ${2:Container}();",
"\t}",
"}"
],
"description": "StatelessWidget"
}
}
4、最后在这里给出在开发Flutter中常用的代码片段:
{
"StatelessWidget": {
"prefix": "sl",
"body": [
"class ${1:WidgetName} extends StatelessWidget {",
"\t@override",
"\tWidget build(BuildContext context) {",
"\t\treturn ${2:Container}();",
"\t}",
"}"
],
"description": "StatelessWidget"
},
"StatefulWidget": {
"prefix": "sf",
"body": [
"class ${1:WidgetName} extends StatefulWidget {",
"\t@override",
"\t_${1:WidgetName}State createState() => _${1:WidgetName}State();",
"}\n",
"class _${1:WidgetName}State extends State<${1:WidgetName}> {",
"\t@override",
"\tWidget build(BuildContext context) {",
"\t\treturn ${2:Container}();",
"\t}",
"}"
],
"description": "StatefulWidget"
},
"StatelessWidget with Scaffold": {
"prefix": "sls",
"body": [
"class ${1:WidgetName} extends StatelessWidget {",
"\t@override",
"\tWidget build(BuildContext context) {",
"\t\treturn ${Scaffold}(",
"\t\t\tappBar: AppBar(",
"\t\t\t\ttitle: Text('${1:WidgetName}'),",
"\t\t\t\televation: 0.0,",
"\t\t\t),${2}",
"\t\t);",
"\t}",
"}"
],
"description": "StatelessWidget with Scaffold"
},
"StatefulWidget with Scaffold": {
"prefix": "sfs",
"body": [
"class ${1:WidgetName} extends StatefulWidget {",
"\t@override",
"\t_${1:WidgetName}State createState() => _${1:WidgetName}State();",
"}\n",
"class _${1:WidgetName}State extends State<${1:WidgetName}> {",
"\t@override",
"\tWidget build(BuildContext context) {",
"\t\treturn ${Scaffold}(",
"\t\t\tappBar: AppBar(",
"\t\t\t\ttitle: Text('${1:WidgetName}'),",
"\t\t\t\televation: 0.0,",
"\t\t\t),${2}",
"\t\t);",
"\t}",
"}"
],
"description": "StatefulWidget with Scaffold"
},
"InheritedWidget": {
"prefix": "ih",
"body": [
"class ${1:WidgetName} extends InheritedWidget {",
"\tfinal Widget child;",
"\t${2}",
"\t${1:WidgetName}({",
"\t\tthis.child,",
"\t\t${2}",
"\t}) : super(child: child);\n",
"\tstatic ${1:WidgetName} of(BuildContext context) =>",
"\t\t\tcontext.inheritFromWidgetOfExactType(${1:WidgetName});\n",
"\t@override",
"\tbool updateShouldNotify(${1:WidgetName} oldWidget) {",
"\t\treturn true;",
"\t}",
"}"
],
"description": "InheritedWidget"
},
"setState": {
"prefix": "ss",
"body": [
"setState(() {${1}});",
],
"description": "setState"
},
"build": {
"prefix": "build",
"body": [
"@override",
"Widget build(BuildContext context) {",
"\treturn ${1:Container}(${2});",
"}",
],
"description": "Build Method"
},
}
前一篇博客中已经说过Golang对Gzip的处理,其实这是我的服务器端的处理,那么当我们服务器返回Gzip压缩的字符串后,客户端如何进行解压呢?本文主要记录下JavaScript对Gzip进行压缩和解压处理。
速查表是自己整理了一份在工作中常用的一些资料,包含了自己在日常开发中需要常常用到的相关技术。可以给读者进行参考。
Tauri 是一个框架,用于为所有主要桌面平台构建小巧、快速的二进制文件。开发人员可以集成任何可编译为 HTML、JS 和 CSS 的前端框架,以构建他们的用户界面。应用程序的后端是一个基于 Rust 的二进制文件,带有一个前端可以与之交互的 API。
Tauri 应用程序的用户界面目前在 macOS 和 Windows 上利用 tao 作为窗口处理库,在 Linux 上通过 Tauri 团队孵化和维护的 WRY 利用 WebKit、Windows 上的 WebView2 和 Linux 上的 WebKitGTK 创建一个统一的系统 webview(和其他好东西,如菜单和任务栏)接口。
最近关注流媒体服务器来做网络直播,本想使用阿里云的流媒体服务器,由于费用的问题还是想能否自己搭建一个流媒体服务器供自己测试使用。果不其然,Nginx居然如此强大,可以用来做流媒体服务器。本文将具体介绍流媒体服务器的搭建过程和使用过程。
vmstat是Virtual Memory Statistics(虚拟内存统计)的缩写,利用该命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整理情况进行统计,无法对某个进程进行深入的分析。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题