코드 스니펫 생성
생성
일반적으로 「코드 스니펫 템플릿」 .snippet 파일은 다음과 같이 테이블을 직접 반환해야 합니다.
return {
name = '测试片段'; -- 코드 스니펫 이름
description = '用于测试各选择器的功能'; -- 코드 스니펫 설명
arguments = { -- 코드 스니펫 선택기 목록
{ -- 선택기 1
type = 'app', -- 선택기 형식
title = '选择应用', -- 선택기 제목
subtitle = '请选择一个应用', -- 선택기 부제목
default = 'com.xxtouch.XXTExplorer', -- 선택기 기본값
},
{ -- 선택기 2
type = 'loc',
title = '选择地理位置',
subtitle = '请随便选择一个地理位置',
default = xui.get("com.darwindev.XXTExplorer", "location1"),
-- 코드 스니펫 .snippet에서 .xui가 지원하는 모든 API를 사용할 수 있습니다
},
{ -- 선택기 3
},
-- ...
};
generator = function (...) -- 가변 인수 생성기
-- 인수를 처리하고 생성된 결과를 반환합니다
local result
return result
end;
}
루트 수준
| 키 | 형식 | 설명 |
|---|---|---|
| name | 문자열 | 코드 스니펫 이름 |
| description | 문자열 | 코드 스니펫 설명 |
| arguments | 배열 | 코드 스니펫 선택기 목록 |
| generator | 함수 | 코드 스니펫 생성기 |
| output | 문자열 | 코드 스니펫 독립 출력 파일 이름 |
name과 description은 각각 코드 스니펫 템플릿의 표시 이름과 표시 설명이며, 파일 관리자와 코드 스니펫 진입점에 표시됩니다.
arguments는 하나 이상의 선택기 인수 사전을 포함하는 배열입니다. 앱은 배열에 지정된 선택기 순서에 따라 선택기 대기열을 만들고 사용자가 차례대로 선택하도록 합니다. 사용자가 선택기 대기열을 완료하면 앱은 각 선택기의 반환값을 가변 인수로 생성기 generator에 순서대로 전달하여 호출하고, 마지막으로 generator의 반환값을 호출자에게 반환합니다.
코드 스니펫 템플릿 .snippet은 독립적으로 사용할 수 있습니다. 독립 사용을 허용하려면 output 필드를 설정하십시오. generator에서 생성한 결과 텍스트는 같은 디렉터리에서 output으로 지정한 파일에 저장됩니다.
선택기 인수 사전
| 키 | 형식 | 설명 |
|---|---|---|
| type | 문자열 | 선택기 형식 |
| title | 문자열 | 선택기 제목, 선택기 페이지 아래에 표시 |
| subtitle | 문자열 | 선택기 부제목, 선택기 페이지 아래에 표시 |
| default | 기본 형식 | 선택기 기본값 |
각 형식 선택기의 선택기 인수 사전에 대한 자세한 설명은 이어지는 내용을 참조하십시오.
XUI에서 사용
코드 스니펫 템플릿 .snippet을 XUI의 TitleValue 컴포넌트에서 사용하면 XUI에서 선택기 대기열을 열고 그 결과를 XUI 컴포넌트의 설정 항목에 저장할 수 있습니다. 또한 이 .snippet은 xui.get/xui.set/xpp.bundle_path 등 XUI가 지원하는 모든 API를 호출할 수 있습니다.
코드 편집기에서 사용
코드 스니펫 템플릿 .snippet을 기본 디렉터리의 snippets 디렉터리에 놓으면 앱의 코드 편집기에서 호출할 수 있습니다. 키보드 도구 모음 오른쪽 위에 있는 별 모양 버튼을 탭하면 코드 스니펫을 빠르게 생성하여 편집 중인 코드에 삽입할 수 있습니다.
독립 파일로 사용
코드 스니펫 템플릿 .snippet에 output 필드를 설정하고 코드 스니펫을 기본 디렉터리의 lua/scripts 디렉터리에 놓으면 앱에서 직접 탭하여 선택기 대기열을 시작할 수 있습니다. generator에서 생성한 결과 텍스트는 같은 디렉터리에서 output으로 지정한 파일에 저장됩니다.