• 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'. 
    
    • 1

    我是按照自己的测试结果来的只配置"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 激活anaconda环境,需要更改默认终端为cmd
        才能activate 。我怕因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 激活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",
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    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也可。
        }
    
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    然后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"
            ]
        },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    3.3 软件中不同面板的切换

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

    img

    Ctrl+1进入编辑器空间

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

    img

    **

    img

    Ctrl+1进入编辑器空间

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

    img

  • 相关阅读:
    websocket--技术文档--spring后台+vue基本使用
    T40开发过程记录
    CentOS系统环境搭建(二十)——CentOS7安装chat GPT进阶
    冠达管理:股票退市整理期?
    C# 异步调用aysnc await
    计算一个区间时间差值,时间保留剩下的差值
    Android Jni添加打印(C++打印)
    logstash排除特定文件或文件夹不采集上报日志数据
    43特征01——特征值特征向量: 特征多项式、特殊矩阵 的特征值与特征向量、Hamilton-Cayley 定理
    Creating Higher-level Constructs with ZooKeeper: A Comprehensive Guide
  • 原文地址:https://blog.csdn.net/qq_25799253/article/details/127417315