首页 > 编程语言 >vs code如何配置C/C++环境,实现完美运行.c/.cpp文件,以及终端乱码问题

vs code如何配置C/C++环境,实现完美运行.c/.cpp文件,以及终端乱码问题

时间:2024-10-05 13:02:03浏览次数:6  
标签:PROFILE code 配置文件 C++ 乱码 编译 tasks PowerShell

环境配置

在 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命令行中,执行如下步骤:

  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
    

    如果一切顺利,这次应该不会出现错误。

标签:PROFILE,code,配置文件,C++,乱码,编译,tasks,PowerShell
From: https://www.cnblogs.com/kaige050218/p/18447768

相关文章

  • Leecode热题100-3.无重复字符最长子串
    给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。示例 1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。示例2:输入:s="bbbbb"输出:1解释:因为无重复字符的最长子串是"b",所以其长度为1。......
  • Leetcode 1631. 最小体力消耗路径
    1.题目基本信息1.1.题目描述你准备参加一场远足活动。给你一个二维rowsxcolumns的地图heights,其中heights[row][col]表示格子(row,col)的高度。一开始你在最左上角的格子(0,0),且你希望去最右下角的格子(rows-1,columns-1)(注意下标从0开始编号)。你每次可以往......
  • Leetcode 1011. 在 D 天内送达包裹的能力
    1.题目基本信息1.1.题目描述传送带上的包裹必须在days天内从一个港口运送到另一个港口。传送带上的第i个包裹的重量为weights[i]。每一天,我们都会按给出重量(weights)的顺序往传送带上装载包裹。我们装载的重量不会超过船的最大运载重量。返回能在days天内将传送带上的所......
  • Leetcode 1283. 使结果不超过阈值的最小除数
    1.题目基本信息1.1.题目描述给你一个整数数组nums和一个正整数threshold,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。请你找出能够使上述结果小于等于阈值threshold的除数中最小的那个。每个数除以除数后都向上取整,比方说7/3=3,10/......
  • 南沙C++信奥赛陈老师解一本通题: 1828:【02NOIP提高组】均分纸牌
    ​ 【题目描述】有n堆纸牌,编号分别为 1,2,…,n。每堆上有若干张,但纸牌总数必为nn的倍数。可以在任一堆上取若干张纸牌,然后移动。移牌规则为:在编号为1的堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为n−1的堆上;其他堆上取的纸牌,可以移到相......
  • 1.1第一个C++程序
    1.启动Dev-C++        启动界面如图所示:2.新建源代码        单击文件[F]——新建[N]——源代码[S]3.输入代码        在右侧编辑区输入以下代码#include<bits/stdc++.h>usingnamespacestd;intmain(){cout<<"HelloWorld!"<<endl;......
  • 2024.10.4 ROS第五章结束,复习背包问题模型 + codeforces刷刷题
    项目学习总结ROS第五章主要是学习了坐标变换,实际用途还是好理解的,比方说地面基地控制无人机追鸟。坐标变换主要是用tf这个包实现的。可以实现静态坐标变换,动态坐标变换和多坐标变换。静态和动态变换的关键函数:ps_out=buffer.transform(ps,"base_link");动态变换里面主要是......
  • 【C++】 string类的模拟实现
    目录string类各函数接口总览构造函数拷贝构造函数赋值运行符重载函数析构函数迭代器相关函数beginend容量和大小相关的函数sizecapacityresizereserveempty修改字符串相关函数push_backappendoperator+=inserteraseclearswapc_str访问字符串相关函数o......
  • Codeforces 杂题
    CF1994E\(*2000,\texttt{Tag:}\)贪心,位运算题意:给出一片森林,每次你可以选择一个点删去它的子树,求所有删去的子树大小的按位或结果的最大值。Solution按位或可以看做在二进制下的不进位加法,因此,若一棵树不管怎么拆分,它拆分出来的子树大小或的结果不会大于它本身。若一棵树......
  • 【处理元组有关的题型的技巧】codeforces 1677 A. Tokitsukaze and Strange Inequalit
    题意第一行输入一个正整数\(T(1\leqT\leq1000)\),代表共有\(T\)组测试用例,对于每组测试用例:第一行输入一个正整数\(n(4\leqn\leq5000)\),第二行输入\(n\)个正整数\(p_i(1\leqp_i\leqn)\)。对于\(1\leqi<j<k<l\leqn\),若有\(a_i<a_k,a_j>a_l\)成......