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>
    
    生老病死过于平淡,唯有求知聊以慰藉。
  • 相关阅读:
    【转】解决在Android设备播放音频与其他应用重音的问题,并监听耳机的控制按钮
    【转】wamp 3.0.6(apache 2.4.23) 403 forbidden 解决办法
    身份证第18位(校验码)的计算方法
    【转】Win10开机密码忘了?教你破解Win10开机密码
    【转】具透 | 你可能不知道,iOS 10 有一个中国「特供」的联网权限功能
    钉钉自定义机器人 发送文本 换行 无效果
    屏蔽右键+f12
    【转】理解WebKit和Chromium: JavaScript引擎简介
    第2章 排序 | 第10节 计数排序练习题 && 基数排序
    图像处理-深入探索插值操作
  • 原文地址:https://www.cnblogs.com/wangbs95/p/13896942.html
Copyright © 2011-2022 走看看