Python搭建一个一键配置vscode的C环境的代码,并且进行exe文件封装

前言

在之前的时候一直使用的是复制.vsode文件夹的方式进行的文件配置,虽然对于一些较小的项目来说都塞到一个里面就够用了,不过对于一些新的项目可能需要再去找一个模板的json文件重新创建比较麻烦,刚好最近闲着没事,顺便就做一个exe自动生成,这样之后再弄的时候就直接运行exe文件就可以了。

功能预计

最终应当是有两种预期方案:
1.运行exe文件,然后会弹出窗口输入文件夹目录。
2.运行exe文件,自动在当前目录下创建.vscode文件夹,并自动配置好相关的内容。

思路流程图

在这里插入图片描述

所需技术

其实虽然说是为了配置文件,实际上也就是利用了基本的文件I/O操作写的一个py文件,然后封装成exe文件,方便自己偷懒用的。弄这个主要就是之后想随便学点C++相关的知识,写个辅助之类的帮自己挂机啥的,python虽然也能写不过执行速度相对来说还是比较慢。

代码v1

最开始的时候是随便写了个demo试了一下看看能不能创一个文件夹,然后从里面创建一个新的文件,把数据写进去,以为会报错来着,结果直接就对了,挺意外的哈哈哈。

import os

os.makedirs("./v")
with open("./v/a.json","w",encoding="utf-8") as f:
    f.write("6") 

在这里插入图片描述
之后就是把这个文件挪到别的文件夹下,然后把模板中的json内容放到字符串里面写到文件里就可以了。
最终的代码是:

# 目标:实现文件夹.vscode所有文件的一件创建,进而完成vscode的C环境完整配置。
import os

filename=["c_cpp_properties.json","launch.json","tasks.json"]
content=["""{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:/mingw64/bin/gcc.exe",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}""",
    """{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:/mingw64/bin/gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description":  "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }

    ]
}""",
    """{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:/mingw64/bin/g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}"""]

if not os.path.exists("./.vscode"):
    os.makedirs("./.vscode")
for i in range(len(filename)):
    with open(os.path.join("./.vscode",filename[i]),"w",encoding="utf-8") as f:
        f.write(content[i]) 

debug的过程

第一次的时候写这个代码以为生成了就没啥问题了,结果发现json文件里面的那个编译器路径有报错:
Invalid escape character in string.
稍微思考了一下发现应该是原本文件里面的\在写入之后变为了\,毕竟都是路径符号,都改成/就可以了。
在这里插入图片描述

测试结果

按下F5运行一个随意的测试程序,可以正常运行,配置完成。
在这里插入图片描述

exe文件封装

输入pyinstaller -F create_environ.py进行打包得到一个exe文件,进而可以获得一个exe文件,放到一个新的文件夹,双击产生了所需要的环境。封装成功。在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值