스 니펫이 동적으로 계산 된 완료 또는 스 니펫을 Visual Studio 코드에 삽입 할 수 있습니까?VSCode의 동적 스 니펫 평가
다양한 형식의 날짜 및 시간 문자열을 삽입하기위한 스 니펫이 필요합니다. 예를 들어 date
을 입력하면 ISO 형식의 현재 날짜가 자동으로 확장됩니다.
는 EventListener
클래스의 on_query_completions
방법을 통해 파이썬 API에서이 작업을 수행하는 숭고한 텍스트의 시설이있다.
def on_query_completions(self, view, prefix, locations):
if prefix == 'date':
val = datetime.now().strftime('%Y-%m-%d')
return [(prefix, prefix, val)] if val else []
내가 User Defined Snippets에 대한 설명서를 읽고,하지만 사용자가 채우고있는 한 가지에만 탭 정지 및 변수 미리 정의 된 텍스트를 삽입 할 수 있습니다 것으로 보인다
:이 구현은 매우 간단하다.스 니펫 API에 의해 노출 된 기능으로는 이것이 가능하지 않은 경우 저수준 플러그인/확장 API를 통해 비슷한 기능을 구현할 수 있습니까?
기존 확장명이 Insert Date and Time 인 것을 알고 있지만 동적 확장 대신 명령 팔레트를 통해 작동합니다.
감사합니다, 올바른 방향으로 절 지적이있다. 구현을 위해'CompletionItem'을 사용하는 것은이 유스 케이스의 ST만큼 간단하지 않지만 더 많은 유연성을 제공합니다. –
@ chris-scott, 나는 똑같은 일을하는 방법을 찾고 있었다. (다른 형식의 타임 스탬프와 같은 이유로). 당신이 일하는 것처럼 들리므로 확장 기능을 공유하거나 VS 코드 마켓 플레이스에 두십시오. :) – Dullroar
@Dullroar, 예. 할 계획입니다. dev 모드 밖에는 테스트하지 않았기 때문에 아직 공개하지 않았지만 github에 업로드하여 사용자가 살펴볼 수 있도록합니다. –