ESP-IDF遇到的关于环境变量的问题

ESP-IDF遇到的关于环境变量的问题

试了网上大佬提供的关于使用vs code 搭建开发环境的教程感觉环境变量老是弄不好,然后就慢慢试好像试出来个笨办法。
安装完乐鑫提供的ESP-IDF TOOLS后会在开始菜单中出现一个快捷方式,运行快捷方式即可打开命令窗口并配置好环境变量,进入ESP-IDF提供的例程后就可以通过运行idf.py build或其他命令来编译或执行其他操作。
通过ESP-IDF TOOLS可以下载ESP-IDF但是好像没有4.0及以上版本的ESP-IDF(4.0以上支持cmake)。可以通过

git clone --recursive https://github.com/espressif/esp-idf.git

下载4.0以上版本然后在安装ESP-IDF TOOLS时选择已有的ESP-IDF并选择该路径.
贴下大佬的教程按照教程配置好后发现在vs code中无法编译。然后就按照教程中的tasks.json中的内容直接去命令行中试试。

{
     
"label": "menuconfig",
"type":"shell",
"windows": {
     
"command": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell",
"args": [
"idf.py",
"menuconfig"
]
},

试了不管时powershell还是cmd在进入ESP-IDF中调用idf.py都不行,又去看了下ESP-IDF Command Prompt (cmd.exe)快捷方式,可以看到在运行快捷命令时会打印一些信息,分别有python和git的使用路径和设置ESP-IDF的路径,还有下面一大串的添加ESP-IDF tools到PATH,教程里也有在PATH中国添加tools路径,但是好像就是不行(可能是我哪里操作有误或是其他原因,有明白的大佬还请指教,十分感谢)然后我就开始无脑把运行ESP-IDF Command Prompt (cmd.exe)的结果添加到PATH,就像介个样子。ESP-IDF遇到的关于环境变量的问题_第1张图片
然后就可以不用快捷方式直接从cmd里进入ESP-IDF的例程里就可以使用idf.py了。然后再使用重新打开cs code也可以使用了。输入idf.py后出现ESP-IDF遇到的关于环境变量的问题_第2张图片
编译下载串口监控也都可以用(速度真的比以前快多了),嘿嘿,我觉得命令行也挺好用的,看起来很清楚。
再贴一下三个json文件(我也看不是很明白,恳求大佬教我)。

//tasks.json文件
{
     
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
    {
     
    "label": "build app",
    "command": "idf.py",
    "type": "shell",
    "args": [
    "build"
    ],
    "presentation": {
     
    "reveal": "always",
    "echo": true
    },
    "problemMatcher": {
     
    "owner": "cpp",
    "fileLocation": "absolute",
    "pattern": {
     
    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
    "file": 1,
    "line": 2,
    "column": 3,
    "severity": 4,
    "message": 5
    }
    }
    },
    {
     
    "label": "clean app",
    "command": "idf.py",
    "type": "shell",
    "args": [
    "fullclean"
    ],
    "presentation": {
     
    "reveal": "always",
    },
    },
    {
     
    "label": "flash app",
    "command": "idf.py",
    "type": "shell",
    "args": [
    "-p","COM9","flash"
    ],
    "presentation": {
     
    "reveal": "always",
    },
    },
    {
     
    "label": "monitor",
    "type":"shell",
    "windows": {
     
    "command": "",
    "args": [
    "idf.py",
    "-p",
    "COM9",
    "monitor"
    ],
    },
    "presentation": {
     
    "reveal": "always",
    },
    "problemMatcher": []
    },
    {
     
    "label": "menuconfig",
    "type":"shell",
    "windows": {
     
    "command": "",
    "args": [
    "idf.py",
    "menuconfig"
    ]
    },
    "presentation": {
     
    "reveal": "always",
    },
    "problemMatcher": []
    }
    ]
    }
//settings.json文件
{
     
    "files.associations": {
     
        "stdio.h": "c",
        "esp_spi_flash.h": "c"
    },
    "python.pythonPath": "C:\\Users\\lnl\\AppData\\Local\\Programs\\Python\\Python37\\python.exe",
    //"terminal.integrated.shell.windows":"C:\\WINDOWS\\System32\\cmd.exe"
}
//c_cpp_properties.json文件
{
     
    "configurations": [
        {
     
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**",
                "${env:IDF_PATH}/components/**",
                "D:/cygwin/usr/include",
                "D:/esp32/esp-idf/components/driver/include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "intelliSenseMode": "${default}",
            "compilerArgs": [
                "C:\\Users\\lnl\\.espressif\\tools\\xtensa-esp32-elf\\1.22.0-80-g6c4433a5-5.2.0\\xtensa-esp32-elf\\bin\\xtensa-esp32-elf-gcc.exe"
            ]
        }
    ],
    "version": 4
}

c_cpp_properties.json文件也可以在这里面配置,ctrl+shift+p搜索即可在这里插入图片描述
按照自己文件的路径添加即可。

最后在补点:其实乐鑫有提供不通过快捷方式而进去cmd中调用idf.py的方法的ESP-IDF遇到的关于环境变量的问题_第3张图片
或许可以修改下tasks.json中的内容然后应该也是可以的,或者直接在vs code的命令窗口调用export.bat,有兴趣的可以试试,或许有大佬会将快捷方式里的目标类型啥的放进tasks.json里(好像也很好玩)。ESP-IDF遇到的关于环境变量的问题_第4张图片
以上纯属个人理解,有错误的话恳求指正。

你可能感兴趣的:(ESP-IDF遇到的关于环境变量的问题)