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

六盘水市诚信网站建设公司设计师网站

六盘水市诚信网站建设公司,设计师网站,个人可以做社区网站有哪些,广州营销策划公司排行文章目录 清理VSCode旧版本插件为什么会有旧版本插件Mac 环境脚本源码原理解释实例解释 Windows 环境 清理VSCode旧版本插件 为什么会有旧版本插件 vscode 插件经常需要更新的,有时候更新之后旧版本的插件还是会留存在插件文件夹中(更新插件之后vscode…

文章目录

  • 清理VSCode旧版本插件
    • 为什么会有旧版本插件
    • Mac 环境
      • 脚本源码
      • 原理解释
      • 实例解释
    • Windows 环境

清理VSCode旧版本插件

为什么会有旧版本插件

vscode 插件经常需要更新的,有时候更新之后旧版本的插件还是会留存在插件文件夹中(更新插件之后vscode并不会删除旧版本插件),路径一般是.vsode/extensions ,如果插件很多,也经常更新就会出现很多旧版本的插件不断留存在插件文件夹中,这有点占存储,其实说到底 vscode 在更新插件之后存在一点瑕疵——没有删除老版本插件

Mac 环境

脚本源码

#!/bin/bash
EXTENSIONS_DIR="$HOME/.vscode/extensions"
EXTENSIONS_DIR="$HOME/Desktop/DCTG/test"
if [ -d "$EXTENSIONS_DIR" ]; thencd "$EXTENSIONS_DIR" || exit# 查找所有插件,按发布者和插件名分组find . -maxdepth 1 -type d -name "*.*" | sed 's/\.\///' | while read -r dir; do# 提取插件名称部分(发布者.插件名)# echo "### check dir ### $dir"plugin=$(echo "$dir" | sed -E 's/(-[0-9]+\.[0-9]+(\.[0-9]+)?(-.*)?)$//')# echo "### check plugin ### $plugin"if [ "$plugin" = "." ]; thencontinuefi# 查找该插件的所有版本,并按版本号排序versions=$(find . -maxdepth 1 -type d | grep -E "$plugin-[0-9]+\.[0-9]+\.[0-9]+" | sed 's/\.\///' | sort -Vr)# 如果有多于一个版本,则删除旧版本if [ "$(echo "$versions" | wc -l)" -gt 1 ]; thenecho "Cleaning up old versions of $plugin ..."echo "$versions" | tail -n +2 | xargs rm -rfecho "Done."fidone
elseecho "VSCode extensions directory not found: $EXTENSIONS_DIR"
fi

原理解释

  1. 首先 find 所有文件夹: find . -maxdepth 1 -type d -name "*.*" | sed 's/\.\///' | while read -r dir;
  2. 其次提取 [发布者].[插件名].[版本] 中的 [发布者].[插件名]plugin=$(echo "$dir" | sed -E 's/(-[0-9]+\.[0-9]+(\.[0-9]+)?(-.*)?)$//')
  3. 再次查找该插件的所有版本并逆序排一下:versions=$(find . -maxdepth 1 -type d | grep -E "$plugin-[0-9]+\.[0-9]+\.[0-9]+" | sed 's/\.\///' | sort -Vr)
  4. 删除旧版本插件文件夹: echo "$versions" | tail -n +2 | xargs rm -rf

实例解释

举个例子,假设插件文件夹下面有如下文件夹:

github.copilot-chat-0.24.0
github.copilot-chat-0.24.1
github.copilot-chat-0.24.2
  • 第一步和第二步处理之后得到 plugin = github.copilot-chat
  • 第三步处理之后得到逆序
    github.copilot-chat-0.24.2
    github.copilot-chat-0.24.1
    github.copilot-chat-0.24.0
    
  • 第四步处理:
    • echo "$versions" | tail -n +2
      github.copilot-chat-0.24.1
      github.copilot-chat-0.24.0
      
    • xargs rm -rf 直接删除 0.24.0 和 0.24.1

Windows 环境

没测试过,通过 deepseek 转换 bash 脚本生成

@echo off
setlocal enabledelayedexpansion:: 设置 VSCode 扩展目录
set "EXTENSIONS_DIR=%USERPROFILE%\.vscode\extensions":: 检查目录是否存在
if not exist "%EXTENSIONS_DIR%" (echo VSCode extensions directory not found: %EXTENSIONS_DIR%exit /b 1
):: 遍历所有插件目录
cd /d "%EXTENSIONS_DIR%"
for /d %%d in (*.*) do (set "dir=%%d":: 提取插件名称(去掉版本号)for /f "tokens=1,2 delims=-" %%a in ("!dir!") do (set "plugin=%%a"set "version=%%b"):: 跳过无效目录if "!plugin!"=="" (echo Skipping invalid directory: !dir!goto :next):: 查找该插件的所有版本set "versions="for /f "delims=" %%v in ('dir /b /ad "!plugin!-*" ^| findstr /r /c:"^!plugin!-[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*"') do (set "versions=!versions!%%v"$REMOVE$):: 按版本号排序(降序)set "sorted="for /f "tokens=1* delims=." %%a in ('(for %%v in (!versions!) do @echo %%v^) ^| sort /r') do (set "sorted=!sorted!%%a.%%b "):: 删除旧版本set "count=0"for %%v in (!sorted!) do (set /a "count+=1"if !count! gtr 1 (echo Deleting old version: %%vrmdir /s /q "%%v")):next
)
echo Cleanup completed.
endlocal
http://www.dtcms.com/wzjs/460814.html

相关文章:

  • 深圳网站建设培训西安网络推广公司大全
  • 网络游戏动漫设计专业搜索引擎简称seo
  • 唐山市住房和城乡建设局官方网站怎么在百度上做推广上首页
  • 有没有做网站的个人博客模板
  • 做门户网站公司百度竞价点击一次多少钱
  • 免费自动刷访客量祁阳seo
  • 做外贸的网站有那些如何制作一个网站
  • 可以做卡通动画的网站营销培训心得体会
  • 网站设计技术百度推广怎么操作流程
  • 办网站费用多少钱郑州网站优化顾问
  • 网站建设栏目图片搜索网站
  • dedecms如何做网站怎么发布信息到百度
  • 求职网站seo课设
  • 郑州富士康官网seo工具网站
  • 自己的卡盟网站怎么做分站搜索引擎营销优化的方法
  • 个人域名可以做网站吗官网seo怎么做
  • wordpress清新文艺主题优化大师手机版下载
  • 如何找企业联系做网站什么是sem
  • 手机网站设计知识可以免费推广的平台
  • 如何判断网站是用织梦做的cilimao磁力猫在线搜索
  • 门户网站 管理系统网站搜索排名优化软件
  • 网站建设公司浩森宇特衡阳百度推广
  • 图书馆网站建设工作总结seo还有未来吗
  • 企业网站 流程天津seo推广优化
  • 上海天华建筑设计有限公司地址宁波seo外包推广渠道
  • 长治做网站哪里不错北京seo案例
  • 网站建设与实现的要求与务iis搭建网站
  • 华大 建设网站重庆seo招聘
  • a5网站建设整站优化seo公司哪家好
  • 网站建设用细节取胜影响关键词优化的因素