运行代码
Julia 扩展提供了运行 Julia 代码的多条途径。本部分将介绍所有这些选项,但调试器中的代码运行方法除外,调试器中的运行方法将在文档的单独部分介绍。
运行 Julia 文件
默认情况下,VS Code 命令运行:在不调试的情况下启动
(Ctrl+F5)会启动新的 Julia 实例,并运行当前活动的 Julia 文件。该命令将为此 Julia 进程自动创建一个新的 VS Code 终端。
注意此命令启动的 Julia 实例与扩展支持的 Julia REPL 完全独立。
可以通过创建一个启动配置来轻松自定义运行:在不调试的情况下启动
的行为。在许多情况下,不要运行当前活动的文件,而是将工作区中的一个文件配置为项目的入口,这样按 Ctrl+F5 时就能运行该文件。
其他自定义选项包括自定义工作目录、命令行参数或特定 Julia 环境(该环境不同于 VS Code 窗口中的活动 Julia 环境)。启动配置还允许你通过复合启动配置配置更复杂的执行场景,其中会同时启动多个 Julia 和非 Julia 脚本。
Julia 扩展本身支持以下启动配置属性
程序
:指向 .jl 文件的路径。这是在此启动配置使用时将运行的 Julia 文件。如果未指定此属性,它将默认为编辑器中的当前活动 Julia 文件。cwd
:文件夹的路径。由启动配置启动的 Julia 进程会使用此路径作为初始工作目录。如果未指定此属性,则默认为 Visual Studio Code 中打开的根工作文件夹。juliaEnv
:Julia 项目的路径。Julia 进程将启动此 Julia 项目作为活动项目。如果未指定此属性,则默认为 Visual Studio Code 窗口中当前活动的 Julia 环境。args
:命令行参数数组。此列表中指定的值将作为命令行参数传递给启动的 Julia 进程,并可以通过 Julia 脚本中的Base.ARGS
变量使用。如果未指定此属性,则不会向 Julia 实例传递任何命令行参数。
Julia REPL
Julia 扩展在 Visual Studio Code 内提供了一个 Julia REPL。您可以使用 Julia: Start REPL
命令启动此 REPL。
扩展中的 Julia REPL 与默认 Julia REPL 相同,但添加了许多其他集成(绘图窗格、网格查看器、调试器等),这些集成不是标准 REPL 的一部分。请注意,只有使用 Julia: Start REPL
命令启动的 REPL 才有这些集成。如果您在 Visual Studio Code 内的系统 shell 中启动 Julia,则它不会提供这些集成点。
使用 Julia: Start REPL
命令启动的 REPL 会将其工作目录设为当前活动工作空间的根文件夹,并使用 Visual Studio Code 窗口中当前活动的 Julia 项目启动。
在 Julia REPL 中运行代码
有四个命令可用于在 Julia REPL 中运行编辑器中的代码
Julia: 在 REPL 中执行代码
Julia: 在 REPL 中执行代码单元
/Julia: 在 REPL 中执行代码单元并移动
Julia: 在 REPL 中执行文件
Julia: 在新进程中运行文件
Julia: 在 REPL 中执行代码
在当前激活的编辑器中选择一些 Julia 代码时,此命令将执行所选代码。如果未选择文本,则该命令将识别光标所在位置的顶级语言构造的范围(模块除外),并执行该代码块。
此命令会将位置信息与执行的代码关联起来,include
将使用相对路径和 @__DIR__
及 @__FILE__
等宏正常工作。
对于大多数用户,这一命令应该作为其在 REPL 中运行 Julia 代码的默认命令。
Julia:执行 REPL 中的代码单元格
该扩展支持使用特殊格式的注释:##
或 # %%
在标准 Julia 文件中分割代码单元格。这两个符号必须出现在行首,且后面可以跟文本。这一命令将识别光标当前位于活动编辑器中的哪个代码单元格,然后执行该单元格中的代码。如果当前文件中没有使用代码单元格,它将执行整个文件。
单元格分隔符可以使用正则表达式和 julia.cellDelimiters
用户设置进行指定。默认为 `["^##(?!#)", "^#(\s?)%%", "^#-"].
这一命令使用与 Julia:执行代码块
命令相同的代码执行技术。包含语句、位置信息等均按预期进行工作,即由这一命令运行。
Julia:在 REPL 中执行文件
这一命令在 Julia REPL 中运行当前活动文件的全部内容。它使用与 Julia:执行代码块
命令相同的代码执行技术。包含语句、位置信息等均按预期进行工作,即由这一命令运行。
Julia:在新进程中运行文件
有时,你会希望在一个新进程中运行你的代码(例如,如果你希望确保此前运行的代码不会产生任何干扰),因此,这一命令将生成一个新的 Julia 进程,并在其中运行活动文件。