这不是键盘重映射请求。我目前的困境是无法编辑goto_definition
命令(默认情况下绑定到F12
)。如果我能找到它的.py文件,那么(希望)会是一块蛋糕。
我的项目范围越大,我就需要修改goto_definition
的功能,使其更接近CodeWright中的等效功能。我在ST3工作,恢复到ST2不是一个选择。
让我更清楚地阐述我的障碍:
找到.py文件,其中包含goto_definition
运行时使用的信息。
将该命令的性质修改为更灵活:
基本上,有一些方法,EditElementHandleR
,MSBsplineCurveCR
,GetElementDescrP
,GetModelRef
以及其他几种类似的方法。
有"标签"附加到其中一些,如果方法名称要有标记,则它将是以下四种之一:CR
,CP
,R
和P
还有使用这些名称的方法,无标签。
CodeWright将程序员带到定义的行为是指向等效的方法名称,没有标记 ,即使光标当前位于方法名称上也是如此标签
如果我点击F12
(召回:goto_definition
),而光标位于"标记为"那么Sublime无法找到原始方法方法名称。
这是理想情况:我的光标位于名为EditElem|entHandleR
的方法中(|
表示光标),我点击F12
。 Sublime然后带我进入EditElementHandle
定义。
答案 0 :(得分:0)
不幸的是,goto_definition
没有在Python中实现,它是Sublime编译的可执行文件(主要用C ++编写)的一部分,所以它不是用户可修改的。但是,有几个可用的代码智能插件,包括SublimeCodeIntel
和Anaconda
,可能更适合您的需求。代码智能并不神奇,它只是使用(在您的情况下是模糊的)搜索来匹配光标下的内容与语言库索引中的内容。您所要做的只是略微改变搜索逻辑以检查是否存在您的某个“标签”,然后忽略它。您甚至可以为goto_definition
编写一个包装器来为您执行此操作,而不必费心学习大型代码库。 Sublime的API应该有所帮助,因为应该密切关注sublime.py
和sublime_plugin.py
的来源,因为有一些未记录的函数。