当前位置: 首页 > 知识库问答 >
问题:

定义自定义Sublime Text 2片段的范围

傅穆冉
2023-03-14

在尝试为Sublime Text 2编写自己的片段时,我遇到了以下两个问题:

>

  • 查找作用域键。我发现我可以逐个查看我的包并找到对声明的“scope”属性的引用。例如,在~/Library/Application Support/Sublime Text 2/Packages/JavaScript/Comments.tmPreferences(我的HTML包中的一个文件)中,有以下两行:

    <key>scope</key>
    <string>source.js</string>
    

    因此,如果我希望我当前的片段在javascript文件上工作,我将我的范围定义为:

    <scope>source.js</scope>
    

    我假设所有这些范围键都是根据我安装的软件包即时定义的。Sublime Text是否在我可以更容易引用的任何地方构建列表?仔细阅读一堆包文件似乎过于乏味。

    定义多个范围属性。这一点我已经想清楚了,下面这一行允许我的代码片段在HTML和JavaScript文件中都可以使用。

    <scope>text.html, source.js</scope>
    
  • 共有3个答案

    公良玺
    2023-03-14
    匿名用户

    有一个叫做Scope Hunter的包,作者是Isaac Muse,对这个很有帮助。

    它可以向您显示文档中任何光标下的范围,我发现这在调试我自己的片段时非常有用。有时它非常详细;我最前面文档中的示例范围:

    Scope: text.tex.latex
           meta.function.environment.list.latex
           meta.function.environment.general.latex
           meta.function.environment.math.latex
           string.other.math.block.environment.latex
           meta.group.braces.tex
           meta.space-after-command.latex
    

    (为便于阅读而换行)

    如果我花一周时间把SL2拆开,我就找不到它了,但是这个包在几秒钟内就找到了。强烈推荐。

    这种详细程度还意味着,如果需要,您可以以非常精细的方式定义代码段。例如,<code>meta.function.environment.list。latex大致对应于latex中的列表,所以我有一个片段,当我在列表环境中按super-enter键时,它会插入一个新的\item,但没有其他人。我可以比盲目猜测更有效地瞄准片段。

    源代码在Github中,也可以通过包控制安装。

    鲁滨海
    2023-03-14

    >

  • 将光标放在您希望知道范围的文件中。
  • 使用此键盘快捷键:

    Windows:<kbd>ctrl</kbd><kbd<shift</kbd><kbd>alt</kbd-><kbd-<p/kbd> ctrl</kbd>

    当前范围将显示在 Windows 上状态栏的左侧,或在 Mac 上显示在弹出窗口中。

    使用这些作为

    返回的范围从一般到特定列出。选择最能“限定”代码段的范围,使其适用于tab触发器。

  • 丁阎宝
    2023-03-14

    以下是要在Sublime Text 2片段中使用的范围列表-

    ActionScript: source.actionscript.2
    AppleScript: source.applescript
    ASP: source.asp
    Batch FIle: source.dosbatch
    C#: source.cs
    C++: source.c++
    Clojure: source.clojure
    CoffeeScript: source.coffee
    CSS: source.css
    D: source.d
    Diff: source.diff
    Erlang: source.erlang
    Go: source.go
    GraphViz: source.dot
    Groovy: source.groovy
    Haskell: source.haskell
    HTML: text.html(.basic)
    JSP: text.html.jsp
    Java: source.java
    Java Properties: source.java-props
    Java Doc: text.html.javadoc
    JSON: source.json
    Javascript: source.js
    BibTex: source.bibtex
    Latex Log: text.log.latex
    Latex Memoir: text.tex.latex.memoir
    Latex: text.tex.latex
    LESS: source.css.less
    TeX: text.tex
    Lisp: source.lisp
    Lua: source.lua
    MakeFile: source.makefile
    Markdown: text.html.markdown
    Multi Markdown: text.html.markdown.multimarkdown
    Matlab: source.matlab
    Objective-C: source.objc
    Objective-C++: source.objc++
    OCaml campl4: source.camlp4.ocaml
    OCaml: source.ocaml
    OCamllex: source.ocamllex
    Perl: source.perl
    PHP: source.php
    Regular Expression(python): source.regexp.python
    Python: source.python
    R Console: source.r-console
    R: source.r
    Ruby on Rails: source.ruby.rails
    Ruby HAML: text.haml
    SQL(Ruby): source.sql.ruby
    Regular Expression: source.regexp
    RestructuredText: text.restructuredtext
    Ruby: source.ruby
    SASS: source.sass
    Scala: source.scala
    Shell Script: source.shell
    SQL: source.sql
    Stylus: source.stylus
    TCL: source.tcl
    HTML(TCL): text.html.tcl
    Plain text: text.plain
    Textile: text.html.textile
    XML: text.xml
    XSL: text.xml.xsl
    YAML: source.yaml
    

    如果有什么遗漏,请将其添加到本要点中https://gist.github.com/4705378.

     类似资料:
    • 介绍 model 参考文档已经介绍了如何使用 Django 的标准字段类;例如 CharField, DateField,等等。对于很多应用来说,这些类足够用了。 但是在某些情况下, 你所用的Django 不具备你需要的某些精巧功能,或是你想使用的字段与 Django 自带字段完全不同。 Django 内置的字段类型并不能覆盖所有可能遇到的数据库的列类型,仅仅是些普通的字段类型,例如VARCHAR

    • 我试图在片段中创建自定义listView,我搜索了其他问题,但找不到任何东西。我的列表适配器是这样的 我的片段类是这样的: } 问题是这部分:CustomList adapter=新CustomList(tab1.this,string,imageId);构造函数(public CustomList(活动上下文,字符串[]web,整数[]imageId))只接受活动 我怎样才能解决这个问题?

    • 我在修改我安装的WordPress流行帖子插件时遇到了一些问题。 它可以选择从自定义字段获取缩略图,我已将其输入为“image_facebook”。但是缩略图没有显示。 在检查代码时,我发现imgsrc有post id而不是返回图像URL。 我已经把问题缩小到我安装的另一个插件http://wordpress.org/plugins/advanced-custom-fields/ 当它处于活动状态

    • 问题内容: 我想创建自己的自定义范围bean,它将使用HTTP会话(类似于Flash作用域)。 根据Spring手册,我需要实现org.springframework.beans.factory.config.Scope接口 我的问题是如何在此bean中获取HTTP会话?我知道,如果我在ServletContext范围内创建bean,则将实现ServletContextAware接口。 请帮忙 :

    • 情况是我使用Fragments在main活动中显示2个视图,这意味着我有两个选项卡,而在第二个选项卡中,我使用以下代码显示谷歌地图 这是第二个选项卡,我想自定义地图,为此我在上面的函数中使用了这段代码。 imap=SupportMapFragment)getSupportFragmentManager()。findFragmentById(R.id.map))。getMap(); imap是在创建