Saltar al contenido

¿Dónde almacena VS Code la lista de archivos abiertos?

No dejes de compartir nuestra web y códigos en tus redes, danos de tu ayuda para aumentar nuestra comunidad.

Solución:

Estoy bastante seguro de que tienes razón con AppDataRoamingCode siendo el lugar en cuestión. Específicamente:

  • AppDataRoamingCodestorage.json y en eso el windowsState sección.
  • AppDataRoamingCodeBackupsworkspaces.json

Estos archivos (o al menos storage.json) no se actualizan hasta que salga de Código (Archivo > Salir). Si deja Code abierto en su máquina de trabajo y no ve los cambios cuando llega a su máquina de casa, es posible que no vea lo esperado.

Code / Atom también almacena información de estado en bases de datos sqlite3 y allí se almacena mucha información de estado:

  • AppDataRoamingCodeLocal Storagefile__0.localstorage

Use una herramienta de navegador SQLite como http://sqlitebrowser.org/ para abrirlo. Verá muchas referencias de rutas conocidas en la tabla. ItemTable. La columna value se muestra como “BLOB” (binario), pero puede hacer clic en cualquier fila y exportar los datos a un archivo. Haga esto y ábralo en un editor de texto (por ejemplo, ¡Código! :)) y verá que es solo un JSON string.

(Como VS Code se basa en el editor Atom de GitHub, la búsqueda de problemas usando “Atom” en lugar de “Code” a menudo desentierra información que de otro modo no podría encontrar).

Estoy totalmente de acuerdo con @Jonathan y quiero agregar un poco más.

Para la pregunta, los archivos abiertos se almacenaron en file__0.localstorage que es un archivo sqlite. Y solo escribo un poco de código para extraer la lista de archivos abiertos. Espero eso ayude.

import sqlite3
import pandas as pd
import json

fn = r"C:UsersHelloWorldAppDataRoamingCodeLocal Storagefile__0.localstorage"
conn = sqlite3.connect(fn)
df = pd.read_sql("select key, value as _value from ItemTable", conn)
df["v"] = df.pop("_value").map(lambda x: x.decode("utf-16"))

# should be choosen carefully
known_file_opened = "numpy"
known_file_closed = "aws"

df_check = df[
    df.v.str.contains(known_file_opened)
    &(~df.v.str.contains(known_file_closed))
]
assert len(df_check) == 1

js = json.loads(df_check.v.iloc[0])
editors = js["groups"][0]["editors"]
print("Found %d editors" %(len(editors)))

paths = []
for editor in editors:
    js_ = json.loads(editor["value"])
    path = js_["resourceJSON"]["fsPath"]
    paths.append(path)

print("Found opened file list:n%s" %(paths))

valoraciones y comentarios

Te invitamos a sostener nuestro ensayo fijando un comentario o puntuándolo te estamos agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *