Browse Source

Document the process of parsing command-line arguments

Co-authored-by: Hugo Locurcio <[email protected]>
(cherry picked from commit df80e259cdab0ae7d89ae0b1099819ae5363b7b1)
Andrii Doroshenko (Xrayez) 5 năm trước cách đây
mục cha
commit
6416df8e34
1 tập tin đã thay đổi với 12 bổ sung1 xóa
  1. 12 1
      doc/classes/OS.xml

+ 12 - 1
doc/classes/OS.xml

@@ -153,7 +153,18 @@
 			<return type="PoolStringArray">
 			<return type="PoolStringArray">
 			</return>
 			</return>
 			<description>
 			<description>
-				Returns the command line arguments passed to the engine.
+				Returns the command-line arguments passed to the engine.
+				Command-line arguments can be written in any form, including both [code]--key value[/code] and [code]--key=value[/code] forms so they can be properly parsed, as long as custom command-line arguments do not conflict with engine arguments.
+				You can also incorporate environment variables using the [method get_environment] method.
+				You can set [code]editor/main_run_args[/code] in the Project Settings to define command-line arguments to be passed by the editor when running the project.
+				Here's a minimal example on how to parse command-line arguments into a dictionary using the [code]--key=value[/code] form for arguments:
+				[codeblock]
+				var arguments = {}
+				for argument in OS.get_cmdline_args():
+				    if argument.find("=") > -1:
+				        var key_value = argument.split("=")
+				        arguments[key_value[0].lstrip("--")] = key_value[1]
+				[/codeblock]
 			</description>
 			</description>
 		</method>
 		</method>
 		<method name="get_connected_midi_inputs">
 		<method name="get_connected_midi_inputs">