Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tabs 在升华文本3中高亮显示重复项的快捷方式_Tabs_Sublimetext3 - Fatal编程技术网

Tabs 在升华文本3中高亮显示重复项的快捷方式

Tabs 在升华文本3中高亮显示重复项的快捷方式,tabs,sublimetext3,Tabs,Sublimetext3,因此,highlighduplicate插件的崇高文本似乎不适合我,所以我想创建自己的。我需要这个来识别复制品,所以它比Sublime的“Permute:Unique”更进一步 我已经创建了一个正则表达式:^(.*)(\r?\n\1)+$,它将查找重复项,并且似乎工作正常 现在,我所需要的是快速的键盘快捷键来触发它。我试着录制一个宏(使用cmd+I),但即使在多次尝试之后,它似乎也不起作用 我知道sublime软件包是用python编写的,但我对python不是很精通 我将如何编写这个插件/包

因此,highlighduplicate插件的崇高文本似乎不适合我,所以我想创建自己的。我需要这个来识别复制品,所以它比Sublime的“Permute:Unique”更进一步

我已经创建了一个正则表达式:
^(.*)(\r?\n\1)+$
,它将查找重复项,并且似乎工作正常

现在,我所需要的是快速的键盘快捷键来触发它。我试着录制一个宏(使用cmd+I),但即使在多次尝试之后,它似乎也不起作用

我知道sublime软件包是用python编写的,但我对python不是很精通

我将如何编写这个插件/包


谢谢,

我为您修复了软件包,获得并安装了这个新版本。
如果您有任何问题,请告诉我,但显然它可以在我的笔记本电脑上使用

更详细一点,这个文件有两个问题。首先,ST API中的一个更改导致调用add_regions()失败,python API中也有一个关于defaultDict实现的更改。
您可以查看我在github上所做的修改,或者这里有一个快速的区别:

diff --git a/hightlight_duplicates.py b/highlight_duplicates.py
similarity index 91%
rename from hightlight_duplicates.py
rename to highlight_duplicates.py
index 8351275..c2e6137 100644
--- a/hightlight_duplicates.py
+++ b/highlight_duplicates.py
@@ -42,7 +42,9 @@ def filter_counts(counts, treshold=1):
     lower or equal to the treshold, which defaults to 1.
     '''
     filtered = dict()
-    for k, v in counts.iteritems():
+    # for k, v in counts.iteritems():
+    for k in counts:
+        v = counts[k]
         if len(v) > treshold:
             filtered[k] = v
     return filtered
@@ -60,11 +62,13 @@ def show_lines(regions, view):
     all_regions = []
     for r in regions:
         all_regions.extend(r)
-    color_scope_name = settings.get('highlight_duplicates_color',
+    color_scope_name = settings.get('highlight_duplicates_color', \
                                         DEFAULT_COLOR_SCOPE_NAME)
-    view.add_regions('DuplicatesHighlightListener',
-                        all_regions, color_scope_name,
-                        sublime.DRAW_OUTLINED)
+    view.add_regions('DuplicatesHighlightListener', \
+                        all_regions, \
+                        color_scope_name, \
+                        "Packages/Theme - Default/dot.png", \
+                        sublime.DRAW_NO_FILL)


 def highlight_duplicates(view):

突出显示重复项?我的插件适合你吗?也许我在这里误解了#_#

如果它不完全适合您,您可以查看代码,这很容易~


我很久没有玩插件了。但至少,这里有一些提示。您可以安装,它将提供
newplugin
命令,这将为您提供python的原始框架。然后,您可以创建一个触发python命令的快捷方式。非常感谢您分享这个Xaelias。我试了一下,似乎不起作用。以下是控制台所说的:`File/Applications/Sublime Text.app/Contents/MacOS/Sublime\u plugin.py',第271行,在on\u modified callback.on\u modified(v)File/Users/me/Library/Application Support/Sublime Text 3/Packages/HighlightDuplicates master/highlight\u duplicates.py中,第107行,在on\u modified highlight\u duplicates(view)文件中“/Users/me/Library/Application Support/Sublime Text 3/Packages/HighlightDuplicates master/HighlightDuplicates.py”,第81行,在highlight_duplicates show_line(duplicates.values(),view)文件中“/Users/me/Library/Application Support/Sublime Text 3/Packages/HighlightDuplicates master/HighlightDuplicates/highlight_du“,第71行,在添加区域升华api.view\u添加区域(self.view\u id、键、区域、范围、图标、标志)的第861行,显示行升华.DRAW\u NO\u FILL)文件“/Applications/sublime Text.app/Contents/MacOS/sublime.py”required@user2544542这很奇怪,我不明白这个错误。。。您是否修改了设置文件?如果没有,您是否尝试过使用一个简单的文件(例如同一行的两倍?)。这是试图找出导致这个问题的原因。。。我还对git存储库做了一点小小的修改。试试看,也许就这么简单。