当前位置: 首页 > news >正文

VScode配置运行C/C++、python,及快捷键配置

1 C/C++

1.1 c/c++环境配置

运行代码前一定要按Ctrl + S保存,再右键选择Run Code或者用快捷键Ctrl + Alt + N执行代码。
快捷键那里我已经设置了Alt+M保存并运行代码了。

1.入坑VSCode – 详细配置:运行C++/C代码 在终端运行 文件读入 配置刷题模板

这一篇设置了终端中运行与代码运行前保存。

或者看这篇:

2.VSCode配置C/C++环境

注意:完全卸载vscode方法

Bug1:TypeError: Cannot read property ‘includes’ of undefined at

solution:

看到上面那个网址的最下面部分,有关task.json的内容,就是直接手动创建这个json然后把博主的task.json粘贴进去,

之后新建一个工程就直接把本次设置好的.vscode*.json全部复制过去就不用再配置了。

Bug2:VSCode在windows下不能打开标准头文件的问题,cannot open source file “xxx.h”,提示更新路径

VSCode在windows下不能打开标准头文件的问题,cannot open source file “xxx.h”,提示更新路径_进击的火腿肠-CSDN博客

在我本机的C语言常用的头文件在这个目录:

E:\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include

Bug3:解决VSCode终端中文乱码问题

解决VSCode终端中文乱码问题_xjk2017的博客-CSDN博客_解决vscode中文乱码的代码

img

936表示GBK2312编码

img

在我的VScode下我是这样设置终端输出为utf-8编码的,65001表示utf-8编码。

Bug4:

VS Code 中的快捷键Ctrl+Space 与微软拼音冲突无法正确触发补全, 使用AutoHotkey 解决

Bug5:vscode编辑器中文乱码问题

vscode编辑器中文乱码问题 - 桥南小院 - 博客园

我是这样设置的:

img

img

img

Bug6:Termial的powershell运行多个命令的连接符

如图cmd可以用&&连接多个命令:

img

但是powershell不可以:img

powershell用分号;连接多个命令:

img

参考:PowerShell一次执行多条命令

1.2 C++调试配置

**Bug1:**This command is not available for single-file mode.

**solution:**不要单独打开代码文件,打开代码所在的文件夹才能调试。如果程序需要输入数据,不要傻等着debug调试卡着,输入数据后才能调试。

**Bug2:**在跟着上面调试C++的链接生成tasks.json和launch.json文件后,按F5开始调试报错g++.exe: error: gcc x64: NO such file or directory

**solution:**打开tasks.json文件,把最后的这个gcc x64删掉或注释掉。

img

1.3 VS Code头文件

VS Code添加头文件 全局 include path 和 工作区 include path

vscode检测到#include错误,请更新includePath。解决方法

1.4 VS Code自定义用户代码片段(C++)

非常值得学习,本地的代码片段在:C:\Users\UryWu\AppData\Roaming\Code\User\snippets

创建代码片段点击File->preferences->User Snippets

参考:

VScode修改默认快捷键

VsCode自定义快捷键,一次运行两个或多个Command命令

bug1:vscode-tab按键失效变为切换控件解决

一种情况是按到了vscode的ctrl+M命令,变为vscode的切换设置焦点模式。

2 Python

2.1 python环境配置

参考:Anaconda+VSCode搭建python环境

如果你不使用anaconda的默认base环境,想要激活anaconda里的其它环境可以不照这个参考链接里那样去配置"python.pythonPath"键,因为照他那样会报错:

CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. 

我是按照自己的测试结果来的只配置"code-runner.executorMap"下的"python"键,你首先要先把anaconda环境配好,然后如下。

思想:通过修改settings.json文件的"code-runner.executorMap"->"python"键来使用powershell,然后启动cmd来使用不同的python环境来运行代码。

打开C:\Users\UryWu\AppData\Roaming\Code\User\settings.json

UryWu改为你的计算机账户名。

在"code-runner.executorMap"下的"python"的键值改为如下,注意anaconda的python.exe路径要更改为你自己的,也不要全选复制粘贴,修改"python"键就行:

{
    "php.validate.executablePath": "",
    // "python.pythonPath" :"E:\\Anaconda3-2019.10-Windows-x86_64\\envs\\tensorflow-gpu\\python.exe", 
    /*使用上面这一行会报错:
    CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. 
    If using 'conda activate' from a batch script, change your invocation to 'CALL conda.bat activate'.
    1."python.pythonPath"行配置的作用是在终端运行python代码时进入你配置的anaconda环境;
    2.因为我默认使用的是powershell终端,所以无法activate <CONDA_ENV>激活anaconda环境,需要更改默认终端为cmd
    才能activate <CONDA_ENV>。我怕因python而把VScode默认终端修改为cmd后,而影响运行其它代码,所以还是不修改默认终端。
    所以只能在下面的"python"键下功夫了。
    */
        "code-runner.executorMap":{//这里是运行不同代码时,终端的执行语句。当你修改默认终端(powershell或cmd)时,这些命令可能因报错而需要修改。
        "javascript": "node",
        "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
        "php": "php",//直接写语言名称就是没有设置此类语言的编译运行配置。
        "python": "cmd /k E:\\Anaconda3-2019.10-Windows-x86_64\\envs\\tensorflow-gpu\\python.exe $file",
        /*解释上面的配置:'cmd /k'表示以cmd运行某个命令,然后是你欲使用的conda环境里面的python.exe,$file是代码文件的绝对路径。
        archive:
            "python": "cmd /k activate tensorflow-gpu '&' cd $dir '&' python $fileName",
        解释上面的配置:
        'cmd /k'表示以cmd运行某个命令,'activate tensorflow-gpu'就是进入这个环境,&是cmd的多命令分隔符。
        这里的'&'之后是在cmd里运行的第二个命令:使用python运行代码$fileName,'&'改为&会导致powershell语法报错,
        保留&的单引号才能用在符合powershell语法检查的情况下在进入cmd后执行多个cmd命令。你可用pwd命令做测试,只能powershell执行而cmd不能。
        '&' cd $dir 是用cmd进入代码所在目录,代码不在C盘时会报错No such file or directory,因为cmd还需要
        打一个盘符来从默认的C盘转到其它盘,而powershell可以直接cd跳转。所以此配置失败了。
        如果可以获得VScode里盘符的${}变量则可使用此配置。
        python $fileName是使用python执行代码,$fileName是代码文件名。
        
            "python": "cd $dir && E:\\Anaconda3-2019.10-Windows-x86_64\\envs\\tensorflow-gpu\\python.exe $fileName",
        解释上面的python运行环境配置:'cd $dir'是进入代码所在目录,'&&'或者';'是powershell的多命令分隔符,可能新版不可用&&。
        虽然此配置可以运行代码,但是VScode终端总是自动去activate <CONDA_ENV>激活anaconda环境,而我的默认终端保持powershell,
        所以会报错:CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'. 
        If using 'conda activate' from a batch script, change your invocation to 'CALL conda.bat activate'.
        */
        "perl": "perl",
}

Bug1: 关于VS code中 import后却显示no module的问题解决(明明安装了却无法导入,终端可以运行,输出端不行)

sulotion:

关于VS code中 import后却显示no module的问题解决(明明安装了却无法导入,终端可以运行,输出端不行) - it610.com

Bug2: Linter pylint is not installed.

sulotion:

vscode 一直提示 Linter pylint is not installed,Python没有波浪线提示解决办法

Bug3:[windows] CommandNotFoundError: Your shell has not been properly configured to use ‘conda activate‘

sulotion:

在vscode中输入conda activate xx时,仍然遇到这个问题,抓狂。在网上搜了用power shell 去conda init均不行,后来发现vscode的terminal的后端就是powershell,将他改成cmd 后,一切都好了。。

参考:vscode切换默认终端为cmd

2.2 [python代码自动补全利器Kite](

3 快捷键修改

3.1 快捷键修改及本地保存地址

慢速点击alt+f+p后点击Keyboard shotcuts可以修改快捷键,

键位修改后,修改的设置保存在这个文件里面:

C:\Users\UryWu\AppData\Roaming\Code\User\keybindings.json

此文件:C:\Users\UryWu\AppData\Roaming\Code\User\keybindings.json

3.2 macros多个命令执行快捷键

下面是我自定义的一个保存文件并运行代码后跳到终端命令行的快捷键:alt+m ,需要下载插件macros。

// Place your key bindings in this file to override the defaultsauto[]
[
    {
        "key": "alt+m",
        "command": "macros.save_and_run" 
        /*直接系统可以设置运行代码前保存,但之前不知道,用了macros的组合命令。用这个macros也有好处,
        我又增加了跳转到终端窗口和终端窗口滚动到底部的指令,另外系统的运行代码不能使用alt+n或alt+b快捷键。
        */
    },
    {
        "key": "ctrl+alt+n",
        "command": "-code-runner.run" //code-runner.run前面加个减号代表禁用此快捷键,此快捷键是vscode内置的。
    },
    {
        "key": "alt+v",
        "command": "code-runner.run"  //直接运行代码,我已经在系统里设置自动保存代码了。不用macros也可。
    }

]

然后C:\Users\UryWu\AppData\Roaming\Code\User\settings.json里面是我自定义的save_and_run的组合命令,保存后运行。

"macros": {
    	// 自定义指令名称
        "save_and_run": [
            //第一个指令,保存。
            "workbench.action.files.save",
            //第二个指令,运行代码。
            "code-runner.run",
            //第三个指令,跳转终端窗口。
            "workbench.action.terminal.toggleTerminal",
            //第四个指令,终端窗口滚动到底部。
            "workbench.action.terminal.scrollToBottom"
        ]
    },

3.3 软件中不同面板的切换

Ctrl+~ 打开集成终端(其实是"`“,打”~"是方便大家找到),输入

img

Ctrl+1进入编辑器空间

Ctrl+Shift+U进入output空间,(鼠标长时停留于菜单栏有提示)

img

**

img

Ctrl+1进入编辑器空间

Ctrl+Shift+U进入output空间,(鼠标长时停留于菜单栏有提示)

img

相关文章:

  • 【threejs】可视化大屏酷炫3D地图附源码
  • 安路FPGA学习备忘录
  • 目标检测算法——YOLOv5改进之结合MobileOne结构
  • Python之“诗词大会”游戏
  • MySQL:索引知识点盘点
  • 大神之路-起始篇 | 第9章.计算机科学导论之【程序设计语言】学习笔记
  • Python 的Tkinter包系列之四:对话框
  • 大神之路-起始篇 | 第8章.计算机科学导论之【数据算法】学习笔记
  • IDET变化检测模型
  • javascript基本语法(持续补充)
  • Spring Boot开发之Mybatis
  • 卷王杯 easy unserialize
  • 常见Web安全漏洞深入解析
  • 如何从一款单片机移植到另一款单片机
  • linux创建用户和组、授权、禁止root远程登录、限制SSH的IP登录
  • __proto__ 和 prototype的关系
  • ECMAScript6(0):ES6简明参考手册
  • JavaScript 奇技淫巧
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • springMvc学习笔记(2)
  • Vue学习第二天
  • 电商搜索引擎的架构设计和性能优化
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 高度不固定时垂直居中
  • 和 || 运算
  • 经典排序算法及其 Java 实现
  • 坑!为什么View.startAnimation不起作用?
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 前端临床手札——文件上传
  • 世界编程语言排行榜2008年06月(ActionScript 挺进20强)
  • 数组大概知多少
  • 详解移动APP与web APP的区别
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • Redis4.x新特性 -- 萌萌的MEMORY DOCTOR
  • 阿里云服务器如何修改远程端口?
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • ## 基础知识
  • (11)MSP430F5529 定时器B
  • (7)摄像机和云台
  • (windows2012共享文件夹和防火墙设置
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)memcache、redis缓存
  • .Net 6.0 Windows平台如何判断当前电脑是否联网
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .Net IE10 _doPostBack 未定义
  • .NET 常见的偏门问题
  • .NET3.5下用Lambda简化跨线程访问窗体控件,避免繁复的delegate,Invoke(转)
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接