찾다
개발 도구VSCodeVSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

VSCode中怎么使用代码模板(snippets)?下面本篇文章给大家介绍一下VSCode中snippets的使用方法,用以提升开发效率,希望对大家有所帮助!

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

有时在使用VSCode进行前端编码时总会有一些代码段是需要重复编写的,这时使用一些代码模板(snippets),通过规定的字符序列触发snippets,快速地输入一段预设的代码模板会使编码效率提高。【推荐学习:《vscode入门教程》】

内置Snippets

VSCode中本身也自带一些 snippets ,典型的就是JavaScript中的for

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

如果要查看内置的代码模板有哪些,可以通过Command Palette查看:

点击左下角的齿轮图案,然后找到Command Palette选项(或者使用快捷键Ctrl + Shift + P),在VSCode窗口上方出现的搜索框输入Insert Snippets即可查看到

要通过Insert Snippets命令查看一个语言的 snippets 时,必须满足当前编辑的语言为snippet对应的语言的条件,才能找到对应语言的 snippets 。比如如果要找到 JavaScript 的 snippets ,当前打开的文件是.html类型的,那么如果当前编辑位置为<script></script>内部,输入Insert Snippets就可以找到 JavaScript 的snippet;或者当前编辑的文件是.js,输入Insert Snippets也可以找到 JavaScript 的 snippets 。这是因为snippets是有作用范围的snippet scope),snippet的作用范围要么是某个(些)语言,要么是某个(些)项目,这个不在这里做赘述,详细信息可见这里

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

这些配置文件所在目录为:<vscode>\resources\app\extensions\\snippets\</vscode>

下载Snippets

这里的下载是指下载带有 snippets 的插件,可以在VSCode的插件市场搜索@category:"snippets"

自定义Snippets

这里以CSS代码为例:在进行简单的前端页面布局前,一般会将标签元素自带的内外边距统一清除,所以以下代码块是很经常用到的

* {
    margin: 0;
    padding: 0;
}

为此我想为它配置一个 snippet ,这里需要找到 CSS snippet 的配置文件:找到VSCode左下角的齿轮图标,查找菜单中的“User Snippets”选项,选择 CSS (或者顶部菜单File > Prenferences > User Snippets)

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

打开了一个css.json文件后,可以看到有一大段注释,认真读懂注释并按照规定输入就可以配置出自己的代码模板了,先不说规则细节,先实现一下上述提到的清除内外边距的CSS样式

按照注释提示,添加以下内容并保存

"Clear all elements&#39; margin and padding": {
    "prefix": "cmp",
    "body": [
        "* {",
        "\tmargin: 0;",
        "\tpadding: 0;$0",
        "}"
    ],
    "description": "Clear all HTML elements&#39; default margin and padding"
}

prefix表示触发代码段的文本,所以需要通过输入cmp触发,效果如下

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

snippets 配置规则

当打开用户snippets的配置文件时,总能看到一段注释,根据这段注释一般就可以写出自己的 snippet 了,接下来基于这段注释的内容展示如何写一个 snippet(更多配置方式可以参考这里

// Place your snippets for css here. Each snippet is defined under a snippet name and has a prefix, body and 
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// \$1, \$2 for tab stops, \$0 for the final cursor position, and \${1:label}, \${2:another} for placeholders. Placeholders with the 
// same ids are connected.
// Example:
// "Print to console": {
// "prefix": "log",
// "body": [
//   "console.log(&#39;\$1&#39;);",
//   "\$2"
// ],
// "description": "Log output to console"
// }

配置文件类型

snippet 的配置文件是 JSON 文件,允许使用C语言风格的注释,允许定义不限定数量的 snippet

基本结构

单个snippet的配置基本结构如下:

// 尖括号包含内容表示自定义内容
"<snippet name>": {
    "prefix": "<triggerText>",
    // 如果模板有多行,应该用字符串数组赋值,一个元素代表一行内容
    "body": "<template>",
    "description": "<description of this snippet>"
}

多个配置之间用逗号分隔(不能有多余逗号)

首先一个 snippet 配置要指定该一个名称,然后给这个项赋值一个对象 对象中包含三个部分:prefixbodydescription

  • prefix是指定用于触发snippet的文本,比如上述配置的清除元素内外边距的 snippet ,使用的prefixcmp(clear margin and padding)。这个可以根据自己的喜好配置,主要是要好记,毕竟配置snippet就是为了提高编码效率

  • body是指定代码模板内容,这里可以赋值为单个字符串或者一个字符串数组当模板只有一行内容或者只有一行代码时,可以直接把这行代码作为字符串赋值给body。比如如果想要快速打印console.log("hello")这一句,则可以配置:

    "Print Hello to console": {
        "prefix": "hello",
        "body": "console.log(&#39;Hello&#39;);", // 直接赋值语句字符串
        "description": "Print Hello to console"
    }

    如果模板是多行内容,那么则需要用一个字符串数组来赋值(如上述CSS的例子),其中一个元素代表一行内容。其中的空白字符可以使用转义字符(如上述CSS的例子),并且如果直接应用空白字符,只有空格可以应用(不可以直接应用制表符)

  • description是指定描述该snippet的作用或者模板内容的字段,它的内容会出现在相关的提醒中

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

特殊结构的使用

body部分的内容可以使用一些特殊结构来控制光标位置和插入的文本。以下介绍一下配置文件中默认注释提到的tabstopsplaceholders

tabstops

当输出一个 snippet 时,如果 snippet 的body定义了tabstops,那么可以通过Tab键来使光标位置跳到特定位置,方便修改生成的模板

tabstops用$0, $1, $2, ......标识,数字表示被访问的顺序,而$0标识的是最后到达的光标位置,并且相同数字的tabstops是相关联的(也就是说会有多个光标同时在多个相关联的位置)

看下述例子:

// 添加到JavaScript的snippets配置文件中
"Test tabstops": {
    "prefix": "tts",
    "body": "$0two($2);one($1);three($3);one($1)",
    "description": "a test for tabstops"
}

以上这个例子刚开始时会有两个光标分别在两个one()的括号内;然后按一次Tab后,会有一个光标在two()括号内;第二次按Tab后,光标会在three()括号内;再按一次Tab,光标会跑到这行代码最前面,因为$0标识光标最后到达的位置(这里如果不设定$0会默认到达body内容的最后的位置,在这里就是生成的那行代码的末尾)

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

至此应该就可以理解tabstops这个称呼的含义了,其实就是“按tab后光标停止的地方” 另外可以Shift+Tab退回上一个tabstops的位置,但要注意的是如果到达了$0,也就是snippet中光标的最后位置后还进行了其他操作(包括按Tab),就无法回退到上一个tabstops的位置了

placeholders

placeholders就是带值的tabstops,其中的值会作为默认文本插入代码并被选中,这样就可以方便地在需要时修改代码模板的默认内容了

最典型的例子就是文章开头内置的那个for循环JS snippet,这里我稍微复现一下来举个例子

"Test placeholders": {
    "prefix": "flt",
    "body": [
        "for(let ${1:index} = 0; ${1:index} < ${2:array}.length; ${1:index} ++) {",
        "\t${4:const} ${3:element} = ${2:array}[${1:index}];",
        "\t$0",
        "}"
    ],
    "description": "a test for placeholders using for loop"
}

刚开始时,有多个选中的index,此时可以同时修改全部index为想要的内容;接着按一次tab,同时选中所有的array,这时也可以同时修改所有选中内容;按第二次tab就选中了element;按第三次,就到达了const;再按一次就到了最后的位置$0(这里如果不设定$0会默认到达body内容的最后的位置,在这里就是右花括号的后面)

VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명

snippet语法允许使用的特殊结构不止以上的tabstops和palceholders的配置,还有其他的

详情参考这里:

https://code.visualstudio.com/docs/editor/userdefinesnippets#_snippet-syntax

문서 소스 코드: gitee.com/thisismyadd…

VSCode에 대한 더 많은 관련 지식을 보려면 다음을 방문하세요: vscode 튜토리얼 ! !

위 내용은 VSCode에서 코드 템플릿(스니펫)을 사용하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
이 기사는 掘金社区에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제
Visual Studio Professional and Enterprise : 유료 버전 및 기능Visual Studio Professional and Enterprise : 유료 버전 및 기능May 10, 2025 am 12:20 AM

VisualStudioprofessional과 Enterprise의 차이점은 기능과 대상 사용자 그룹에 있습니다. 전문 버전은 전문 개발자에게 적합하며 코드 분석과 같은 기능을 제공합니다. 엔터프라이즈 버전은 대규모 팀을위한 것이며 테스트 관리와 같은 고급 도구를 추가했습니다.

Visual Studio와 VS 코드 사이의 선택 : 올바른 도구Visual Studio와 VS 코드 사이의 선택 : 올바른 도구May 09, 2025 am 12:21 AM

VisualStudio는 대규모 프로젝트에 적합하며 VSCODE는 모든 크기의 프로젝트에 적합합니다. 1. VisualStudio는 포괄적 인 IDE 기능을 제공하며 여러 언어, 통합 디버깅 및 테스트 도구를 지원합니다. 2.VScode는 확장을 통해 여러 언어를 지원하고 간단한 인터페이스 및 빠른 시작 기능을 갖춘 가벼운 편집기입니다.

Visual Studio : 개발자를위한 강력한 도구Visual Studio : 개발자를위한 강력한 도구May 08, 2025 am 12:19 AM

VisualStudio는 Microsoft가 개발 한 강력한 IDE로 여러 프로그래밍 언어 및 플랫폼을 지원합니다. 핵심 장점은 다음과 같습니다. 1. 지능형 코드 프롬프트 및 디버깅 기능, 2. 통합 개발, 디버깅, 테스트 및 버전 제어, 3. 플러그인을 통한 확장 된 기능, 4. 개발자가 효율성 및 코드 품질을 향상시킬 수 있도록 성능 최적화 및 모범 사례 도구를 제공합니다.

Visual Studio vs. vs 코드 : 가격, 라이센스 및 가용성Visual Studio vs. vs 코드 : 가격, 라이센스 및 가용성May 07, 2025 am 12:11 AM

VisualStudio 및 VSCODE의 가격, 라이센스 및 가용성의 차이는 다음과 같습니다. 1. 가격 : VSCODE는 무료이며 VisualStudio는 무료 커뮤니티 및 유료 엔터프라이즈 버전을 제공합니다. 2. 라이센스 : VSCODE는 유연한 MIT 라이센스를 사용하며 VisualStudio의 라이센스는 버전에 따라 다릅니다. 3. 유용성 : VSCODE는 플랫폼에서 지원되는 반면 VisualStudio는 Windows에서 가장 잘 수행됩니다.

Visual Studio : 코드에서 제작까지Visual Studio : 코드에서 제작까지May 06, 2025 am 12:10 AM

VisualStudio는 코드 쓰기에서 생산 배포에 이르기까지 전체 프로세스를 지원합니다. 1) 코드 쓰기 : 지능형 코드 완료 및 재구성 기능을 제공합니다. 2) 디버깅 및 테스트 : 강력한 디버깅 도구 및 장치 테스트 프레임 워크 통합. 3) 버전 제어 : 코드 관리를 단순화하기 위해 GIT와 완벽하게 통합합니다. 4) 배포 및 릴리스 : 애플리케이션 릴리스 프로세스를 단순화하기 위해 여러 배포 옵션을 지원합니다.

Visual Studio : 라이센스 환경을 살펴 봅니다Visual Studio : 라이센스 환경을 살펴 봅니다May 05, 2025 am 12:17 AM

VisualStudio는 커뮤니티, 전문 및 기업의 세 가지 라이센스 유형을 제공합니다. Community Edition은 무료이며 개별 개발자 및 소규모 팀에 적합합니다. 전문 판은 매년 구독하여 더 많은 기능이 필요한 전문 개발자에게 적합합니다. Enterprise Edition은 대규모 팀과 기업에 적합한 최고 가격입니다. 라이센스를 선택할 때 프로젝트 규모, 예산 및 팀워크 요구를 고려해야합니다.

최고의 대결 : Visual Studio vs. vs Code최고의 대결 : Visual Studio vs. vs CodeMay 04, 2025 am 12:01 AM

VisualStudio는 대규모 프로젝트 개발에 적합한 반면 VSCODE는 모든 규모의 프로젝트에 적합합니다. 1. VisualStudio는 통합 디버거, 버전 제어 및 테스트 도구와 같은 포괄적 인 개발 도구를 제공합니다. 2.VSCODE는 확장 성, 크로스 플랫폼 및 빠른 출시로 유명하며 빠른 편집 및 소규모 프로젝트 개발에 적합합니다.

Visual Studio vs. vs 코드 : 두 IDE 비교Visual Studio vs. vs 코드 : 두 IDE 비교May 03, 2025 am 12:04 AM

VisualStudio는 대규모 프로젝트 및 Windows 개발에 적합한 반면 VSCODE는 크로스 플랫폼 및 소규모 프로젝트에 적합합니다. 1. VisualStudio는 완전한 기능을 갖춘 IDE를 제공하고 .NET 프레임 워크 및 강력한 디버깅 도구를 지원합니다. 2.VScode는 유연성과 확장 성을 강조하는 경량 편집기이며 다양한 개발 시나리오에 적합합니다.

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 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

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

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음