vs code如何配置C/C++環境,實現完美執行.c/.cpp檔案,以及終端亂碼問題

鹅是开哥發表於2024-10-05

環境配置

在 Visual Studio Code (VS Code) 中安裝了 C/C++ Extension Pack 後,你可以透過以下步驟來執行 C++ 檔案:

  1. 安裝編譯器

  2. 配置編譯任務:在 VS Code 中,你可以建立一個編譯任務來編譯你的 C++ 檔案。這通常透過建立一個 tasks.json 檔案來完成。你可以透過以下步驟建立這個檔案:

    • Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)開啟命令皮膚。
    • 輸入並選擇“Tasks: Configure Task”。
    • 選擇“Create tasks.json file from template”(從模板建立 tasks.json 檔案)。
    • 選擇“Others”(其他)模板來建立一個通用的任務。

    tasks.json 檔案中,你需要指定編譯命令,例如使用 g++ 編譯器:

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "Build C++ file",
                "type": "shell",
                "command": "g++",
                "args": [
                    "-g",
                    "${file}",
                    "-o",
                    "${fileDirname}/${fileBasenameNoExtension}"
                ],
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                "presentation": {
                    "echo": true,
                    "reveal": "always",
                    "focus": false,
                    "panel": "shared",
                    "showReuseMessage": true,
                    "clear": false
                },
                "problemMatcher": [
                    "$gcc"
                ]
            }
        ]
    }
    

    這個任務使用 g++ 編譯當前開啟的 C++ 檔案,並將輸出的可執行檔案放在同一目錄下。

  3. 執行編譯任務:儲存 tasks.json 檔案後,你可以透過以下方式執行編譯任務:

    • 再次按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac)開啟命令皮膚。
    • 輸入並選擇“Tasks: Run Build Task”。
    • 選擇你剛才建立的編譯任務(例如“Build C++ file”)。

  4. 執行可執行檔案:編譯成功後,你可以在終端中執行生成的可執行檔案。在 VS Code 的終端中,導航到檔案所在的目錄,並執行生成的可執行檔案:

    ./${fileBasenameNoExtension}
    

    這裡的 ${fileBasenameNoExtension} 是一個變數,代表不帶副檔名的檔名。

確保你的 VS Code 終端配置正確,能夠識別並執行你的編譯器命令。如果你遇到任何問題,檢查你的 tasks.json 配置是否正確,以及編譯器是否正確安裝在系統上。

亂碼問題

一、powershell 亂碼問題

在出現亂碼的powershell命令列中,執行如下步驟:

  1. 開啟 PowerShell 配置檔案
    在當前 PowerShell 會話中,輸入以下命令來建立或編輯配置檔案:

    New-Item -Type File -Force $PROFILE
    notepad $PROFILE
    
  2. 在配置檔案中新增編碼設定
    在開啟的記事本視窗中,新增以下行:

    [Console]::OutputEncoding = [Text.UTF8Encoding]::new()
    

    然後儲存並關閉記事本。

  3. 重新載入配置檔案
    儲存配置檔案後,返回到 PowerShell 視窗,輸入以下命令來重新載入配置檔案:

    . $PROFILE
    

    或者,你可以簡單地關閉並重新開啟 PowerShell 視窗。

完成這些步驟後,每次開啟 PowerShell 時,都會自動設定輸出編碼為 UTF-8,從而解決亂碼問題。

問題

報錯:

PS C:\Users\G1827\Desktop\計算機資料\程式設計專案\程式碼\code> notepad $PROFILE
PS C:\Users\G1827\Desktop\計算機資料\程式設計專案\程式碼\code> . $PROFILE
. : 無法載入檔案 C:\Users\G1827\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1,因為在此係統上禁
止執行指令碼。有關詳細資訊,請參閱 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字元: 3
+ . $PROFILE
+   ~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess
PS C:\Users\G1827\Desktop\計算機資料\程式設計專案\程式碼\code>

解決方法:

出現這個錯誤是因為 PowerShell 的執行策略預設設定為阻止執行指令碼。要解決這個問題,你需要更改執行策略以允許指令碼執行。請按照以下步驟操作:

  1. 檢視當前的執行策略
    在 PowerShell 中輸入以下命令來檢視當前的執行策略:

    Get-ExecutionPolicy
    

    這將顯示當前的執行策略設定。

  2. 更改執行策略
    為了能夠執行指令碼,你可以將執行策略設定為 RemoteSigned。這個策略允許執行本地指令碼,但要求從網際網路下載的指令碼必須有簽名。在 PowerShell 中輸入以下命令來更改執行策略:

    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    

    當系統提示你確認時,輸入 Y 並按 Enter 鍵。

  3. 重新嘗試載入配置檔案
    更改執行策略後,再次嘗試載入你的 PowerShell 配置檔案:

    . $PROFILE
    

    如果一切順利,這次應該不會出現錯誤。

二、cmd 亂碼問題

如果透過cmd命令列開啟.exe檔案,出現亂碼,解決方法如下:

在執行程式之前,確保命令列環境的編碼設定為 UTF-8。對於命令提示符(CMD),可以使用以下命令:

chcp 65001

如上操作即可解決!

相關文章