Jikji
This extension is a modification of shalldie's extension named background, built for my own use. Thanks to shalldie for the original work.
VS Code workbench의 editor, sidebar, auxiliary bar, panel, fullscreen에 배경 이미지를 표시하는 확장입니다. 일반 이미지뿐 아니라 VSIX에 포함된 SVG 글리프를 조합해 문자열을 배경으로 표시할 수 있습니다.
설정을 바꾼 뒤 현재 창에 반영하려면 Jikji: Apply Current Settings 명령을 사용하거나 창을 다시 로드합니다. jikji.runtimePollingInterval이 양수이면 Reload 없이도 해당 시간 안에 새 런타임 설정을 읽습니다. 값이 0이면 창을 Reload해야 합니다.
Basic image example
// settings.json
{
"jikji.editor": {
"images": ["builtin:tabomcat.png"],
"style": {
"background-position": "right bottom",
"background-size": "320px auto",
"opacity": 0.15
}
}
}
builtin:<filename>은 설치된 확장 내부의 images/<filename> 파일을 뜻합니다. 절대 경로·file: URL·https: URL·data: URL도 images에 직접 넣을 수 있습니다.
Glyph text
문자열은 영역별 설정 안에 둡니다. glyphText가 비어 있지 않으면 합성 SVG가 해당 영역의 이미지 레이어에 자동으로 추가됩니다.
// settings.json
{
"jikji.editor": {
"glyphText": "HELL-O-WORLD",
"glyphTextFont": "jetbrains-mono",
"glyphTextDirection": "horizontal",
"glyphTextRotation": 25,
"glyphTextLetterSpacing": 20,
"glyphTextPadding": 0,
"glyphTextOffsetX": 0,
"glyphTextOffsetY": 0,
"style": {
"background-position": "center",
"background-size": "480px auto",
"opacity": 0.2
}
}
}
지원 문자는 ASCII 영문 대소문자, 숫자, 하이픈(-), 공백입니다. 글자와 공백의 advance는 선택한 글꼴의 원본 조판 값을 따릅니다. 가로·세로 평행이동, 자간, 문자열 전체 회전, 문자열 사방 여백을 지정할 수 있으며, 회전 뒤의 SVG 표시영역은 회전 bbox를 기준으로 계산됩니다.
문자열을 일반 이미지 배열의 특정 순번에 놓고 싶으면 다음 특수 항목을 사용합니다.
{
"jikji.editor": {
"images": ["text:jetbrains-mono", "builtin:tabomcat.png"],
"glyphText": "HELLO"
}
}
Areas
아래 다섯 영역은 독립된 설정을 가집니다.
jikji.editor
jikji.fullscreen
jikji.sidebar
jikji.auxiliarybar
jikji.panel
editor는 style, styles, useFront를 사용합니다. fullscreen, sidebar, auxiliarybar, panel은 opacity, size, position을 사용합니다.
jikji.editor.images에 여러 이미지를 넣으면 한 editor 안에서 겹치는 것이 아니라, 동시에 보이는 분할 editor 그룹에 순서대로 배정됩니다. jikji.editor.interval이 양수이면 그 배정이 순환하며, random: true이면 순서가 무작위가 됩니다.
Main settings
| Key |
Default |
Meaning |
jikji.enabled |
true |
확장을 활성화합니다. |
jikji.runtimePollingInterval |
0.5 |
런타임 설정을 다시 읽는 간격(초)입니다. 0이면 polling을 끕니다. |
jikji.autoApplyOnSettingsChange |
true |
설정 변경 시 런타임 설정을 자동으로 작성합니다. |
jikji.lightThemeImageInvert |
1.0 |
라이트 테마의 이미지 반전량입니다. 1은 흰 글자를 검정으로 바꿉니다. |
jikji.lightThemeImageOpacity |
1.0 |
라이트 테마에서 추가로 곱해지는 이미지 불투명도입니다. |
각 영역의 문자열 키는 다음과 같습니다.
glyphText
glyphTextFont
glyphTextPadding
glyphTextDirection
glyphTextRotation
glyphTextLetterSpacing
glyphTextOffsetX
glyphTextOffsetY
License
이 확장의 코드는 MIT License를 따릅니다. 글리프에 사용되는 제3자 폰트의 고지는 THIRD_PARTY_LICENSES.md에 있습니다.