日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Sublime Text 2 代码片断

發布時間:2025/3/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Sublime Text 2 代码片断 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文:Snippets

不管是在編碼,還是寫暢銷書,你都可能會需要一遍又一遍的用到一些文本的小片斷。使用片斷來結束這種單調無聊的碼字吧,片斷是一種智能的模板,它能在合適的上下文中插入你需要的文本內容。

創建一個新的片斷,選擇 Tools | New Snippet... Sublime Text 將為你生成一個片斷的基本的骨架。

片斷可以保存在任何的包文件夾中,但為了簡單起見,你可以保存在 Packages/User 文件夾下。

格式

通常的片斷存在于某一個 Sublime Text 的包中。它們是一些以 sublime-snippet 為擴展名的簡單的 XML 文件。舉例來說,你可以在 Email 包下面創建一個 greeting.sublime-snippet 的片斷。

典型的版本的結構如下(包含默認提示):

1 <snippet> 2 <content><![CDATA[Type your snippet here]]></content> 3 <!-- Optional: Tab trigger to activate the snippet --> 4 <tabTrigger>xyzzy</tabTrigger> 5 <!-- Optional: Scope the tab trigger will be active in --> 6 <scope>source.python</scope> 7 <!-- Optional: Description to show in the menu --> 8 <description>My Fancy Snippet</description> 9 </snippet>

snippet 中包含了所有 Sublime Text 需要的信息,插入什么、是否插入、何時插入。

content

實際插入的內容,代碼片斷可以從簡單到非常復雜,接下來的例子我們會看到。

在創建自定義的代碼片斷的時候,需要注意以下:

a、如果想得到字符 $?,必須進行轉義:\$

b、如果片斷中包含縮進,統一使用 tab。插入片斷的時候,如果 translateTabsToSpaces 選項打開,會自動將 tab 轉換成 space

文本內容必須包含在 <![CDTAT[...]]> 中,否則將失效。

tabTrigger

定義了一個觸發插入片斷的字符序列,當輸入該序列后,按下 tab 鍵將插入片斷。

tab 是隱含的綁定,不需要特意指定。

scope

定義了該片斷的作用域,也就是只有在指定的擴展名的文件里面才會生效。更多信息請戳:Scopes。

description

將會顯示在片斷的上下文菜單中,如果留空,將默認顯示該片斷的文件名。

通過以上內容,已經可以開始寫一個自己的代碼片斷了。

特性

環境變量

片斷可以從環境變量中訪問上下文件信息。Sublime Text 會自動給以下列出來的變量賦值。

當然你也可以進行擴展,加入自己的變量。自定義的變量需要定義在 .sublime-options 文件中。

$PARAM1, $PARAM2…傳給 insert_snippet?命令的參數
$SELECTION片斷觸發后將被選中?
$TM_CURRENT_LINE片斷觸發后光標所在行的內容
$TM_CURRENT_WORD片斷觸發后光標所在單詞?
$TM_FILENAME文件名(包含擴展名)
$TM_FILEPATH文件路徑
$TM_FULLNAME電腦用戶名
$TM_LINE_INDEX片斷觸發時光標所在的列,從0算起
$TM_LINE_NUMBER片斷觸發時光標所在的行,從1算起
$TM_SELECTED_TEXT同 $SELECTION
$TM_SOFT_TABS如果 translate_tabs_to_spaces 為 true 時 YES,否則 NO
$TM_TAB_SIZE每個 tab 需要的 space 數量,由 tab_size 控制

?
看幾個使用了變量的片斷例子:

==================================== USER NAME: $TM_FULLNAME FILE NAME: $TM_FILENAMETAB SIZE: $TM_TAB_SIZE SOFT TABS: $TM_SOFT_TABS ====================================# Output: ==================================== USER NAME: guillermo FILE NAME: test.txtTAB SIZE: 4 SOFT TABS: YES ====================================

字段

在字段的標記下,你可以通過按 tab 鍵依次的在代碼片斷中跳轉位置。字段的作用就是當你插入片斷的時候幫助你完成個性化的設置。

First Name: $1 Second Name: $2 Address: $3

以上的例子中,當你按下 tab 后光標會跳到 $1 的位置。當第二次按 tab,將跳轉到 $2,依此類推。當然,你也可以按 shift+tab 來返回上一個位置。如果在按完最高的那個 tab 之后再按 tab,Sublime Text 將把光標定位到片斷內容的最后,這樣你就可以進入普通的編輯模式了。

如果你想控制最后的定位點的位置,使用 $0 來標記。

可以在任何時間,通過按 Esc 退出字段的循環。

鏡像字段

相同的字段將互相標記為鏡像字段:當你編輯第一個的時候,剩下的地方將被填充同樣的內容,也就是在相同的字段的位置都會出現光標,所以接下來的輸入對所有字段位置都有效。

First Name: $1 Second Name: $2 Address: $3 User name: $1

在這個例子中,“User name” 后面的位置將被填充為和 “First Name” 后面位置一樣的值。

占位符

稍微擴展一下字段的語法,你就可以為一個字段定義一個默認值。當你的有一個比較通用的代碼片斷,但同時你又想很方便的自定義的時候,占位符就非常有用。

First Name: ${1:Guillermo} Second Name: ${2:López} Address: ${3:Main Street 1234} User name: $1

變量也可以用作占位符:

First Name: ${1:Guillermo} Second Name: ${2:López} Address: ${3:Main Street 1234} User name: ${4:$TM_FULLNAME}

還可以嵌套占位符:

Test: ${1:Nested ${2:Placeholder}}

替換

除占位的語法外,還可以通過替換來執行更復雜的操作。使用替換來動態的生成文本。

替換的語法如下:

${var_name/regex/format_string/} ${var_name/regex/format_string/options}

var_name

  變量名:1,2,3...

regex

  Perl 風格的正則表達式。更多請戳:Boost library reference for regular expressions

format_string

  戳上面那個鏈接

options

  可選的。可以是以下的任意一種:i 不區分大小寫、g 替換全局、m 匹配多行

通過替換功能,以下例子中,輕松的得到下劃線:

Original: ${1:Hey, Joe!} Transformation: ${1/./=/g}# Output:Original: Hey, Joe! Transformation: =========

獲取當前文件名(不包含擴展名):

<snippet><content><![CDATA[ using UnityEngine; using System.Collections;public class ${TM_FILENAME/(.+)\..+/$1/} : MonoBehaviour {// Use this for initializationvoid Start() {${1}}// Update is called once per framevoid Update() {}}]]></content><tabTrigger>ucs</tabTrigger><description>Unity Class</description><scope>source.cs</scope> </snippet>

?

?

轉載于:https://www.cnblogs.com/yili16438/p/3734343.html

總結

以上是生活随笔為你收集整理的Sublime Text 2 代码片断的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。