執行程式碼
Julia 擴充功能提供多種不同的方式來執行 Julia 程式碼。此區段說明所有選項,但關於如何在除錯程式中執行程式碼的部分除外,這部分會在說明文件的其他部分說明。
執行 Julia 檔案
VS Code 指令 執行:不除錯即可啟動
(Ctrl+F5) 預設會啟動新的 Julia 執行個體,並執行目前活動的 Julia 檔案。指令會自動為此 Julia 程序建立新的 VS Code 終端機。
請注意 此指令所啟動的 Julia 執行個體與擴充功能也支援的 Julia REPL 完全獨立。
你可以透過建立 啟動組態 來輕鬆自訂 執行:不除錯即可啟動
的行為。在許多情況下,不執行目前活動的檔案是很有幫助的,而是將工作區中的某個檔案設定為主要專案導入點,當你按下 Ctrl+F5 時執行此點。
其他自訂選項包括自訂工作目錄、命令列參數或特定 Julia 環境 (這與 VS Code 視窗中的活動 Julia 環境不同)。啟動組態還可讓你設定更複雜的執行情境,其中多個 Julia 及非 Julia 腳本會透過 複合啟動組態 同時啟動。
Julia 擴充功能本身支援下列啟動組態屬性
program
:.jl 檔案的路徑。這是使用此啟動組態時將執行的 Julia 檔案。如果未指定此屬性,它會預設為編輯器中目前活動的 Julia 檔案。cwd
:資料夾的路徑。啟動組態所啟動的 Julia 程序會使用此路徑作為初始工作目錄。如果未指定此屬性,它會預設為 VS Code 中開啟的根工作資料夾。juliaEnv
:Julia 專案的路徑。Julia 程序會使用此 Julia 專案作為活動專案來啟動。如果未指定此屬性,它會預設為 VS Code 視窗中的目前活動 Julia 環境。args
:命令列參數的陣列。此清單中指定的資料會傳遞為命令列參數給已啟動的 Julia 程序,並可透過 Julia 腳本中的Base.ARGS
變數取得。如果未指定此屬性,就不會將命令列參數傳遞給 Julia 執行個體。
Julia REPL
Julia 擴充提供 VS Code 內的 Julia REPL 。您可以使用 Julia: 啟動 REPL
指令來啟動此 REPL。
此擴充中的 Julia REPL 與預設的 Julia REPL 相同,不過加入多項其他整合(繪圖窗格、網格檢視器、偵錯器等),這些整合並未納入標準 REPL。請注意,只有您使用 Julia: 啟動 REPL
指令啟動的 REPL 才具備這些整合。如果您從 VS Code 內的系統殼層啟動 Julia,則不會提供這些整合點。
使用 Julia: 啟動 REPL
指令啟動的 REPL,其根目錄為目前活動的工作空間,且會與目前在 VS 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 程序,並在其中執行活動的檔案。