mirror of
https://github.com/yuaotian/go-cursor-help.git
synced 2025-06-08 12:32:06 +08:00
新增 Cursor 初始化函数以清理不必要的文件和文件夹,提升脚本的稳定性和用户体验。同时修复了路径字符串中的转义字符问题,确保在 Windows 环境下的兼容性。
This commit is contained in:
parent
86b2bae098
commit
776ecb0434
@ -13,6 +13,70 @@ $NC = "`e[0m"
|
||||
$STORAGE_FILE = "$env:APPDATA\Cursor\User\globalStorage\storage.json"
|
||||
$BACKUP_DIR = "$env:APPDATA\Cursor\User\globalStorage\backups"
|
||||
|
||||
# 新增 Cursor 初始化函数
|
||||
function Cursor-初始化 {
|
||||
Write-Host "$GREEN[信息]$NC 正在执行 Cursor 初始化清理..."
|
||||
$BASE_PATH = "$env:APPDATA\Cursor\User"
|
||||
|
||||
$filesToDelete = @(
|
||||
(Join-Path -Path $BASE_PATH -ChildPath "globalStorage\\state.vscdb"),
|
||||
(Join-Path -Path $BASE_PATH -ChildPath "globalStorage\\state.vscdb.backup")
|
||||
)
|
||||
|
||||
$folderToCleanContents = Join-Path -Path $BASE_PATH -ChildPath "History"
|
||||
$folderToDeleteCompletely = Join-Path -Path $BASE_PATH -ChildPath "workspaceStorage"
|
||||
|
||||
Write-Host "$BLUE[调试]$NC 基础路径: $BASE_PATH"
|
||||
|
||||
# 删除指定文件
|
||||
foreach ($file in $filesToDelete) {
|
||||
Write-Host "$BLUE[调试]$NC 检查文件: $file"
|
||||
if (Test-Path $file) {
|
||||
try {
|
||||
Remove-Item -Path $file -Force -ErrorAction Stop
|
||||
Write-Host "$GREEN[成功]$NC 已删除文件: $file"
|
||||
}
|
||||
catch {
|
||||
Write-Host "$RED[错误]$NC 删除文件 $file 失败: $($_.Exception.Message)"
|
||||
}
|
||||
} else {
|
||||
Write-Host "$YELLOW[警告]$NC 文件不存在,跳过删除: $file"
|
||||
}
|
||||
}
|
||||
|
||||
# 清空指定文件夹内容
|
||||
Write-Host "$BLUE[调试]$NC 检查待清空文件夹: $folderToCleanContents"
|
||||
if (Test-Path $folderToCleanContents) {
|
||||
try {
|
||||
# 获取子项进行删除,以避免删除 History 文件夹本身
|
||||
Get-ChildItem -Path $folderToCleanContents -Recurse | Remove-Item -Recurse -Force -ErrorAction Stop
|
||||
Write-Host "$GREEN[成功]$NC 已清空文件夹内容: $folderToCleanContents"
|
||||
}
|
||||
catch {
|
||||
Write-Host "$RED[错误]$NC 清空文件夹 $folderToCleanContents 内容失败: $($_.Exception.Message)"
|
||||
}
|
||||
} else {
|
||||
Write-Host "$YELLOW[警告]$NC 文件夹不存在,跳过清空: $folderToCleanContents"
|
||||
}
|
||||
|
||||
# 删除指定文件夹及其内容
|
||||
Write-Host "$BLUE[调试]$NC 检查待删除文件夹: $folderToDeleteCompletely"
|
||||
if (Test-Path $folderToDeleteCompletely) {
|
||||
try {
|
||||
Remove-Item -Path $folderToDeleteCompletely -Recurse -Force -ErrorAction Stop
|
||||
Write-Host "$GREEN[成功]$NC 已删除文件夹: $folderToDeleteCompletely"
|
||||
}
|
||||
catch {
|
||||
Write-Host "$RED[错误]$NC 删除文件夹 $folderToDeleteCompletely 失败: $($_.Exception.Message)"
|
||||
}
|
||||
} else {
|
||||
Write-Host "$YELLOW[警告]$NC 文件夹不存在,跳过删除: $folderToDeleteCompletely"
|
||||
}
|
||||
|
||||
Write-Host "$GREEN[信息]$NC Cursor 初始化清理完成。"
|
||||
Write-Host "" # 添加空行以改善输出格式
|
||||
}
|
||||
|
||||
# 检查管理员权限
|
||||
function Test-Administrator {
|
||||
$user = [Security.Principal.WindowsIdentity]::GetCurrent()
|
||||
@ -51,7 +115,7 @@ Write-Host ""
|
||||
function Get-CursorVersion {
|
||||
try {
|
||||
# 主要检测路径
|
||||
$packagePath = "$env:LOCALAPPDATA\Programs\cursor\resources\app\package.json"
|
||||
$packagePath = "$env:LOCALAPPDATA\\Programs\\cursor\\resources\\app\\package.json"
|
||||
|
||||
if (Test-Path $packagePath) {
|
||||
$packageJson = Get-Content $packagePath -Raw | ConvertFrom-Json
|
||||
@ -62,7 +126,7 @@ function Get-CursorVersion {
|
||||
}
|
||||
|
||||
# 备用路径检测
|
||||
$altPath = "$env:LOCALAPPDATA\cursor\resources\app\package.json"
|
||||
$altPath = "$env:LOCALAPPDATA\\cursor\\resources\\app\\package.json"
|
||||
if (Test-Path $altPath) {
|
||||
$packageJson = Get-Content $altPath -Raw | ConvertFrom-Json
|
||||
if ($packageJson.version) {
|
||||
@ -139,6 +203,9 @@ function Close-CursorProcess {
|
||||
Close-CursorProcess "Cursor"
|
||||
Close-CursorProcess "cursor"
|
||||
|
||||
# 执行 Cursor 初始化清理
|
||||
Cursor-初始化
|
||||
|
||||
# 创建备份目录
|
||||
if (-not (Test-Path $BACKUP_DIR)) {
|
||||
New-Item -ItemType Directory -Path $BACKUP_DIR | Out-Null
|
||||
@ -536,13 +603,4 @@ function Write-ConfigFile {
|
||||
catch {
|
||||
throw "写入配置文件失败: $_"
|
||||
}
|
||||
}
|
||||
|
||||
# 获取并显示版本信息
|
||||
$cursorVersion = Get-CursorVersion
|
||||
Write-Host ""
|
||||
if ($cursorVersion) {
|
||||
Write-Host "$GREEN[信息]$NC 检测到 Cursor 版本: $cursorVersion,继续执行..."
|
||||
} else {
|
||||
Write-Host "$YELLOW[警告]$NC 无法检测版本,将继续执行..."
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user