찾다
개발 도구VSCode개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

VSCode支持自定义 snippets,可以极大提高开发效率。下面本篇文章就来给大家通过一个案例来学会 VSCode Snippets,希望对大家有所帮助!

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

snippets 是片段的意思,VSCode 支持自定义 snippets,写代码的时候可以基于它快速完成一段代码的编写。【推荐学习:《vscode入门教程》】

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

不只是 VSCode,基本所有的主流编辑器都支持 snipeets。

一个功能被这么多编辑器都支持,那肯定是很有用的,但是这功能大多数人都没用起来。

我之前写的 snippets 文章中讲了 snippets 支持的各种语法和配置方式,但是并没有用这些来做一个真实的案例。

所以,这篇文章就来讲一个真实的 snippets,基本用到了所有的 snippets 语法。能独立把它写出来,就可以说 snippets 已经掌握了。

我们还是先回顾下 VSCode 的 snippets 语法

snippets 基础

snippets 是这样的 json 格式:

{
    "alpha": {
        "prefix": ["a", "z"],
        "body": [
            "abcdefghijklmnopqrstuvwxyz"
        ],
        "description": "字母",
        "scope": "javascript"
    }
}
  • prefix 是触发的前缀,可以指定多个
  • body 是插入到编辑器中的内容,支持很多语法
  • description 是描述
  • scope 是生效的语言,不指定的话就是所有语言都生效

body 部分就是待插入的代码,支持很多语法,也是一种 DSL(领域特定语言)。

支持通过 $1、$2 指定光标位置:

"$1  xxxx",
"yyyy $2"

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

可以多光标同时编辑:

"$1  xxxx $1"

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

可以加上 placeholader,也可以做默认值:

"${1:aaa}  xxxx",
"yyyy ${2:bbb}"

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

可以提供多个值来选择:

"${1|卡颂,神光,yck|}最帅"

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

还提供了一些变量可以取:

"当前文件: $TM_FILENAME",
"当前日期: $CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE"

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

而且还能对变量做正则替换:

"${TM_FILENAME/(.*)\\.[a-z]+/${1:/upcase}/i}"

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

基本语法过了一遍,大家知道支持啥就行,后面我们来做个真实的案例,把这些用一遍就会了。

通过 command + shift + p,输入 snippets 然后选择一种范围:

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

snippets 有 project、global、language 3 种生效范围。我个人写 global 级别的比较多,项目和语言级别的也可以。

基础过完了,接下来我们就来写一个 snippets 吧。

实战案例

我最近在做 vue 的项目,写 router-link 比较多,所以封装了个 router-link 代码的 snippets。

我们先写个最简单的版本:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<router-link to={ name:&#39;xxx&#39;, params: {id: 1} } target=&#39;_blank&#39;>link</router-link>"
        ],
        "description": "router-link 跳转"
    }
}

这个没啥好说的,就是根据前缀补全内容:

개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

然后在 name、id、链接文字处加三个光标,也就是 $1、$2、$3:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<router-link to={ name: $1, params: {id: $2} } target=&#39;_blank&#39;>$3</router-link>"
        ],
        "description": "router-link 跳转"
    }
}

可以按 tab 键快速编辑其中变化的部分:

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

然后加上 placeholder:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<router-link to={ name: &#39;${1:RouteName}&#39;, params: {id: ${2:id}} } target=&#39;_blank&#39;>${3:link}</router-link>"
        ],
        "description": "router-link 跳转"
    }
}

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

其实 target 部分也是可选的,这里我们用多选来做:

选项有两个,就是 target="_blank" 或者空格。

${3| ,target=\"_blank\"|}

所以 snippets 就变成了这样:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "${4:link}"
        ],
        "description": "router-link 跳转"
    }
}

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

跳转地址大多数是和当前文件名有关,比如 XxxYyyZzzList 跳转 XxxYyyZzzDetail 的比较多。

所以我们默认值取当前文件名,用 TM_FILENAME 变量(所有可用变量可以在 vscode 官网查):

${1:$TM_FILENAME}

现在的 snippets:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "${4:link}"
        ],
        "description": "router-link 跳转"
    }
}

效果是这样:

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

确实把文件名填上去了,但是还要手动改,能不能填上去的就是改了之后的呢?

可以,变量支持做 transform,也就是正则替换:

XxxList.vue 要取出 Xxx 来,然后拼上 Detail,这样的正则不难写:

用 js 写是这样的:

&#39;XxxList.vue&#39;.replace(/(.*)List\.vue/,&#39;$1Detail&#39;)

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

在 snippets 里也差不多,只不过用 / 分开:

${TM_FILENAME/(.*)List\\.vue/$1Detail/i

所以 snippets 就变成了这样:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "${4:link}"
        ],
        "description": "router-link 跳转"
    }
}

填入的代码都是替换好了的:

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

链接的内容我们希望用选中的内容,这个也有变量,就是 TM_SELECTED_TEXT。

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

最后,我们希望 router-link 这个标签也可以变,而且改的时候开闭标签可以一起改。

这个要用多光标编辑,指定多个 $x 为同一个数字就行。

<${5:router-link}></${5:router-link}>

效果就是这样的:

1개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!

这就是最终的 snippets,所有 snippets 语法都用了一遍。

完整 snippets 如下,大家可以在 VSCode 里用用看,用起来体验还是很爽的:

{
    "routerLink": {
        "prefix": "link",
        "body": [
            "<${5:router-link} to={ name: '${1:${TM_FILENAME/(.*)List\\.vue/$1Detail/i}}', params: {id: ${2:id}} } ${3| ,target=\"_blank\"|}>${4:$TM_SELECTED_TEXT}"
        ],
        "description": "router-link 跳转"
    }
}

总结

基本所有主流编辑器都支持 snippets,也就是配置代码片段来提高开发效率,VSCode 也不例外,这是一个很有用的功能。

VSCode snippets 支持 global、project、language 3 种生效范围。我个人用全局的比较多。

它也算是一种 DSL 了,支持很多语法,比如指定光标位置、多光标编辑、placeholder、多选值、变量、对变量做转换等语法。

  • 指定光标位置:$x
  • 多光标编辑:$x $x
  • 指定 placeholder 文本:${x:placeholder}
  • 指定多选值:${x|aaa,bbb|}
  • 取变量:$VariableName
  • 对变量做转换:${VariableName/正则/替换的文本/}

我们写了一个 router-link 的 snippets,综合运用了这些语法,过一遍就会了。

能自己定义适合自己的 snippets,对于提高开发效率是很有帮助的。如果没写过,不妨从今天开始试一下吧。

更多关于VSCode的相关知识,请访问:vscode教程!!

위 내용은 개발 효율성을 높이기 위해 VSCode에서 스니펫을 사용하는 방법에 대해 이야기해 보겠습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 掘金社区에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Visual Studio는 여전히 무료입니까? 가용성 이해Visual Studio는 여전히 무료입니까? 가용성 이해Apr 18, 2025 am 12:05 AM

예, 일부 버전의 VisualStudio는 무료입니다. 특히 VisualStudiocommunityedition은 개별 개발자, 오픈 소스 프로젝트, 학술 연구 및 소규모 조직에게 무료입니다. 그러나 VisualStudioprofessional 및 Enterprise와 같은 유료 버전도 대규모 팀 및 기업에 적합하여 추가 기능을 제공합니다.

Visual Studio 사용 : 플랫폼 전체에서 소프트웨어 개발Visual Studio 사용 : 플랫폼 전체에서 소프트웨어 개발Apr 17, 2025 am 12:13 AM

VisualStudio와의 교차 플랫폼 개발은 실현 가능하며 .NETCore 및 Xamarin과 같은 프레임 워크를 지원함으로써 개발자는 한 번에 코드를 작성하고 여러 운영 체제에서 실행할 수 있습니다. 1) .netCore 프로젝트를 만들고 크로스 플랫폼 기능을 사용하십시오. 2) 모바일 애플리케이션 개발에 Xamarin을 사용하십시오.

vscode와 함께 JSON을 포맷하는 방법vscode와 함께 JSON을 포맷하는 방법Apr 16, 2025 am 07:54 AM

코드에서 JSON을 포맷하는 방법은 다음과 같습니다. 1. 바로 가기 키 사용 (Windows/Linux : Ctrl Shift I; MacOS : CMD Shift I); 2. 메뉴를 살펴보십시오 ( "편집"& gt; "형식 문서"); 3. JSON Formatter Extensions (예 : 더 예쁘다) 설치; 4. 수동으로 형식 (바로 가기 키를 사용하여 블록을 들여 쓰기/추출하거나 교정기 및 세미콜론을 추가); 5. 외부 도구 (예 : Jsonlint 및 Json Formatter)를 사용하십시오.

vscode를 컴파일하는 방법vscode를 컴파일하는 방법Apr 16, 2025 am 07:51 AM

VSCODE의 컴파일 코드는 5 단계로 나뉩니다. C 확장을 설치하십시오. 프로젝트 폴더에서 "main.cpp"파일을 만듭니다. 컴파일러를 구성 (예 : Mingw); 바로 가기 키 ( "Ctrl Shift B") 또는 "빌드"버튼으로 코드를 컴파일합니다. 바로 가기 키 ( "F5") 또는 "실행"버튼으로 컴파일 된 프로그램을 실행하십시오.

vscode를 설치하는 방법vscode를 설치하는 방법Apr 16, 2025 am 07:48 AM

Visual Studio Code를 설치하려면 다음 단계를 따르십시오. 공식 웹 사이트 https://code.visualstudio.com/; 운영 체제에 따라 설치 프로그램을 다운로드하십시오. 설치 프로그램을 실행하십시오. 라이센스 계약을 수락하고 설치 경로를 선택하십시오. 설치가 완료된 후 VSCODE가 자동으로 시작됩니다.

Vscode로 글꼴을 확대하는 방법Vscode로 글꼴을 확대하는 방법Apr 16, 2025 am 07:45 AM

Visual Studio 코드에서 글꼴을 확대하는 방법은 다음과 같습니다. 설정 패널 (CTRL 또는 CMD)을 엽니 다. "글꼴 크기"를 검색하고 조정하십시오. 올바른 크기의 "글꼴 패밀리"를 선택하십시오. 올바른 크기를 제공하는 테마를 설치하거나 선택하십시오. 키보드 바로 가기 (CTRL 또는 CMD)를 사용하여 글꼴을 확대하십시오.

VSCODE를 사용하여 원격 서버에 연결하는 방법VSCODE를 사용하여 원격 서버에 연결하는 방법Apr 16, 2025 am 07:42 AM

VSCODE를 통해 원격 서버에 연결하는 방법은 무엇입니까? 원격 설치 -SSH 확장 구성 SSH vscode에서 연결을 만듭니다. 연결 정보 입력 정보 : 호스트, 사용자 이름, 포트, SSH 키 원격 탐색기에서 저장된 연결을 두 번 클릭하십시오.

vscode로 vue를 실행하는 방법vscode로 vue를 실행하는 방법Apr 16, 2025 am 07:39 AM

VSCODE에서 VUE 프로젝트를 실행하는 단계가 필요합니다. 1. VUE CLI를 설치하십시오. 2. VUE 프로젝트를 만듭니다. 3. 프로젝트 디렉토리로 전환하십시오. 4. 프로젝트 종속성을 설치하십시오. 5. 개발 서버를 실행하십시오. 6. 브라우저를 열면 http : // localhost : 8080을 방문하십시오.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.