VSCode에는 파일의 로컬 기록을 유지하는 기능이 추가되었습니다. 이 기사에서는 VSCode의 기록 저장 전략에 대해 설명하겠습니다.
어제 VSCode를 업데이트했는데 VSCode에 파일의 로컬 기록을 유지하는 기능도 추가된 것을 발견했습니다. 얼마 전 양크노트에 이력 기록 기능을 추가하기 위해 머리를 긁적이며 오랫동안 이력 저장 전략을 구상했던 기억이 난다. VSCode가 몇 달 전에 출시되었다면 참고할 수 있었을 텐데 아쉽습니다. [추천 학습: "vscode 입문 튜토리얼"]
그런데 VSCode의 역사적 스토리지 전략을 살펴보니 너무 투박한가요?
VSCode 버전 1.66의 타임라인에 파일의 로컬 기록을 표시할 수 있습니다. 효과는 다음과 같습니다.
이 기능을 위해 VSCode에는 몇 가지 구성도 추가되었습니다.
거기 로컬 기록을 사용하기 위한 새로운 설정도 있습니다:
workbench.localHistory.enabled
- 로컬 기록을 활성화 또는 비활성화합니다(기본값:true
).workbench.localHistory.enabled
- Enable or disable local history (default:true
).workbench.localHistory.maxFileSize
- File size limit when creating a local history entry (default:256 KB
).workbench.localHistory.maxFileEntries
- Local history entries limit per file (default:50
).workbench.localHistory.exclude
- Glob patterns for excluding certain files from local history.workbench.localHistory.mergeWindow
- Interval in seconds during which further changes are added to the last entry in local file history (default10s
workbench .localHistory.maxFileSize
- 로컬 기록 항목 생성 시 파일 크기 제한(기본값:256KB
).
workbench.localHistory.maxFileEntries
- 로컬 기록 항목 파일당 제한(기본값: 50
).
workbench.localHistory.exclude
- 로컬 기록에서 특정 파일을 제외하는 Glob 패턴.
workbench.localHistory. mergeWindow
- 로컬 파일 기록의 마지막 항목에 추가 변경 사항이 추가되는 간격(초)(기본값 10초
)
Yank Note의 전략
첫 번째 목표는 사용자가 가장 최근에 편집한 버전을 유지하고 폐기하지 않기를 바랍니다. 그리고 Yank Note에는 자동 저장 기능이 있어서 공간을 너무 많이 차지하지 않고, 파일을 너무 많이 생성하지 않는 것이 두 번째 목표입니다. 그래서 원래 VSCode처럼 생각했던 시간 창 + 파일 저장 전략이 먹히지 않네요. 세 번째 목표로는 Git이나 데이터베이스와 같은 사용자 정의 형식을 도입하고 싶지 않습니다. 사용자가 데이터를 잃어 소프트웨어에서 기록 기록을 찾는 것이 불편한 경우(소프트웨어 손상, 파일이 실수로 삭제된 경우 등) 사용자는 기록 디렉터리에 들어가 파일을 검색할 수 있어야 합니다.
보통 파일을 편집할 때 자동 저장 메커니즘으로 인해 현재 버전과 이전 버전의 차이는 매우 작습니다. 따라서 이론적으로는 압축 파일에 새 버전 파일을 추가하면 압축 파일의 전체 크기가 줄어듭니다. 크게 증가해야 합니다. 그러나 나중에 이것이 사실이 아니라는 것을 알게 되었습니다. 그제서야 Zip 파일 압축의 특징을 깨달았습니다. 각 파일은 별도로 압축된 다음 함께 패키지됩니다. 즉, 압축된 패키지에 파일을 추가할 때 다른 파일과 함께 압축되지는 않습니다.
이 상황에 대응하여 저는 2중 압축 전략을 채택했습니다. 처음에는 압축률을 0으로 설정하고 압축만 해서 zip 패키지에 파일의 원본 정보가 담기도록 했습니다. 전체 패키지 파일이 두 번째로 한 번 압축됩니다. 이제 압축 프로그램은 "증분 업데이트" 목적을 달성하기 위해 압축을 위한 전체 정보를 고려할 수 있습니다.
나중에 테스트하기 위해 스크립트를 작성하면 보통 길이의 파일을 1000개 버전으로 저장하면 50KB만 차지합니다.
몇 달 동안 사용해 본 결과, 내 기록 파일 디렉터리는 700KB가 넘는 공간만 차지하고 그 안에 있는 대부분의 기록 파일 크기는 몇 KB에 불과합니다. VSCode를 되돌아보면 지난 이틀 동안 히스토리 디렉터리가 2M을 차지했습니다.
기록 저장을 위해 몇 가지 보존 전략에 대해 추가로 생각했습니다.
마지막 저장 시간을 기준으로 유지:
- 지난 10분 동안의 모든 버전
- 지난 1시간 지난 24시간 동안 1분마다 1개의 버전
- 지난 24시간 동안 1시간마다 1개의 버전
- 매일 1개의 버전 유지
- 태그 백업
하지만 지금은 더 이상 필요하지 않은 것 같습니다. 전략은 간단하며 예상되는 모든 측면에서 내 요구 사항을 충족합니다.
VSCode에 대한 자세한 내용을 보려면 vscode 튜토리얼을 방문하세요! !
위 내용은 VSCode의 과거 스토리지 전략에 대해 이야기해 보겠습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!