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>
    
    生老病死过于平淡,唯有求知聊以慰藉。
  • 相关阅读:
    面向对象诠释图
    vs中web网站和web应用程序的区别
    基于Windows Mobile 5.0的GPS应用程序开发
    c#添加水印效果
    基于Silverlight4开发的相关工具
    WCF、Net remoting、Web service概念及区别
    数据库的相关经验总结
    SQLite 3 一些基本的使用
    PPC上网设置明细图文并茂
    正则表达式语法参考
  • 原文地址:https://www.cnblogs.com/wangbs95/p/13896942.html
Copyright © 2011-2022 走看看