如何从Visual Studio代码启动Rust应用程序?

s3fp2yjn  于 2022-11-12  发布在  其他
关注(0)|答案(5)|浏览(514)

我已经安装了Rust的Visual Studio代码扩展:

我想运行我的项目,但不知道该单击哪里。

我尝试按一下执行工作执行建置工作设定预设建置工作,但没有任何合理的React。

tcomlyy6

tcomlyy61#

使用integrated terminal

在集成终端中运行以下命令:

cargo run

顶级域名注册商

安装rust-analyzerNative debugger based on LLDB扩展,然后使用Run菜单(然后查看终端的结果/输出):

您可以使用终端命令安装这些扩展(然后重新启动vscode):


# apt install musl lldb libssl-dev

code --install-extension vadimcn.vscode-lldb
code --install-extension rust-lang.rust-analyzer
code --install-extension bungcip.better-toml

使用Tasks
运行任务的快捷方式:Ctrl + Shift + B
cargo run添加为默认任务:将.vscode/tasks.json文件添加到您的项目,如下所示,要使用cargo run运行项目,请更改.vscode/tasks.json的内容,如下所示:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "cargo run",
            "type": "shell",
            "command": "~/.cargo/bin/cargo", // note: full path to the cargo
            "args": [
                "run",
                // "--release",
                // "--",
                // "arg1"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

现在,按Ctrl + Shift + B运行任务,或按Ctrl + Shift + P并从命令面板中选择Tasks: Run Build Task
您可以添加参数,如上面的注解,例如:"args": ["run", "--release", "--", "arg1"],(如果您的应用需要)。
(You可以使用Ctrl + Shift + P打开命令面板,键入Configure Default Build Task并按Enter选择它。然后选择Rust: cargo buildOthers。这将在您的工作区.vscode文件夹中生成一个tasks.json文件)。

使用Native debugger based on LLDB

要运行项目,请执行以下操作:
Ctrl+F5或从Run菜单中选择Run Without Debugging,然后查看终端窗口,查看结果:

第一次(仅一次)安装以LLDB为基础的原生调试工具,或使用命令列进行安装:

code --install-extension vadimcn.vscode-lldb

然后在Visual Studio代码项目中:按快捷键Ctrl+F5,然后第一次选择LLDB,然后选择OKYes在项目文件夹中创建.vscode/launch.json文件,如以下示例所示(也可以从“调试/运行”面板中选择create a launch.json file):

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug executable 'example'",
            "cargo": {
                "args": [
                    "build",
                    "--bin=example",
                    "--package=example"
                ],
                "filter": {
                    "name": "example",
                    "kind": "bin"
                }
            },
            "args": [
                // "user_arg1",
                // "user_arg2"
            ],
            "cwd": "${workspaceFolder}"
        },
        {
            "type": "lldb",
            "request": "launch",
            "name": "Debug unit tests in executable 'example'",
            "cargo": {
                "args": [
                    "test",
                    "--no-run",
                    "--bin=example",
                    "--package=example"
                ],
                "filter": {
                    "name": "example",
                    "kind": "bin"
                }
            },
            "args": [],
            "cwd": "${workspaceFolder}"
        }
    ]
}

备注:
我将上面的项目命名为example
如果您需要参数,可以取消注解// "user_arg1",上面的内容。

使用rust-analyzer扩展

安装方式:

rustup component add rust-src
code --install-extension rust-lang.rust-analyzer

# code --install-extension matklad.rust-analyzer

运行代码,请单击fn main()上方的灰色Run文本:

使用code-runner扩展

安装扩展,然后打开源文件,这时你会在右上角有一个播放按钮点击,或者使用默认的快捷方式:Ctrl+Alt+N(您可以更改以下快捷方式:File>Preferences>Keyboard Shortcuts,并在搜索框中输入code-runner.run)。
注意:要在终端内运行该命令,您可以将code-runner.runInTerminalFile>Preferences>Settings设置为true(或按Ctrl+,),然后在搜索框中输入code-runner.runInTerminal

编辑:仅运行打开的文件,例如:rustc main.rs。您可以编辑code-runner.executorMap,将命令从:

"rust": "cd $dir && rustc $fileName && $dir$fileNameWithoutExt",

至:

"rust": "cargo run",

因此,每次单击“播放”按钮(或按键盘快捷键)时,Code Runner都会运行cargo run命令:
从菜单:File>Preferences>Settings(或按Ctrl+,),然后在搜索框内输入:
code-runner.executorMap,然后单击Edit in Settings.json,再将"code-runner.executorMap": and change "rust":"cd $dir && rustc $fileName && $dir$fileNameWithoutExt"编辑为"rust": "cargo run"
或者简单地将以下3行添加到VSCode设置JSON(settings.json文件):

"code-runner.executorMap": {
  "rust": "cargo run # $fileName"
}

使用Code Runner自订命令

您可以设置要运行的自定义命令:x1米45英寸
Menu:File>Preferences>Settings(或按Ctrl+,),然后在搜索框中输入customCommand并设置要运行的自定义命令:cargo run。为便于使用,您可以将快捷键更改为该命令:从菜单中选择:File>Preferences>Keyboard Shortcuts,然后在搜索框中输入:customCommand,然后添加/更改键绑定,例如按:x1个月52个月1x

使用rust-lang.rust扩展

您可以使用以下命令从命令行安装此扩展:

code --install-extension rust-lang.rust

插件使用任务:您可以按Ctrl + Shift + B,然后选择显示的选项,目前只有两个选项:

cargo check
cargo build

因此,您需要使用上述cargo run任务(tasks.json文件)。
kalitaalexey的“Rust”扩展名为was previously another option,但在2021年从Visual Studio代码市场中删除,并被命名为last updated in 2017

inb24sb2

inb24sb22#

不幸的是,目前还没有一个好的解决方案。基本上,你必须向tasks.json添加一个任务,它的开头是这样的:

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558 
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "cargo",
      "subcommand": "check",
      "problemMatcher": [
        "$rustc"
      ]
    },
    {
      "type": "cargo",
      "subcommand": "build",
      "problemMatcher": [
        "$rustc"
      ]
    }
  ]
}

A.R.建议添加另一个相同的条目,但"subcommand": "run"不起作用。您会收到以下错误:

Error: The cargo task detection didn't contribute a task for the following configuration:
{
    "type": "cargo",
    "subcommand": "run",
    "problemMatcher": [
        "$rustc"
    ]
}
The task will be ignored.

您可以添加一个"type": "shell"任务。但是,这仍然不是完美的,因为由于某种原因,添加该任务意味着当您按Ctrl-Shift-B时,cargo checkcargo build根本不会显示。
我的解决方案是将这些任务也更改为shell任务,因此整个tasks.json是:

{
  // See https://go.microsoft.com/fwlink/?LinkId=733558 
  // for the documentation about the tasks.json format
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "cargo check",
      "command": "cargo",
      "args": [
          "check"
      ],
      "problemMatcher": [
          "$rustc"
      ],
      "group": "build"
    },
    {
      "type": "shell",
      "label": "cargo build",
      "command": "cargo",
      "args": [
          "build"
      ],
      "problemMatcher": [
          "$rustc"
      ],
      "group": "build"
    },
    {
      "type": "shell",
      "label": "cargo run",
      "command": "cargo",
      "args": [
          "run"
      ],
      "problemMatcher": [
          "$rustc"
      ],
      "group": "build"
    }
  ]
}
zengzsys

zengzsys3#

我能够使用VSC扩展Rust(rls),使用修改后的AR帖子:

"tasks": [
    {
        "type": "shell",
        "label": "cargo run",
        "command": "wsl",
        "args": [
            "--",
            "~/.cargo/bin/cargo",
             "run"
        ],
        "problemMatcher": [
            "$rustc"
        ],
        "group": {
            "kind": "build",
            "isDefault": true
        }
    }
]
jm2pwxwz

jm2pwxwz4#

我创建新项目的快捷方法:
1.初始化或克隆新存储库
1.在vsCode上安装扩展(对我来说是“Rust and Friends”)
1.创建板条箱:

cargo new myNewApp
cargo run

1.选择main.rs(或其他xxx.rs源代码 rust 文件)
1.按F5键

1.好的

1.是的
准备好了!这将创建launch.json文件,该文件基于您创建的文件。

选择启动配置并按F5

🦀 🦀 🦀 🦀

sq1bmfud

sq1bmfud5#

如果要在Visual Studio代码中使用命令行参数运行Rust应用程序,可以按以下方式配置任务:

{
   "label":"Run With Arguments",
   "type":"process",
   "command":"cargo",
   "group":"none",
   "args":[
      "run",
      {
         "value":"--",
         "quoting":"weak"
      },
      {
         "value":"--argumentOne=\"Something\"",
         "quoting":"weak"
      },
      {
         "value":"--argumentTwo=\"Something\"",
         "quoting":"weak"
      }
   ]
}

通过添加"--"和弱引号,您可以将参数传递给应用程序。

相关问题