IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> vscode+golang 高效编码 -> 正文阅读

[开发工具]vscode+golang 高效编码

1. 插件

????????json to struct

? ? ? ? 类似于postman的插件

2. 快捷键设置

vscode:只需要设置【前进、后退】

{
    "tabnine.experimentalAutoImports": true,
    "bracketPairColorizer.depreciation-notice": false,
    "window.zoomLevel": 1,
    "editor.fontSize": 14,
    // 单元测试: t.Log(xxx)
    "go.buildFlags": [
        "-v"
    ],
    "json-to-go.inputSource": "clipboard",
    "go.addTags": {
        "tags": "json,sql",
        // omitempty选项: 指定如果字段具有空值,定义为false,0,零指针,nil接口值以及任何空数组,切片,映射或字符串,则该字段应从编码中省略
        "options": "", // "options": "omitempty"
        "promptForTags": false,
        // transform: 蛇形 snakecase, 驼峰 camelcase
        "transform": "camelcase" 
    },
    // 鼠标右键展示
    "go.editorContextMenuCommands": {
        // 为定义好的接口,创建实现类: Generate Interface Stubs ==> Ctrl+i
        // 为结构体[添加]Tag: add Tags To Struct Fields ==> Ctrl+T
        "addTags": true, 
        // 将结构体[删除]Tag: remove Tags From Struct Fields
        "removeTags": false,
        // fill-struct: Ctrl + .
        "fillStruct": false,
        // 生成单元测试For函数
        // generate Unit Test For Function
        "generateTestForFunction": true,
        "toggleTestFile": false,
        "testAtCursor": false,
        "testFile": false,
        "testPackage": false,
        "generateTestForFile": false,
        "generateTestForPackage": false,
        "addImport": false,
        "testCoverage": false,
        "playground": false,
        "debugTestAtCursor": false,
        "benchmarkAtCursor": false
    }
}

代码案例

package vscodeshow

/*--- 生成单元测试 ---*/

// [1]快捷键: 生成单元测试的方法
//     1. 光标定位到add函数位置
//     2. ctrl+p
//     3. 输入 >generate Unit Test For Function
// [2]单元测试t.Log输出到控制台
//     在setting.json文件中,添加配置
//        "go.buildFlags": ["-v"]
// [3]单元测试的执行
//     在单元测试的上面,有一个按钮"run test",点击就会执行该单元测试

func add(a, b int) int {
	return a + b
}

/*--- 为结构体(添加|删除)Tag ---*/
type StudentTest struct {
	// 		1. ctrl + p, >
	// 		2. 增加标签: add Tags To Struct Fields
	// 		3. 删除标签: remove Tags From Struct Fields
	FirstName string `json:"firstName" sql:"firstName"`
	LastName  string `json:"lastName" sql:"lastName"`
	Age       int    `json:"age" sql:"age"`
	URL       string `json:"url" sql:"url"`
}

/*--- 自动实现接口 ---*/
// 		1. 首先,定义一个接口,如Person
// 		2. 然后,自动生成实现接口
// 			2.1. ctrl+p
// 			2.1. 输入   >Generate Interface Stubs
// 			2.2. 输入   格式 { 名字 *结构体 待实现的接口名字}
//							 ---> { s *Student Person }  Student实现Person接口
//							 ---> { t *Teacher  Person }  Teacher实现Person接口
// 	    3. 创建结构体
// 			3.1. 声明新的结构体 type Student struct{}
// 			3.2. 声明新的结构体 type Student struct{}

/*--- 查找interface的实现类: ctrl+F12,右键+转到实现 ---*/
type Person interface {
	eat() int
	run() string
	work() int64
}

type Student struct {
	name string
	age  int
}

/*--- fill-struct自动填充结构体中的字段: ctrl + . ---*/

func (s *Student) eat() int {
	panic("not implemented") // TODO: Implement
}

func (s *Student) run() string {
	panic("not implemented") // TODO: Implement
}

func (s *Student) work() int64 {
	panic("not implemented") // TODO: Implement
}

type Teacher struct{}

func (t *Teacher) eat() int {
	panic("not implemented") // TODO: Implement
}

func (t *Teacher) run() string {
	panic("not implemented") // TODO: Implement

}

func (t *Teacher) work() int64 {
	panic("not implemented") // TODO: Implement
}

3. snippet:自动生成代码

{	
	"错误日志打印": {
		"prefix": "lg",
		"body" : "ctx.Error(\"|err:%+v\",err)",
	},
	"生成新的Svr": {
		"prefix": "gensvr",
		"body" : [
			"var default$1Svr = &$1Svr{}",
			"type $1Svr struct{}",
			"func Get$1Svr() *$1Svr {",
			"return default$1Svr",
			"}",
		]
	},

}

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-03-30 18:46:03  更:2022-03-30 18:48:13 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:45:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码