CudaText 플러그인: “Disk Wins”(외부 변경 시 강제 자동 다시 로드)¶
CudaText에는 파일이 생성되는 순간 자동으로 파일을 다시 로드하는 내장 옵션이 없습니다.
디스크 변경 — 모든 내장된 “디스크 변경” 모드에는 여전히 일부 내용이 표시됩니다.
다시 로드하기 전 일종의 프롬프트(모달 또는 모달 없음)
(default.json의 ui_notif_confirm 참조, 값 0-4, 모두
묻다). 이 플러그인은 이러한 격차를 해소합니다. 디스크가 항상 승리하며 프롬프트가 표시되지 않습니다.
여기에 보관되어 있으므로 누구도 이에 대해 CudaText 플러그인 API를 다시 파생할 필요가 없습니다.
다시. 플러그인 자체에 대한 진실의 출처는 다음과 같습니다.
이 폴더에 cuda_disk_wins/가 있습니다.
기능¶
열려 있고 명명된 모든 파일을 초당 한 번씩 폴링합니다(다음을 통해 구성 가능).
__init__.py의TIMER_INTERVAL).디스크에 있는 파일의 mtime이 변경되면 플러그인은 이를 다시 읽고 호출합니다.
Editor.set_text_all()— **저장되지 않은 변경 사항을 덮어씁니다. 묻지 않고 편집기 탭 **.나중에 “수정된” 플래그를 지웁니다(
PROP_MODIFIED = False). 탭은 아무것도 갈라지지 않은 것처럼 깨끗해 보입니다.최선의 노력으로 캐럿 위치와 이후에 보이는 맨 위 줄이 복원됩니다. 다시 로드합니다.
Plugins → Disk Wins아래에 두 개의 명령을 추가합니다:자동 재장전 켜기/끄기 전환지금 확인(수동 원샷 확인)
설정 대신 플러그인이 필요한 이유¶
CudaText의 자체 파일 감시자(ui_notif)는 “질문” 동작만 제공합니다.
|
행동 |
|---|---|
0 |
모달 없는 프롬프트, 항상 |
1 |
모달 없는 프롬프트, 편집기가 수정되었거나 비어 있지 않은 경우 실행 취소 |
2 |
모달 없는 프롬프트(편집기가 수정된 경우) |
3 |
모달 프롬프트, 항상 |
4 |
모달 프롬프트(편집기가 수정된 경우) |
“자동으로 다시 로드, 프롬프트 없음, 계속 진행”을 의미하는 값은 없습니다. 따라서 자체 폴링 루프를 실행하고 다시 로드하는 이 작은 플러그인은 Python API를 통해 직접적으로.
설치¶
mkdir -p ~/.config/cudatext/py
cp -r cuda_disk_wins ~/.config/cudatext/py/
CudaText를 다시 시작하십시오.
중요: 또한 CudaText의 자체 변경 알림 대화 상자를 비활성화하여
플러그인과 싸우지 않습니다. ~ 안에
~/.config/cudatext/settings/user.json:
{
"ui_notif": false
}
(UI의 옵션 → 설정 – 사용자 구성과 동일합니다.) 다시 시작
이 변경 후에 CudaText를 다시 사용하세요.
주의사항¶
이는 의도적으로 파괴적입니다. 저장되지 않은 편집 편집 내용은 삭제됩니다. 파일이 외부적으로 변경되는 순간 조용히. 그게 전부야 플러그인의 요점 — 가끔 유지하고 싶다면 설치하지 마세요. 외부 변경 사항에 대한 로컬 편집.
파일의 mtime 변경에만 반응합니다. 편집기 자체에 입력 다시 로드를 트리거하지 않습니다(피드백 루프 없음).
파일이 외부에서 삭제되면 플러그인은 파일이 삭제될 때까지 아무 작업도 수행하지 않습니다. 다시 나타납니다(충돌 없음, 반복적인 재로드 시도 없음).
인코딩은
PROP_ENC를 통해 읽고 가장 가까운 Python 코덱에 매핑됩니다. 아직 인코딩을 사용하지 않는 경우__init__.py에서ENC_MAP을 확장하세요. 나열되어 있습니다.
기원¶
저장되지 않은 편집기보다 파일 시스템 변경을 항상 선호하도록 제작됨
버퍼, 확인 없음” 요구 사항은 CudaText를 설정할 때 논의됨
Arch의 yay -S cudatext-qt6-bin python을 통해.