如何在VS Code的命令提示符中打开文件并跳转到特定行号?

9

我希望将Visual Studio Code与我的其他工具集成,其中一部分是能够通过传递文件名、行号和列号来启动Visual Studio Code,以便将光标定位到文件中的特定位置。

有没有方法可以实现这个功能?


目前尚不支持传递文件名以及行/列信息,但听起来是一个很好的功能请求。请问您能分享一下您的工具所期望的格式吗?此外,您希望文件在新实例中打开还是在上次活跃的实例中打开? - Benjamin Pasero
@BenjaminPasero 我希望使用 --line 25 --column 40(或 -l:25 -c:40), 可以让它们在最后活动的实例中加载,但是也可能存在不希望这样做的情况。通过操作系统指定一个新实例或允许使用命名实例启动将会很好。例如,我可能有一个名为“Ad Hoc”的命名实例,如果它不存在,它将会被启动。对于我编辑的不属于常规项目的随机文件,可以使用这个命名实例。 - D'Arcy Rittich
我在想是否有一种普遍接受的方法来做这件事。例如,我知道一些常见的模式是文件名:<行>:<列>。使用这种方式,所有内容都可以放在一行中,而不必添加更多参数。 - Benjamin Pasero
@BenjaminPasero 有很多标准 :) 我通常遵循GNU参数语法 - 请忽略我上面的错误语法。 - D'Arcy Rittich
1个回答

11

在新的0.5.0版本中,您可以使用以下语法在一行和列上打开一个或多个文件:

code -g file1:<line>:<column?> file2:<line>:<column?> file3:<line>:<column?>

2
在 Windows 10 中使用代码 v1.5.3,我执行 code -g c:\tmp\new.txt:1:1 时出现以下错误:Arguments in '--goto' mode should be in the format of 'FILE(:LINE(:COLUMN))'。文件存在。进一步测试后,我发现 code c:\tmp\new.txt:1:1 打开的是一个名为 Untitled-1 的文件,而不是我的目标文件。code c:\tmp\new.txt 可以正确打开文件。请问我做错了什么? - D'Arcy Rittich
看起来我们那里有一个漏洞,很好地捕捉到了。不过在我们的夜间构建中似乎已经修复了它。您可以从以下网址尝试我们的预览版本:http://code.visualstudio.com/Download#insiders - Benjamin Pasero
1
@BenjaminPasero,这个修复程序已经发布了吗?我仍然遇到同样的问题。 - Simon C
是的,否则请提交错误报告。 - Benjamin Pasero

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接