如何避免项目中出现tempCodeRunnerFile.go

How to avoid tempCodeRunnerFile.go appear in the project

当我在选择模式下执行Run Code时,文件夹中会出现一个名为tempCodeRunnerFile.go的临时文件。如何避免这个文件出现在项目中?

我终于意识到有一个 code-runner.ignoreSelection 设置可以忽略对始终 运行 整个文件的选择。默认值为 false。我必须在我的用户设置中手动打开它。在 Go 中,总是 运行 整个文件。

{
    "code-runner.ignoreSelection": true
}

这个临时文件“tempCodeRunnerFile”表明您已经选择了部分代码片段并且运行它。不幸的是,如果你在终端中 运行ning 代码,默认情况下它不会被删除。

但这种情况下的解决方案可以自定义 code-runner.executorMap 以在 运行 删除临时文件后自动删除它。

例如(在 Windows 上,在终端上使用 GitBash 和 运行ning)go 和一些其他语言,使用 && rm tempCodeRunnerFile:

  "code-runner.executorMap": {
    "go": "go run $fullFileName && rm -f $dirWithoutTrailingSlash\\tempCodeRunnerFile.go",
    "javascript": "node $fullFileName && rm -f $dirWithoutTrailingSlash\\tempCodeRunnerFile.js",
    "typescript": "ts-node $fullFileName && rm -f $dirWithoutTrailingSlash\\tempCodeRunnerFile.cljs",
    "clojure": "lumo $fullFileName && rm -f $dirWithoutTrailingSlash\\tempCodeRunnerFile.cljs",
  },

备注:

  • 需要 -f 标志来防止 rm: cannot remove 'path/here': No such file or directory 当 运行 加载真实文件(没有选择)时。
  • 需要使用 $dirWithoutTrailingSlash,因为路径被引号括起来,windows 上的最后一个斜杠将转义引号。
  • 需要双转义斜杠 (\\),否则它将以 \tempCodeRunnerFile 结尾,而 \t 表示转义 t.
  • 如果代码执行失败,将不会删除文件。

它可以工作,但在手动操作时需要注意一些事项。

github issue. And special thanks for github.com/filipesilva 中的更多信息可帮助解决此问题。