如何使用VSCode中的Code Runner插件執行golang代碼

我的主頁javascript

如何使用VSCode中的Code Runner 插件執行golang代碼php

project的文檔結以下html

mylab
      |---- main.go
      |---- test.go java

main.gonode

package main

func main() {
    test()
}

test.gopython

package main

func test() {
    println("in test")
}

Code Runner插件的Doc地址
找到以下Configuration的配置說明git

Configuration
Make sure the executor PATH of each language is set in the environment variable. You could also add entry into code-runner.executorMap to set the executor PATH. e.g. To set the executor PATH for ruby, php and html:
{
    "code-runner.executorMap": {
        "javascript": "node",
        "php": "C:\\php\\php.exe",
        "python": "python",
        "perl": "perl",
        "ruby": "C:\\Ruby23-x64\\bin\\ruby.exe",
        "go": "go run",
        "html": "\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\"",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    }
}

Supported customized parametersgithub

  • $workspaceRoot: The path of the folder opened in VS Code
  • $dir: The directory of the code file being run
  • $dirWithoutTrailingSlash: The directory of the code file being run without a trailing slash
  • $fullFileName: The full name of the code file being run
  • $fileName: The base name of the code file being run, that is the file without the directory
  • $fileNameWithoutExt: The base name of the code file being run without its extension
  • $driveLetter: The drive letter of the code file being run (Windows only)
  • $pythonPath: The path of Python interpreter (set by Python: Select Interpreter command)

Please take care of the back slash and the space in file path of the executorgolang

Back slash: please use \
If there ares spaces in file path, please use " to surround your file pathchrome

You could set the executor per filename glob:

{
    "code-runner.executorMapByGlob": {
        "pom.xml": "cd $dir && mvn clean package",
        "*.test.js": "tap",
        "*.js": "node"
    }
}

能夠看到go的執行命令默認配置成了go run, 而且默認執行當前打開的文件。
因此須要利用$dir這個變量run整個main包所涉及到的全部文件。而且能夠正則匹配文件名。

查看一下go run這個命令的參數解釋,因爲衆所周知的緣由,咱們只能上國內的替代官網

Compile and run Go program
Usage:

go run [build flags] [-exec xprog] package [arguments...]
Run compiles and runs the named main Go package. Typically the package is specified as a list of .go source files, but it may also be an import path, file system path, or pattern matching a single known package, as in 'go run .' or 'go run my/cmd'.

By default, 'go run' runs the compiled binary directly: 'a.out arguments...'. If the -exec flag is given, 'go run' invokes the binary using xprog:

'xprog a.out arguments...'.
If the -exec flag is not given, GOOS or GOARCH is different from the system default, and a program named go_$GOOS_$GOARCH_exec can be found on the current search path, 'go run' invokes the binary using that program, for example 'go_nacl_386_exec a.out arguments...'. This allows execution of cross-compiled programs when a simulator or other execution method is available.

The exit status of Run is not the exit status of the compiled binary.

For more about build flags, see 'go help build'. For more about specifying packages, see 'go help packages'.

找到了,使用go run . 來跑整個package的。

在VSCode的.vscode目錄下建立settings.json文件

自定義這個project的用戶配置以下

{
    "code-runner.executorMap": {
        "go": "cd $dir && go run .",
    },
    "code-runner.executorMapByGlob": {
        "$dir\\*.go": "go"
    }
}

點擊Cdoe Runner在VSCode GUI界面提供的RUN按鈕

[Running] cd "d:\Users\polar\go\src\mylab\" && go run .
in test

[Done] exited with code=0 in 3.564 seconds

OK!

固然也能夠用VSCode Debug 的launch.json來配置,可是那是debug模式,並非go run。

歡迎轉載,請註明出處~
做者我的主頁

相關文章
相關標籤/搜索