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

news/2024/10/5 13:04:37

环境配置

在 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
    

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/67967.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

blender拖动视角到一定程度很慢

配置 win11 - blender3.6点击 编辑 - 偏好设置视图切换 - 旋转&平移 - 自动 - 深度(勾选)后期可根据需要进行勾选和取消勾选

查看织梦CMS源码中的数据库相关文件

如果你想查看织梦CMS源码中的数据库相关文件,可以参考以下路径:织梦CMS安装目录/var/www/html 这里包含织梦CMS的所有文件。核心文件/var/www/html/inc 包含一些核心配置文件。 /var/www/html/include 包含数据库配置文件 config.inc.php 和其他核心文件。数据库表前缀默认表…

uv --- replacement of conda + pip (python version + package version install) python版本和包管理集大成者

uv https://docs.astral.sh/uv/An extremely fast Python package and project manager, written in Rust. Installing Trios dependencies with a warm cache. Highlights🚀 A single tool to replace pip, pip-tools, pipx, poetry, pyenv, virtualenv, and more. ⚡️ 10…

织梦怎么进数据库,织梦网站源码在哪里看数据库

假设你的织梦CMS安装在 /var/www/html 目录下,且数据库配置如下:织梦CMS安装目录:/var/www/html数据库配置文件:/var/www/html/include/config.inc.php数据库配置:$cfg_dbhost = localhost; $cfg_dbname = mydatabase; $cfg_dbuser = myusername; $cfg_dbpw = mypassword;…

blender贴图丢失,贴图显示紫色

闲言 一般在模型复制粘贴或转移过程中, 发生贴图加载失败, 导致模型贴图位置显示紫色. 如果是上述相关情况, 那么本文章应能为你提供相关帮助. 本人配置: win11 - blender3.6(本案例演示版本) - blender4.2 打开丢失材质模型(.blend).fbx导入也是一样的, 这里不赘述.打开材质预…

R3CTF2024 WP

一、PWN1.Nullullullllu在直接给 libc_base 的情况下,一次任意地址写 \x00 。直接修改 IO_2_1_stdin 的 _IO_buf_base 末尾为 \x00 ,那么 _IO_buf_base 就会指向 IO_2_1_stdin 的 _IO_write_base,接下来就是利用 getchar 函数触发写操作修改 IO_buf_base 为 IO_2_1_stdout ,…

WMCTF 2024 wp

WEBPasswdStealer前言本来题目叫PasswdStealer的:)考点就是CVE-2024-21733在SpringBoot场景下的利用。漏洞基本原理参考 https://mp.weixin.qq.com/s?__biz=Mzg2MDY2ODc5MA==&mid=2247484002&idx=1&sn=7936818b93f2d9a656d8ed48843272c0不再赘述。SpringBoot场景…

Z-library数字图书馆镜像地址及客户端/app(持续更新)

Z-library数字图书馆介绍 Z-library,被誉为全球范围内最为庞大的数字图书馆之一,其藏书量之丰富令人叹为观止,总计囊括了超过9,826,996册电子书及84,837,646篇学术期刊文章。这座庞大的知识宝库覆盖了从经典文学巨著到前沿理工学科,从人文艺术瑰宝到专业学术论文的广泛领域…