AI Coding——VsCode

📅 发布时间:2026/7/9 18:00:49 👁️ 浏览次数:
AI Coding——VsCode
文章目录一、VsCode相关一、C环境配置1、安装MSYS22、配置环境变量3、配置VsCode环境3.1 安装 C/C 扩展3.2 配置编译运行3.3 多个 c文件 的运行与调试3.4 终端中文乱码3.5 MSYS2指定C 编译/IntelliSense 标准setting.json二、Python环境配置1、插件安装2、setting.json配置2、setting.json配置三、Ubuntu C配置1、g版本配置1.查看所有标准2.看默认标准3.添加 GCC 官方 PPA4.安装 g-135.查看版本6.版本切换2、C标准默认配置四、QT/Cmake配置1、MSYS2安装QT组件2、安装 CMake 和 Ninja推荐使用3、配置系统环境变量4、插件配置5、创建QT项目6、Qt / CMake 等程序安装在哪里1.下载的程序存放位置2.pacman下载的安装包缓存3.缓存清理一、VsCode相关一、C环境配置1、安装MSYS2MSYS2 可以去 MSYS2官网 下载也就可以直接去 MSYS2 的 GitHub 上下载。由于在官网下载容易下错所以我这里给一个 GitHub 的链接也是在 VS Code 上提供的链接。MSYS2下载链接Releases · msys2/msys2-installer (github.com)官方认证绝对没错如下图所示选择msys2-x86 64-20241208.exe记住前缀是 msys2-x86_64 就行后面是日期点击下载。设置ShiftCtrlC/ShiftCtrlV配置下载源sed-is#https\?://mirror.msys2.org/#https://mirrors.tuna.tsinghua.edu.cn/msys2/#g/etc/pacman.d/mirrorlist*下载基本工具链# 也可以将base-devel去除简洁安装pacman-S--neededbase-devel mingw-w64-ucrt-x86_64-toolchain2、配置环境变量打开安装 MSYS2 的目录找到ucrt64文件夹并进入再找到bin文件夹并进入然后在地址栏中复制路径。打开系统属性 - 高级系统设置 - 环境变量在Path变量中添加E:\msys64\ucrt64\bin然后依次点击三个确认退出。调出 cmd 的终端窗口了然后分别输入下面的命令每输入一次命令后回车一次gcc--versiong--versiongdb--version有类似下方输出说明环境配置正确。3、配置VsCode环境3.1 安装 C/C 扩展打开 VS Code进入 扩展Extensions搜索 C/C。C/C 扩展 必装C/C Extension Pack 扩展 选装。C/C Extension Pack 是 C/C 的扩展功能包里面包含了一些项目管理和代码构建的工具不是必要的扩展包可以选择性安装。3.2 配置编译运行桌面新建项目文件夹例如C_CPP_Project然后打开 VS Code 并进入该目录也可以直接将文件夹图标拖拽至Visual Studio Code图标处文件夹最好不要包含中文。在该文件夹内创建 test.c输入以下内容然后点击 Ctrl s 进行保存。#includestdio.hintmain(){for(inti0;i5;i)printf(Hello Grayson~%d\n,i);return0;}点击右上角的调试按钮这时会弹出调试程序的选项选择第一个也是本教程前面安装的 gcc 编译工具。这时文件就被编译并执行运行结果如下。如果要进行简单的断点调试可以在行号前加一个断点操作也很简单只需用鼠标左键点一下行号左边的空白处即可。如下图所示是在第六行处加了一个断点。这时再去运行程序搜索框下面就会出现调试的面板面板上有六个按钮分别是继续、逐过程、单步调试、单步跳出、重启和停止。以下是 VS Code 中的 C 语言代码调试面板功能的解释继续Continue继续执行程序直到遇到下一个断点或程序结束。逐过程StepOver逐行执行当前行如果当前行是函数调用则进入该函数并执行完毕。单步调试StepInto逐行执行当前行如果当前行是函数调用则进入该函数并停在函数内的第一行。单步跳出StepOut执行完当前函数的剩余部分并停在当前函数被调用的下一行。重启Restart重新启动程序的调试会话即从程序的起点开始执行。停止Stop停止程序的调试会话结束调试过程并关闭程序执行。3.3 多个 c文件 的运行与调试如果想要进行多个.c文件编译后的调试就需要进行一些配置修改。如果进行过一次编译运行我们会发现在资源管理器的C文件夹下多出一个.vscode的文件夹这个文件夹里面有个tasks.json的文件。这个文件是用于定义任务配置这些任务可以在 VS Code 中运行例如编译代码、运行测试、启动调试器等。tasks.json文件是一个JSON格式的文件其中包含了任务的配置信息包括任务名称、命令、参数等。通过编辑tasks.json文件我们可以自定义项目中的各种任务并在VS Code 中方便地执行这些任务。当前的 VS Code 的运行效果还不是很理想双击打开tasks.json文件修改一下编译运行功能。下图是对该 JSON 文件做了部分解释。具体修改如下所示我注释掉了原来的${file}并将其改为手动列出所有.c文件路径如max.c和test2.c目前找不到其他方便的解决办法有的话希望评论区留言互相学习一下。这样可以避免 Windows 命令行中通配符无法解析的问题。同时也将${fileDirname}\\${fileBasenameNoExtension}.exe注释掉改成了${fileDirname}\\program.exe表示编译多个.c文件后生成的可执行文件为program.exe。代码如下根据实际文件情况修改修改好后按组合键Ctrl S保存即可。{version:2.0.0,tasks:[{type:cppbuild,label:C/C: gcc.exe 生成活动文件,command:E:\\msys64\\ucrt64\\bin\\gcc.exe,args:[-fdiagnostics-coloralways,-g,// ${file}, // 注释掉原来的 ${file}${workspaceFolder}\\test2\\max.c,// 手动列出 .c 文件${workspaceFolder}\\test2\\test2.c,-o,// ${fileDirname}\\${fileBasenameNoExtension}.exe, // 注释掉原来的输出文件名${workspaceFolder}\\test2\\program.exe// 统一生成 program.exe],options:{cwd:${workspaceFolder}\\test2},problemMatcher:[$gcc],group:{kind:build,isDefault:true},detail:调试器生成的任务。}]}接着点击test2.c文件右侧的调试 C/C 文件。可以看到终端成功输出多个c文件编译运行以后的结果以及文件夹中生成可执行文件program.exe。3.4 终端中文乱码查看终端编码方式# 输入指令 chcp # 如果显示 活动代码页: 936 # 表示GBK 活动代码页: 65001 # 表示UTF81.方法一修改系统区域设置可能会发生系统层面的bug1. 打开 控制面板 → 区域 → 管理 选项卡 2. 勾选 Beta: 使用 Unicode UTF-8 提供全球语言支持 3. 重启电脑2.方法二更改vscode默认编码UTF-8为GBK1.更改vscode默认编码UTF-8为GBK该法需确认系统编码环境为GBK格式 在setting.json中加入如下代码files.encoding:utf8,2.CMD修改成旧控制台对我无用3.方法三更改Power Shell/cmd默认编码方式1.临时更改编码方式 chcp936# 改为gbkchcp65001# 改为utf-82.永久更改 ①永久修改powershell编码添加profile文件在VSCode/IDEA等开发工具中均生效 以管理员身份打开powershell注意以管理员身份不然不能生效依次执行如下命令#允许运行自定义脚本set-executionpolicy remotesigned#创建默认profile如果存在则不创建if(!(Test-Path-Path$PROFILE)){New-Item-ItemTypeFile-Path$PROFILE-Force}#查看创建的profile文件位置$PROFILE根据输出的位置找到profile文件例如 C:\Users\xxxx\Documents\PowerShell\Microsoft.PowerShell_profile.ps1 使用编辑器打开加入一行$OutputEncoding[console]::InputEncoding[console]::OutputEncodingNew-Object System.Text.UTF8Encoding 然后重启powershell,使用chcp查看编码发现已经修改成了65001. 注意上述命令可以使用#注释安装Terminal终端统一管理cmd和powershell编码仅在wt工具中生效①安装Terminal终端统一管理cmd和powershell编码②点击powershell的配置项编辑命令加上 -NoExit -Command chcp 65001每次使用终端打开powershell会自动设置为utf-8③打开cmd配置项编辑命令加上/k chcp 65001 nul保存每次使用终端打开cmd会自动设置为utf-8Code runner插件更改在终端输出**这样可以直接在终端编辑**更改前更改后3.5 MSYS2指定C 编译/IntelliSense 标准setting.json#include iostream int main() { std::cout 当前C标准: __cplusplus std::endl; // format在c20之后才有的低于此版本编译不通过 std::cout std::format(数字是 {}\n, 10); return 0; }脚本如上1.c_cpp_properties.json里的cppStandard:c20⚠️ 只影响代码提示IntelliSense❌ 不会影响真正的编译命令2.Code Runner配置它真正执行的是你 settings.json 里的cpp:cd $dir g $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt这里没有-stdc20所以必须改成cpp:cd $dir g -stdc20 $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt二、Python环境配置1、插件安装常用插件如下2、setting.json配置比较重要的一个自动寻找当前conda环境python:set PYTHONIOENCODINGutf8 $pythonPath -u $fullFileName,2、setting.json配置比较重要的一个自动寻找当前conda环境python:set PYTHONIOENCODINGutf8 $pythonPath -u $fullFileName,完整配置{// 设置编码// files.encoding: gbk,files.encoding:utf8,explorer.confirmDelete:false,settingsSync.ignoredSettings:[],code-runner.executorMap:{javascript:node,java:cd $dir javac $fileName java $fileNameWithoutExt,c:cd $dir gcc $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,zig:zig run,// cpp: cd $dir g $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,cpp:cd $dir g -stdc23 $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,objective-c:cd $dir gcc -framework Cocoa $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,php:php,// python: python -u,python:set PYTHONIOENCODINGutf8 $pythonPath -u $fullFileName,perl:perl,perl6:perl6,ruby:ruby,go:go run,lua:lua,groovy:groovy,powershell:powershell -ExecutionPolicy ByPass -File,bat:cmd /c,shellscript:bash,fsharp:fsi,csharp:scriptcs,vbscript:cscript //Nologo,typescript:ts-node,coffeescript:coffee,scala:scala,swift:swift,julia:julia,crystal:crystal,ocaml:ocaml,r:Rscript,applescript:osascript,clojure:lein exec,haxe:haxe --cwd $dirWithoutTrailingSlash --run $fileNameWithoutExt,rust:cd $dir rustc $fileName $dir$fileNameWithoutExt,racket:racket,scheme:csi -script,ahk:autohotkey,autoit:autoit3,dart:dart,pascal:cd $dir fpc $fileName $dir$fileNameWithoutExt,d:cd $dir dmd $fileName $dir$fileNameWithoutExt,haskell:runghc,nim:nim compile --verbosity:0 --hints:off --run,lisp:sbcl --script,kit:kitc --run,v:v run,sass:sass --style expanded,scss:scss --style expanded,less:cd $dir lessc $fileName $fileNameWithoutExt.css,FortranFreeForm:cd $dir gfortran $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,fortran-modern:cd $dir gfortran $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,fortran_fixed-form:cd $dir gfortran $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,fortran:cd $dir gfortran $fileName -o $fileNameWithoutExt $dir$fileNameWithoutExt,sml:cd $dir sml $fileName,mojo:mojo run,erlang:escript,spwn:spwn build,pkl:cd $dir pkl eval -f yaml $fileName -o $fileNameWithoutExt.yaml,gleam:gleam run -m $fileNameWithoutExt},editor.formatOnSave:true,editor.formatOnPaste:true,// Black Formatter[python]:{editor.defaultFormatter:ms-python.black-formatter,editor.formatOnSave:true},// flake8配置flake8.args:[--max-line-length120,--ignoreE501,F841,F401,F405,F403,E226,E741],python.createEnvironment.contentButton:show,python.analysis.autoFormatStrings:true,python.analysis.completeFunctionParens:true,python.analysis.autoImportCompletions:true,python.terminal.activateEnvInCurrentTerminal:true,// 终端继承// terminal.integrated.inheritEnv: false,terminal.integrated.enableMultiLinePasteWarning:never,python.createEnvironment.trigger:off,[dockercompose]:{editor.insertSpaces:true,editor.tabSize:2,editor.autoIndent:advanced,editor.defaultFormatter:redhat.vscode-yaml},[github-actions-workflow]:{editor.defaultFormatter:redhat.vscode-yaml},[xml]:{editor.defaultFormatter:redhat.vscode-xml},security.workspace.trust.untrustedFiles:open,black-formatter.importStrategy:fromEnvironment,black-formatter.showNotifications:onError,code-runner.runInTerminal:true,workbench.colorTheme:Default Dark Modern,editor.codeActionsOnSave:{},editor.dropIntoEditor.preferences:[],extensions.ignoreRecommendations:true,}三、Ubuntu C配置1、g版本配置1.查看所有标准g--helpc|grepstd2.看默认标准echo|g-dM-E-xc -|grep__cplusplus# 测试c20echo|g-stdc20-dM-E-xc -|grep__cplusplus3.添加 GCC 官方 PPAsudoaptinstallsoftware-properties-commonsudoadd-apt-repository ppa:ubuntu-toolchain-r/test回车确认4.安装 g±13sudoaptupdatesudoaptinstallg-135.查看版本# 查看13版本g-13--version# 查看默认版本g--version6.版本切换sudoupdate-alternatives--install/usr/bin/g g /usr/bin/g-1150sudoupdate-alternatives--install/usr/bin/g g /usr/bin/g-13100# 选择版本sudoupdate-alternatives--configg会出现There are2choicesforthe alternative g:0/usr/bin/g-131/usr/bin/g-112/usr/bin/g-13输入2即可2、C标准默认配置编辑~/.bashrcsudogedit ~/.bashrc在最后加入aliasgg -stdc23保存后执行source~/.bashrc验证默认标准echo|g-dM-E-xc -|grep__cplusplus四、QT/Cmake配置1、MSYS2安装QT组件pacman-Smingw-w64-x86_64-qt6 mingw-w64-x86_64-qt6-tools2、安装 CMake 和 Ninja推荐使用pacman-Smingw-w64-x86_64-cmake mingw-w64-x86_64-ninja3、配置系统环境变量PATH%PATH%;msys64\mingw64\bin;msys64\usr\bin4、插件配置必备插件如下5、创建QT项目ctrlshiftp选择如下图所示选择类型选择GCC后报错解决方法在setting.json中配置如下// C配置C_Cpp.default.configurationProvider:ms-vscode.cmake-tools,C_Cpp.default.compileCommands:${workspaceFolder}/build/compile_commands.json,cmake.configureSettings:{CMAKE_EXPORT_COMPILE_COMMANDS:ON},}运行6、Qt / CMake 等程序安装在哪里1.下载的程序存放位置这些mingw64 包全部安装到C:\msys64\mingw64\主要目录C:\msys64\mingw64 ├── bin 可执行程序 ├── include 头文件 ├── lib 库文件 ├── share └── etc所以开发环境主要就是C:\msys64\mingw64\bin一般会加入PATH。2.pacman下载的安装包缓存所有下载的.pkg.tar.zst安装包在C:\msys64\var\cache\pacman\pkg例如C:\msys64\var\cache\pacman\pkg ├── mingw-w64-x86_64-qt6-6.9.0.pkg.tar.zst ├── mingw-w64-x86_64-cmake.pkg.tar.zst ├── mingw-w64-x86_64-ninja.pkg.tar.zst └── mingw-w64-x86_64-gcc.pkg.tar.zst这是缓存目录作用以后更新可以复用离线安装3.缓存清理Qt gcc 下载后可能几GB。清理命令pacman-Sc清理所有旧缓存pacman-Scc注意-Scc会删除全部缓存