hi, 大家好,我是 hhf。

《Goland 这些实操技巧,你可能还不会!》介绍了日常开发中一些比较好用的技巧。本篇文章继续介绍一些其他比较好用的技巧。

自定义结构 tag

Goland 一个很好用的功能:tag 自动补全。在 struct 结构里,可以在字段类型后敲入 json 或 xml 向结构添加标记。

Goland 默认的 json 都是下滑线格式的。但是有的时候会有特殊的需求。

举个例子:正常情况下,公司对接口返回值字段有统一的要求,大部分情况下 json 格式的返回值以下滑线居多,但是也有驼峰格式的。如果遇到这种情况下,该如何调整 tag 自动补全呢?

还有种情况,有些公司会自定义 tag 字段,这些字段 goland 肯定是没有内置的。如果遇到这种情况,也想让 tag 自动补全,该如何做呢?

代码自动同步远程服务器

Goland 看代码是个比较舒服的事情,毕竟 Goland 提供了很多的功能,如:Find Usages, 查看接口实现,Debug 等。

因为种种原因吧,很多情况我们需要将代码推送远程的服务器进行代码的编译工作。通过打包或者 git 同步方式,总归是有点麻烦,有没有一种方式本地修改完代码,自动把代码同步到远程呢?

Goland 恰好提供了这个功能。

go list -m 失败问题

这个一般情况下是下载 go.mod 依赖失败造成的。设置 Goland 的 Goproxy 即可。

代码折叠

我的强迫症属于比较严重的那种。我特别不能接受代码被折叠。

Goland 折叠代码的地方有三处:import 折叠,error 折叠,string format 折叠,如何关闭他们呢?

Project 目录自动选择打开的文件

看源码,我们是需要知道当前打开的文件所处的目录的,这样对整个代码流程理解是有帮助的。Goland 默认是不在 Project 目录选择打开的文件的。该如何设置呢?

go 工具推荐

  • golangci-lint 一款技能 Go 所有工具链的工具,极好用
  • gofumpt 自动将格式化代码替换的工具,用过的都说好
  • json to go 一款 chrome 插件,自动将 json 或者 mysql 语句转成对应的 struct,省时省力的神器

欢迎关注公众号。更多学习学习资料分享,关注公众号回复指令:

  • 回复 0,获取 《Go 面经》
  • 回复 1,获取 《Go 源码流程图》

Goland 这些技巧,学会开发效率翻倍!的更多相关文章

  1. VS Code:让你工作效率翻倍的23个插件和23个编辑技巧

    VS Code:让你工作效率翻倍的23个插件和23个编辑技巧 总结了一些平时常用且好用的 VS Code 的插件和编辑技巧分享出来. 文章详情可查阅我的博客:lishaoy.net ,欢迎大家访问. ...

  2. 2022必须拥有Chrome扩展程序 - 浏览器插件,让你上网效率翻倍

    在Chrome网上应用店中查找扩展程序 2022必须拥有Chrome扩展程序 - 浏览器插件,让你上网效率翻倍 可扩展的Chrome Web浏览器比某些人认识的功能强大得多.您可以自定义浏览体验,使其 ...

  3. Linux进阶:让效率翻倍的Bash技巧(一)

    http://blog.tpircsboy.com/tech/bash-skills-part1/

  4. 老师傅珍藏多年CAD常用快捷键合集,收藏,工作效率翻倍!

    想要熟练操作CAD,做一名出色的CAD绘图员,少不了勤学苦练,还要掌握一些常用的绘图命令以及常用快捷键. 今天就来跟大家分享超全的CAD绘图命令,以及常用快捷键,学会涨工资! 常用快捷键: CTRL快 ...

  5. python virtual env 使用 jupyter ipython notebook,舒服了, 工作效率翻倍

    话不多说,尊重原作者 知乎链接

  6. 提升开发效率的一款mybatis开发神器

    文末附有完整案例的代码内容!! 以前在开发的时候,使用mybatis的时候,经常都需要先配置xml映射文件,然后每条sql操作都需要自己进行手动编写,对于一些复杂的sql这么来操作确实有必要,但是如果 ...

  7. 编码神器Lombok,学会后开发效率至少提高一倍!

    Lombok会利用注解自动生成javaBean中的getter.setter.equals.toString等一系列方法,大大提供开发效率,本文详细介绍下Lombok的安装及使用. 本文目录 一.Lo ...

  8. 提升你的开发效率,10 个 NPM 使用技巧

    对于一个项目,常用的一些npm简单命令包含的功能有:初始化一个文件夹(npm init),下载npm模块(npm install),创建测试(npm test) 和自定义脚本(npm run).但是, ...

  9. atitit.提升2--3倍开发效率--cbb体系的建设..

    atitit.提升开发效率--cbb体系的建设.. #--提升倍数,大概2--3倍.. #---cbb的内容 知识的,expt的,经验的技术的部件的问题库的角度.. #---cbb的层次,tech l ...

随机推荐

  1. linux设备驱动编写入门

    linux设备驱动是什么,我个人的理解是liunx有用户态和内核态,用户空间中是不能直接对设备的外设进行使用而内核态中却可以,这时我们需要在内核空间中将需要的外设驱动起来供用户空间使用.linux的驱 ...

  2. CRM系统对管理客户的帮助

    我们可以把客户关系看做是一种长期的投资,在资源有限的基础上,把人力财力物力放到那些能够持续创造价值的客户身上,从而为企业带来源源不断的收益.通过进行客户关系管理,能够让企业与客户之间建立沟通的渠道,形 ...

  3. Linux:CentOS7防火墙 开放端口配置

    查看已开放的端口 firewall-cmd --list-ports 开放端口(开放后需要要重启防火墙才生效) firewall-cmd --zone=public --add-port=3338/t ...

  4. ExtJs4学习(三)组件查找 ComponentQuery类

    Extjs3.x: ID:这就是所熟知的Ext.getCmp("组件ID"),缺点是id重复导致出错. ref:在EXTJS3中,所有的组件都会有一个ref属性,也就是refere ...

  5. QT. 学习之路 三

    添加一个动作: Qt 使用QAction类作为动作.QAction包含了图标.菜单文字.快捷键.状态栏文字.浮动帮助等信息.当把一个QAction对象添加到程序中时,Qt 自己选择使用哪个属性来显示, ...

  6. 基于Mininet的网络拓扑搭建代码

    1 import logging 2 import os 3 import time 4 import thread 5 import multiprocessing 6 7 from mininet ...

  7. 选择适合入门的自动化测试框架TestNG 基于Java语言的入门选择之一

    对于测试工程师新手来说,最痛苦的莫过于入门,其实只要入门3个月左右,对于自动化测试,所有的测试工程师除了喜爱,就是更爱.自动化测试工作,是从根本上解放人性,不用重复去完成鼠标的点点点,例如以下测试常常 ...

  8. C语言:按行读TXT文件

    //搂行读取TXT #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_L ...

  9. python 字典添加数据

    dzkuaa={}#类似{"张三":2,"李四":3} for i in range(23): ming=bj[i] if dzkuaa.get(ming)== ...

  10. PYTHON找色不变移动

    import cv2 import aircv as ac import numpy as np def wmhd(sjh): bzz0=0 bzz1=0 bzz2=0 xxa=0 yya=0 xxb ...