<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                <!-- 譯者:Github@wizadforcel --> # 作用域設置、作用域和作用域描述符 # Atom支持語言特定的設置。你可以在Markdown文件中軟換行,或者在Python中把tab的寬度設置為4。 語言特定的設置只是一些東西的子集,我們把它叫做“作用域設置”。作用域設置可以只作用于一類特定的語法符號。比如你可以僅僅對Ruby的注釋,Markdown中的代碼段,或者JavaScript函數名稱進行設置。 ## 語法符號中的作用域名稱 ## 編輯器的每個符號都有一系列的作用域名稱。例如,前面提到的JavaScript函數可能擁有作用域`function`和`name`。一個左括號可能擁有`punctuation`、`parameters`和`begin`作用域。 作用域的名稱就像CSS中的class一樣工作。事實上,編輯器中的作用域名稱作為CSS的class附加到符號的DOM節點。 比如這段JavaScript代碼: ``` function functionName() { console.log('Log it out'); } ``` 在開發工具中,第一行的標記就像這樣: ![](https://box.kancloud.cn/2015-12-28_5680ba002d411.png) span標簽上的所有class名稱都是作用域名稱。任何作用域名稱都用于指向一個設置的值。 ## 作用域選擇器 ## 作用域選擇器允許你指向特性符號,就像CSS選擇器指向DOM中特定的節點。這里是一些例子: ``` '.source.js' # selects all javascript tokens '.source.js .function.name' # selects all javascript function names '.function.name' # selects all function names in any language ``` `Config::set`接受一個`scopeSelector`。如果你想要對JavaScript 函數名稱進行設置,你可以向它提供一個js函數名稱的`scopeSelector`: ``` atom.config.set('.source.js .function.name', 'my-package.my-setting', 'special value') ``` ## 作用域描述符 ## 作用域描述符是一個對象,它封裝了一個字符串數組。數組描述了從語法樹根節點到符號的路徑,包含整個路徑的所有作用域名稱。 在上面的JavaScript例子中,函數名稱符號的作用域描述符應該為: ``` ['source.js', 'meta.function.js', 'entity.name.function.js'] ``` `Config::get`接受一個`scopeDescriptor`,你可以從作用在JavaScript函數名稱的設置中獲取值,通過: ``` scopeDescriptor = ['source.js', 'meta.function.js', 'entity.name.function.js'] value = atom.config.get(scopeDescriptor, 'my-package.my-setting') ``` 但是你并不需要手動生成作用域描述符。有一些可用的方法來從編輯器獲取作用域描述符: + `Editor::getRootScopeDescriptor`獲取語言的描述符,例如`[".source.js"]`。 + `Editor::scopeDescriptorForBufferPosition`獲取緩沖區中特定位置的描述符。 + `Cursor::getScopeDescriptor`獲取光標處的描述符。例如,如果光標在例子中的方法名稱上面,會返回`["source.js", "meta.function.js", "entity.name.function.js"]`。 讓我們使用這些方法來回顧我們的例子: ``` editor = atom.workspace.getActiveTextEditor() cursor = editor.getLastCursor() valueAtCursor = atom.config.get(cursor.getScopeDescriptor(), 'my-package.my-setting') valueForLanguage = atom.config.get(editor.getRootScopeDescriptor(), 'my-package.my-setting') ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看