#bat 脚本创建VS Code Python工程

话不多说,先看效果
在这里插入图片描述
源码贴上

@echo off

:: 因为没有参数,所以这里会跳到 Dog
call :Dog%1 %2 %3
exit


:: =========================主程序========================= ::
:Dog
set BS=
:InputLoop
cls
set /p proj=输入工程名:
if "%proj%"=="" goto InputLoop

:: 输入判断
if exist "%proj%" (
    echo 工程已存在,3s后退出...
    timeout /t 3 /nobreak >nul
    goto END
)

:: 创建工程
echo.
echo 创建Python工程^(%proj%^)

:: 创建工程目录
set prefix=创建工程目录
set file=%proj%

set /p=%BS%[    ] %prefix%<nul
mkdir "%file%" >nul 2>nul
if exist "%proj%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 生成python虚拟环境(venv)
set prefix=生成python虚拟环境
set file=%proj%\venv\Scripts\pip.exe


set /p=%BS%[    ] %prefix%<nul
start /b %~n0%~x0 DotLoop %file%
python.exe -m venv "%proj%\venv" >nul 2>nul
if exist "%file%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 添加main^.py到工程
set prefix=添加main^.py到工程
set file=%proj%\main.py

set /p=%BS%[    ] %prefix%<nul
call :GenerateMainFile
if exist "%file%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 添加vscode配置
set prefix=添加vscode配置
set file=%proj%\.vscode\settings.json

set /p=%BS%[    ] %prefix%<nul
call :ConfigureVscodeSettings
if exist "%file%" (
    echo %BS%[] %prefix%
) else (
    echo %BS%[ × ] %prefix%
    goto CreateProjectFailed
)

:: 创建工程完成
echo 创建工程完成

:: 打开工程
echo 使用code打开工程
cmd /c code "%proj%"
timeout /t 3 /nobreak >nul
:: 结束
goto :eof
:: =================================Main End================================== ::






:: =========================Define Your Function Here========================= ::

:: ======================Configure Vscode Settings Start====================== ::
:ConfigureVscodeSettings
mkdir "%proj%\.vscode" >nul 2>nul
(
    echo {
    echo     "python.defaultInterpreterPath": "${workspaceFolder}\\venv\\Scripts\\python.exe",
    echo     "python.terminal.activateEnvInCurrentTerminal": true,
    echo     "python.formatting.provider": "black",
    echo     "python.formatting.blackArgs": [
    echo         "--skip-string-normalization",
    echo         "--line-length",
    echo         "120"
    echo     ],
    echo }
)>"%proj%\.vscode\settings.json"
goto :eof
:: ======================Configure Vscode Settings End======================== ::


:: ======================Generate main.py Start=============================== ::
:GenerateMainFile
(   
    echo def print_hello^(^):
    echo     print^('hello'^)
    echo. 
    echo. 
    echo if __name__ == '__main__':
    echo     print_hello^(^)
    echo.

)>"%proj%\main.py"
goto :eof
:: ======================Generate main.py End================================= ::

:: Function End


:: File has exist
:ProjectAlreadyExist
rmdir /s/q "%proj%"
for %%i in (3 2 1) do (
    set /p=%BS%工程已经存在, %%i秒后退出<nul
    timeout /t 1 /nobreak >nul 2>nul
)
set /p=%BS%                                                       <nul
goto END



:: ======================start 函数区====================== ::

:: ======================================================== ::
:: 循环打印(. .. ...),直到给定的文件出现
:: @param %1 文件
:: 调用格式 call %0 "param"
:DogDotLoop
if not exist "%1" (set /p=.<nul)         else ( exit )
timeout /t 1 /nobreak >nul
if not exist "%1" (set /p=.<nul)         else ( exit )
timeout /t 1 /nobreak >nul
if not exist "%1" (set /p=.<nul)         else ( exit )
timeout /t 1 /nobreak >nul
if not exist "%1" (set /p=   <nul) else ( exit )
goto DogDotLoop
exit

:: ======================================================== ::
:: 循环打印(............),直到给定的文件出现
:: @param %1 文件
:: 调用格式 call %0 "param" 
:DogDotNoLoop
if not exist "%1" (set /p=.<nul)        else ( goto :eof )
timeout /t 1 /nobreak >nul
goto DogDotNoLoop
exit

:END
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值