zoukankan      html  css  js  c++  java
  • 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>
    
    生老病死过于平淡,唯有求知聊以慰藉。
  • 相关阅读:
    Microsoft NLayerApp“.NET研究”案例理论与实践 项目简介与环境搭建 狼人:
    .NET中的“.NET研究”异步编程:使用F#简化异步编程 狼人:
    ASP.NET MV“.NET研究”C3 基础教程 – Web Pages 1.0 狼人:
    引用“.NET研究”类型赋值为null与加速垃圾回收 狼人:
    使用WCF实现SOA面向服务编程“.NET研究”—— 架构设计 狼人:
    MEF——.NET中值“.NET研究”得体验的精妙设计 狼人:
    Silverlight“.NET研究” 2.5D RPG游戏技巧与特效处理:(十)空间分层战斗系统 狼人:
    再次分享一个多选文件上传方案“.NET研究” 狼人:
    C#中标准Dis“.NET研究”pose模式的实现 狼人:
    .NET中的异步编程 IO完成端口以及FileStream.“.NET研究”BeginRead 狼人:
  • 原文地址:https://www.cnblogs.com/wangbs95/p/13896942.html
Copyright © 2011-2022 走看看