
Augment Code无限试用教程
在VSCode中退出Augment:首先打开命令面板(按Ctrl+Shift+P),然后在搜索框中输入”Augment”,最后在下拉菜单中找到并选择”Augment: Sign Out”选项来完成退出操作
彻底关闭VSCode软件:确保所有VSCode窗口都已经完全关闭,可以通过任务管理器检查是否还有VSCode进程在运行,如果有就将其结束
运行下方提供的Python清理脚本:该脚本会自动查找并清理相关的数据库文件,建议在运行之前先仔细阅读脚本内容以了解其功能
使用全新的账号重新登录:打开VSCode后,选择登录选项并使用一个之前未使用过的Augment账号进行登录,这样可以重新开始试用期
#!/usr/bin/env python3
import os
import sqlite3
import pathlib
import platform
from pathlib import Path
def get_db_paths():
"""根据不同操作系统获取Cursor和Code数据库路径"""
system = platform.system()
paths = []
if system == "Darwin": # macOS
paths.append(Path.home() / "Library" / "Application Support" / "Cursor" / "User" / "globalStorage" / "state.vscdb")
paths.append(Path.home() / "Library" / "Application Support" / "Code" / "User" / "globalStorage" / "state.vscdb")
elif system == "Windows":
paths.append(Path(os.getenv("APPDATA", "")) / "Cursor" / "User" / "globalStorage" / "state.vscdb")
paths.append(Path(os.getenv("APPDATA", "")) / "Code" / "User" / "globalStorage" / "state.vscdb")
elif system == "Linux":
paths.append(Path.home() / ".config" / "Cursor" / "User" / "globalStorage" / "state.vscdb")
paths.append(Path.home() / ".config" / "Code" / "User" / "globalStorage" / "state.vscdb")
else:
raise OSError(f"不支持的操作系统: {system}")
# 过滤掉不存在的路径
return [path for path in paths if path.exists()]
def clean_db(db_path):
"""清理单个数据库文件"""
app_name = "Cursor" if "Cursor" in str(db_path) else "Code"
print(f"正在处理 {app_name} 数据库...")
# 连接到数据库
conn = sqlite3.connect(str(db_path))
cursor = conn.cursor()
try:
# 备份数据库
backup_path = f"{db_path}_backup"
with open(db_path, 'rb') as source:
with open(backup_path, 'wb') as dest:
dest.write(source.read())
print(f"已创建备份")
# 直接删除记录
cursor.execute("DELETE FROM ItemTable WHERE key LIKE '%augment%'")
conn.commit()
print(f"已清理数据库")
except sqlite3.Error as e:
print(f"处理出错")
finally:
# 关闭连接
conn.close()
return True
def clean_cursor_db():
# 获取所有可能的数据库路径
db_paths = get_db_paths()
if not db_paths:
print("未找到需要处理的数据库文件")
return
print(f"找到 {len(db_paths)} 个数据库文件")
# 处理每个数据库
for db_path in db_paths:
clean_db(db_path)
print("处理完成")
if __name__ == "__main__":
clean_cursor_db()
上面不行,就用下面的:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sqlite3
import shutil
import platform
def get_vscode_db_path() -> str | None:
"""
根据操作系统确定 VSCode 数据库的路径。
"""
system = platform.system()
try:
if system == "Darwin": # macOS
return os.path.expanduser("~/Library/Application Support/Code/User/globalStorage/state.vscdb")
elif system == "Windows":
appdata = os.getenv('APPDATA')
if appdata:
return os.path.join(appdata, "Code", "User", "globalStorage", "state.vscdb")
elif system == "Linux":
# 这是 VSCode 官方构建的常见路径
return os.path.expanduser("~/.config/Code/User/globalStorage/state.vscdb")
except Exception as e:
print(f"获取数据库路径时出错: {e}")
return None
def clean_vscode_db():
"""
清理 VSCode 数据库中包含 'augment' 关键字的条目。
"""
db_path = get_vscode_db_path()
if not db_path:
print("错误: 无法为当前操作系统确定 VSCode 数据库的路径。")
print("请确认 VSCode 已安装,或手动修改脚本中的路径。")
return
if not os.path.exists(db_path):
print(f"错误: 找不到数据库文件: {db_path}")
print("请确认 VSCode 已安装或数据库文件位置正确。")
return
backup_path = f"{db_path}.{platform.system().lower()}.backup"
conn = None
try:
print(f"正在备份数据库 {db_path} 到 {backup_path}...")
shutil.copy2(db_path, backup_path)
print(f"数据库已成功备份到: {backup_path}")
print(f"连接到数据库: {db_path}")
conn = sqlite3.connect(db_path)
cursor = conn.cursor()
search_pattern_value = "augment"
sql_like_pattern = f'%{search_pattern_value}%'
cursor.execute("SELECT COUNT(*) FROM ItemTable WHERE key LIKE ?", (sql_like_pattern,))
count = cursor.fetchone()[0]
print(f"在 ItemTable 表中找到 {count} 条 'key' 包含 '{search_pattern_value}' 的记录。")
if count > 0:
print(f"准备删除 {count} 条记录...")
cursor.execute("DELETE FROM ItemTable WHERE key LIKE ?", (sql_like_pattern,))
conn.commit()
rows_deleted = cursor.rowcount
print(f"成功删除了 {rows_deleted} 条记录 (根据 cursor.rowcount)。")
# 验证删除
cursor.execute("SELECT COUNT(*) FROM ItemTable WHERE key LIKE ?", (sql_like_pattern,))
remaining_count = cursor.fetchone()[0]
print(f"删除操作后,ItemTable 表中剩余 {remaining_count} 条匹配记录。")
if remaining_count == 0:
print("所有匹配的记录已成功删除。")
else:
print(f"警告: 仍有 {remaining_count} 条匹配记录。请检查数据库。")
else:
print("未找到需要删除的记录。")
except sqlite3.Error as e:
print(f"数据库操作发生错误: {e}")
if conn:
try:
conn.rollback()
print("事务已回滚。")
except sqlite3.Error as rb_e:
print(f"回滚事务时发生错误: {rb_e}")
except IOError as e:
print(f"文件操作错误 (例如备份时): {e}")
except Exception as e:
print(f"发生未知错误: {e}")
finally:
if conn:
conn.close()
print("数据库连接已关闭。")
else:
# 如果连接未成功建立,db_path 存在时会打印此信息
if db_path and os.path.exists(db_path):
print("数据库连接未能建立或已提前关闭。")
if __name__ == "__main__":
clean_vscode_db()
想要清空对话里面的内容可以参考这个项目 J3n5en/curs0r-release
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 小驸马
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果