• GoLand 配置


    本文以Goland开发工具为基础,介绍在该IDE下的常用工具配置。

    Plugin

    1. 打开 GoLand 配置窗口(command+,

    2. 【可选】进入 Plugins ,建议安装以下插件:

      • .env file support
      • .ignore
      • CamelCase
      • Toml
      • Protobuf Support
      • git commit template
    3. 开启 go module:进去 Go > Go Modules (vgo)

      • 勾选 Enable Go Modules (vgo) integration

      • Proxy 留空,使用全局配置

    Tools

    常用的工具包括:

    1. go fmt : 统一的代码格式化工具(必须)。
    2. golangci-lint : 静态代码质量检测工具,用于包的质量分析(推荐)。
    3. goimports : 自动import依赖包工具(可选)。
    4. golint : 代码规范检测,并且也检测单文件的代码质量,比较出名的Go质量评估站点Go Report在使用(可选)。

    方法一

    Goland的设置中,选择Tools - File Watchers,随后选择添各工具

    方法二

    Goland的设置中,选择Tools - File Watchers-import,导入如下xml

    <TaskOptions>
      <TaskOptions>
        <option name="arguments" value="fmt $FilePath$" />
        <option name="checkSyntaxErrors" value="true" />
        <option name="description" />
        <option name="exitCodeBehavior" value="ERROR" />
        <option name="fileExtension" value="go" />
        <option name="immediateSync" value="false" />
        <option name="name" value="go fmt" />
        <option name="output" value="$FilePath$" />
        <option name="outputFilters">
          <array />
        </option>
        <option name="outputFromStdout" value="false" />
        <option name="program" value="$GoExecPath$" />
        <option name="runOnExternalChanges" value="false" />
        <option name="scopeName" value="Project Files" />
        <option name="trackOnlyRoot" value="true" />
        <option name="workingDir" value="$ProjectFileDir$" />
        <envs>
          <env name="GOROOT" value="$GOROOT$" />
          <env name="GOPATH" value="$GOPATH$" />
          <env name="PATH" value="$GoBinDirs$" />
        </envs>
      </TaskOptions>
      <TaskOptions>
        <option name="arguments" value="-w $FilePath$" />
        <option name="checkSyntaxErrors" value="true" />
        <option name="description" />
        <option name="exitCodeBehavior" value="ERROR" />
        <option name="fileExtension" value="go" />
        <option name="immediateSync" value="false" />
        <option name="name" value="goimports" />
        <option name="output" value="$FilePath$" />
        <option name="outputFilters">
          <array />
        </option>
        <option name="outputFromStdout" value="false" />
        <option name="program" value="goimports" />
        <option name="runOnExternalChanges" value="false" />
        <option name="scopeName" value="Project Files" />
        <option name="trackOnlyRoot" value="true" />
        <option name="workingDir" value="$ProjectFileDir$" />
        <envs>
          <env name="GOROOT" value="$GOROOT$" />
          <env name="GOPATH" value="$GOPATH$" />
          <env name="PATH" value="$GoBinDirs$" />
        </envs>
      </TaskOptions>
      <TaskOptions>
        <option name="arguments" value="run --disable=typecheck $FileDir$" />
        <option name="checkSyntaxErrors" value="true" />
        <option name="description" />
        <option name="exitCodeBehavior" value="ERROR" />
        <option name="fileExtension" value="go" />
        <option name="immediateSync" value="false" />
        <option name="name" value="golangci-lint" />
        <option name="output" value="" />
        <option name="outputFilters">
          <array />
        </option>
        <option name="outputFromStdout" value="false" />
        <option name="program" value="golangci-lint" />
        <option name="runOnExternalChanges" value="false" />
        <option name="scopeName" value="Project Files" />
        <option name="trackOnlyRoot" value="true" />
        <option name="workingDir" value="$ProjectFileDir$" />
        <envs>
          <env name="GOROOT" value="$GOROOT$" />
          <env name="GOPATH" value="$GOPATH$" />
          <env name="PATH" value="$GoBinDirs$" />
        </envs>
      </TaskOptions>
      <TaskOptions>
        <option name="arguments" value="-set_exit_status $FilePath$" />
        <option name="checkSyntaxErrors" value="true" />
        <option name="description" />
        <option name="exitCodeBehavior" value="ERROR" />
        <option name="fileExtension" value="go" />
        <option name="immediateSync" value="false" />
        <option name="name" value="golint" />
        <option name="output" value="$FilePath$" />
        <option name="outputFilters">
          <array />
        </option>
        <option name="outputFromStdout" value="false" />
        <option name="program" value="golint" />
        <option name="runOnExternalChanges" value="false" />
        <option name="scopeName" value="Project Files" />
        <option name="trackOnlyRoot" value="true" />
        <option name="workingDir" value="$ProjectFileDir$" />
        <envs>
          <env name="GOROOT" value="$GOROOT$" />
          <env name="GOPATH" value="$GOPATH$" />
          <env name="PATH" value="$GoBinDirs$" />
        </envs>
      </TaskOptions>
    </TaskOptions>
    
    生老病死过于平淡,唯有求知聊以慰藉。
  • 相关阅读:
    博客园二号地址:
    VisionMaster4.0.0二次开发教程(每日更新博客)
    5.观察者模式
    4.策略模式
    微信小程序radio的样式修改
    Linux下mysql安装
    idea2020 设置Run Dashboard
    一个方便统计页面 PV/UV、触发和交互的轻量级前端埋点工具
    登录认证-实名认证-产品设计
    启示录—产品经理
  • 原文地址:https://www.cnblogs.com/wangbs95/p/13896942.html
Copyright © 2020-2023  润新知