You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过C# Process.Start重载打开.cs文件并定位到指定行?

解决方案:程序化打开.cs文件并定位到指定代码行

完全可以通过System.Diagnostics.Process.Start(string fileName, string arguments)重载方法实现这个需求,核心是根据你使用的编辑器/IDE,传递对应的命令行参数来直接定位行号,无需手动操作。以下是主流工具的实现方式:

Visual Studio(2019/2022等版本)

使用VS的devenv.exe,通过/edit和/command "edit.goto {line}"参数实现:

string csFilePath = @"C:\Projects\YourApp\Program.cs";
int targetLine = 15;

// 注意:根据你的VS版本和安装路径调整devenv.exe的路径
Process.Start(
    @"C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\IDE\devenv.exe",
    $"/edit \"{csFilePath}\" /command \"edit.goto {targetLine}\""
);

Visual Studio Code

VS Code支持--goto参数,格式为文件路径:行号:

string csFilePath = @"C:\Projects\YourApp\Program.cs";
int targetLine = 15;

// 若code.exe不在系统PATH中,需指定完整路径(如C:\Users\你的用户名\AppData\Local\Programs\Microsoft VS Code\Code.exe)
Process.Start("code.exe", $"--goto \"{csFilePath}:{targetLine}\"");

Notepad++

Notepad++使用-n{行号}参数来定位:

string csFilePath = @"C:\Projects\YourApp\Program.cs";
int targetLine = 15;

Process.Start(
    @"C:\Program Files\Notepad++\notepad++.exe",
    $"\"{csFilePath}\" -n{targetLine}"
);

关键说明

  • 不同编辑器的命令行参数格式不同,需根据实际使用的工具调整参数
  • 路径中包含空格时,一定要用双引号包裹,避免参数解析错误

内容的提问来源于stack exchange,提问作者Mitch Giesbrecht

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 03:20:33