簡體   English   中英

api:如何從對象sublime.Selection中獲取所選文本

[英]api: how to get selected text from object sublime.Selection

如何在sublime text 3插件中獲取所選文本:

import sublime, sublime_plugin

class plugin_window__go_to_relative_plugin__Command(sublime_plugin.WindowCommand):
    def run(self):            
        window = self.window
        view = window.active_view()
        sel = view.sel()
        sublime.status_message("selection: "+sel)

我的代碼拋出錯誤:

     sublime.status_message("selection: "+sel)
TypeError: Can't convert 'Selection' object to str implicitly

view.sel()返回sublime.Selection對象。 但我不知道如何從那里獲取選定的文本。

這個插件必須如下工作:當我在視圖上調用它時...

崇高的文字選擇

...它應該將文本"dow = self.w"為變量sel

當我執行str(sel)它返回<sublime.Selection object at 0x1047fd8d0>

對我來說, 文檔不是很清楚。

如果是單一選擇:

import sublime, sublime_plugin

class selection_plugin__Command(sublime_plugin.WindowCommand):
    def run(self):            
        print('selection_plugin__ called')
        window = self.window
        view = window.active_view()
        sel = view.sel()

        region1 = sel[0]
        selectionText = view.substr(region1)
        print(selectionText)

我對文檔意味着什么的理解是這樣的:

聽起來像sublime.View對象的sel()方法返回一個sublime.Selection對象,它是一個區域的容器 - 所以你應該能夠迭代它的內容(它包含的區域)或使用它來索引它們。 []操作。

您可以通過調用sublime.View對象的substr(region)方法獲取與Selection每個sublime.Region關聯的文本。 這是有道理的,因為這個編輯器允許多個同時選擇 - 其中一個較酷的功能,恕我直言。

希望這可以幫助。

在控制台中使用它,然后追加到python view.substr((view.sel())[0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM