【GoLand教程】GoLand 如何配置代码运行和调试?
GoLand 使用运行/调试配置来运行、调试和测试您的代码。每个配置都是一组命名的启动属性,它们定义要执行的内容以及应该使用的参数和环境。
有两种类型的运行/调试配置:临时的——每次运行或调试函数或测试时创建。永久- 从模板显式创建或通过保存临时配置创建。永久配置保留为项目的一部分,直到您将其删除。
因此,每当您运行/调试或测试代码时,GoLand 要么使用现有的永久运行/调试配置,要么创建一个新的临时配置。
永久配置的图标是不透明的,而临时配置的图标是半透明的。
临时配置的最大数量为5个。添加新配置时,旧配置会自动删除。如有必要,您可以在Settings/Preferences |中增加此限制。高级设置 | IDE | 临时配置限制。
创建永久运行/调试配置
GoLand 提供以下方法来创建永久运行/调试配置:将临时运行/调试配置保存为永久。从模板创建或复制现有配置。
将临时配置另存为永久
在运行/调试配置切换器中选择一个临时配置,然后单击保存配置。
或者,在运行/调试配置对话框中选择一个临时配置,然后单击
工具栏上的 。
GoLand为不同的语言、工具和框架提供运行/调试配置模板。可用模板列表因已安装和启用的插件而异。
从模板创建运行/调试配置
从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。在“运行/调试配置”对话框中,单击
工具栏上的 或按Alt+Insert。该列表显示运行/调试配置模板。选择开始构建。在名称字段中指定运行/调试配置名称。此名称将显示在可用的运行/调试配置列表中。
在配置选项卡上,您可以设置以下选项:
运行种类:为您的应用程序构建范围。文件和包范围在测试和编译/运行配置中的工作方式类似(就它们所涵盖的范围而言)。Directory : 将指定目录中的应用程序构建为一个包,不处理任何子目录。
对于测试配置,GoLand 运行指定目录及其所有子目录中的所有测试。文件:从文件字段中指定的文件构建应用程序。要传递多个文件路径,请使用竖线 ( ) 作为分隔符。当您从头文件运行程序时,会自动选择此配置。包:构建一个包含所有依赖项的单个包。在包路径字段中指定要构建的包的完整导入路径(例如,)。当您使用装订线中的运行应用程序图标 ( ) 运行函数或单独的测试时,会自动选择此配置。
包路径:要编译的包的完整导入路径(例如,)。此字段仅在您选择包运行类型时可用。
您可以按Ctrl+Space查看可用包的列表。
输出目录:要输出可执行文件的目录的路径。构建后运行:构建后执行应用程序。Redirect input from:要从中读取输入的文件。工作目录:用于构建应用程序的目录。如果您有任何创建相对文件或目录的代码,它们将相对于该目录。Environment:应用程序的环境变量。
要编辑环境变量,请单击字段末尾的浏览按钮。在Environment Variables对话框中,单击Add按钮并添加您需要的环境变量。
Go 工具参数:go 工具的参数(例如,)。此外,您可以在此字段中使用宏。使用所有自定义构建标签:构建期间应用的所有标签。标签列在Go |Ctrl+Alt+S下的设置中。构建标签和供应商。程序参数:构建应用程序的参数。此外,您可以在此字段中使用宏。使用 sudo运行:以提升的权限运行应用程序。模块:当前模块的名称。启动前:添加要在启动所选运行/调试配置之前启动的任务。要添加任务,请单击添加按钮Alt+Insert并选择要添加的工具。存储为项目文件:启用此选项可将您的配置保存为项目文件并通过VCS与团队成员共享。在启动前部分中,定义是否要在启动应用程序之前执行任何特定操作,例如,在运行之前启动外部工具或其他构建配置。要跳过构建阶段,请从Before launch list 中删除Build 。应用更改并关闭对话框。
测试和基准测试模板
Go 测试模板的工作方式与 Go 应用程序模板 ( Go Build ) 的工作方式相同。但是,您应该选择Go Test ,而不是选择Go Build。
运行/调试测试配置模板
导航到运行 | 编辑配置。在Run/Debug Configurations对话框中,单击Add New Configuration Alt+Insert并选择Go Test。
从测试种类列表中,选择要运行测试的范围:目录:运行指定目录中的所有测试。在Directory字段中,指定包含应用程序文件和测试文件的目录的路径(例如applicationFolder/与main.go和main_test.go)。包:运行属于一个包的所有测试。在包路径字段中,选择包含要运行的测试的包的路径(例如,)。
要启用包测试,请按 打开设置Ctrl+Alt+S,导航到Go | Go modules,然后选中Enable Go modules integration复选框。文件:从测试文件运行所有测试。在文件字段中,输入测试文件的路径。
确保文件字段不包含其他路径。
(可选)此外,您可以指定以下设置:工作目录:用于构建应用程序的目录。如果您有任何创建相对文件或目录的代码,它们将相对于该目录。输出目录:存储测试结果的目录(如果有)。构建后运行:构建后执行测试。Redirect input from : 将接受程序输入而不是控制台的文件的路径。工作目录:用于构建应用程序的目录。如果您有任何创建相对文件或目录的代码,它们将相对于该目录。Environment:运行测试所需的环境变量。
要编辑环境变量,请单击字段末尾的浏览按钮。在Environment Variables对话框中,单击Add按钮并添加您需要的环境变量。
Go 工具参数:go 工具的参数(例如,)。使用所有自定义构建标签:构建期间应用的所有标签。标签列在Go |Ctrl+Alt+S下的设置中。构建标签和供应商。程序参数:测试的参数。使用 sudo 运行:向测试授予 sudo 权限。启动前:激活工具窗口:添加要在启动所选运行/调试配置之前启动的任务。要添加任务,请单击添加按钮Alt+Insert并选择要添加的工具。单击应用。
共享运行/调试配置
如果您在团队中工作,您可能希望共享您的运行/调试配置,以便您的队友可以使用相同的配置运行应用程序,或者使他们能够远程附加到您正在运行的进程。
出于这些目的,GoLand 提供了一种将您的运行/调试配置存储为项目文件并通过 VCS 共享它们的机制。当您想将配置作为文件发送给其他人时,也可以使用相同的机制。这可以节省大量时间,因为运行/调试配置有时会变得复杂,并且手动保持它们同步会很乏味且容易出错。从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。选择您要共享的运行/调试配置,启用“存储为项目文件”选项,并指定将存储配置文件的位置。
如果需要与 GoLand 2019.3 及更早版本兼容,请将文件存储在默认位置。
(可选)如果将.idea目录添加到 VCS 忽略的文件中,则.idea/runConfigurations子文件夹也将被忽略。如果您在项目中使用 Git,则可以仅共享.idea/runConfigurations并通过修改.gitignore将.idea忽略,如下所示:
打开存储为项目文件选项不会为您向 VCS 提交任何内容。为了让运行/调试配置进入共享存储库,您必须像其他版本化文件一样签入它们。
运行/调试配置模板
所有运行/调试配置都基于模板,这些模板实现了启动逻辑,定义了参数列表及其默认值。可用模板列表在安装中预定义,只能通过插件扩展。但是,您可以编辑每个模板中的默认参数值,以简化新运行/调试配置的设置。
更改模板的默认值不会影响现有的运行/调试配置。
配置模板的默认值
从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。在运行/调试配置对话框的左侧窗格中,单击编辑配置模板...。在打开的“运行/调试配置模板”对话框中,选择一种配置类型。指定所需的默认参数,然后单击“确定”保存模板。
复合运行/调试配置
假设您想同时启动多个运行/调试配置。例如,您可能想要运行多个不同类型的配置或一组测试配置。您可以使用复合运行/调试配置来配置此行为。
不保证执行顺序。如果您需要按顺序运行运行/调试配置,请在运行/调试配置的启动前区域中定义应该最后运行的顺序。
创建复合运行/调试配置
从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。在Run/Debug Configurations对话框中,单击
或按Alt+Insert,然后选择Compound。在名称字段中指定运行/调试配置名称。此名称将显示在可用的运行/调试配置列表中。选择存储为项目文件以使此运行/调试配置可供其他团队成员使用。要将新的运行/调试配置包含到复合配置中,请单击添加
并从列表中选择所需的配置。应用更改。
运行/调试配置文件夹
当有许多相同类型的运行/调试配置时,您可以将它们分组到文件夹中,以便它们在视觉上更容易区分。
分组后,运行/调试配置将出现在相应文件夹下的列表中。
为运行/调试配置创建一个文件夹
从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。在“运行/调试配置”对话框中,选择一种配置类型并单击
工具栏上的 。将为所选类型创建一个新的空文件夹。在右侧的文本字段中指定文件夹名称或接受默认名称。选择所需的运行/调试配置并将它们移动到目标文件夹下。应用更改。如果文件夹为空,则不会保存。
当您不再需要某个文件夹时,可以将其删除Delete。分组在此文件夹下的运行/调试配置将移动到相应运行/调试配置类型的根目录下。