Sublime Text 2 在函数调用末尾不输入开放括号的问题

1 投票
4 回答
1059 浏览
提问于 2025-04-18 00:27

我在Sublime Text 2上设置了一些Python开发用的插件。然后开始输入一些代码,比如:

al_filename = tkinter.filedialog.askopenfilename()

当我输入第一个'('的时候,什么也没发生,似乎无法输入。出于直觉,我先输入了一个[,然后再输入(,结果就能输入了。所以我输入了我的开括号和闭括号,然后把方括号删掉了。我不太明白这是怎么回事,检查了控制台没有错误信息。

安装的插件

Case Conversion
CaseConversion
Cheat Sheets
Clojure
Color Scheme - Default
CSS
D
Default
Diff
Erlang
fnkr-sublimepascal-18483dbc6260
Git
GitGutter
Github Tools
Go
Graphviz
Groovy
Haskell
HTML
Java
JavaScript
Jedi - Python autocompletion
Language - English
LaTeX
Lisp
Lua
Makefile
Markdown
Matlab
Neon Color Scheme
Objective-C
OCaml
Package Control
Pascal
Perl
PHP
Python
PythonTidy
R
Rails
Regular Expressions
RestructuredText
Ruby
Scala
ShellScript
SidebarEnhancements
SQL
Sublime Text 2 Snippets
SublimeCodeIntel
sublime-js-snippets
SublimePythonTidy
SublimeREPL
sublime-text-2-clipboard-history
Sublime-Text-2-Stackoverflow-Plugin
SublimeText-Sublime-Text-2-Snippets
SublimeTODO
sublime-todomanager
TCL
Text
Textile
Theme - Default
Theme - Soda
Theme - Tomorrow
User
Vintage
XML
YAML
ActionScript
All Autocomplete
AppleScript
ASP
AutoHotKey
Batch File
C#   

有没有什么想法?我对Sublime Text 2并不算陌生,但我还是第一次把它用作Python的开发环境,而不是仅仅用作语法高亮的编辑器。我在谷歌上找了找,没找到类似的问题。谢谢大家对这个问题的任何建议。:)

4 个回答

0

第一步:偏好设置 -> 包控制

或者

ctrl + shift + p

第二步: 选择或搜索,

禁用包

然后,

第三步: 搜索一个叫做 Jedi - python 自动补全的包。 这样你的问题就解决了。

原因是,

Jedi python 用自己的命令 sublime_jedi_params_autocomplete 替代了打开括号的命令。

你可以通过 ctrl+` 来追踪这个问题,然后输入 sublime.log_commands (True)

1

我也遇到过同样的问题。这个问题是因为Jedi这个插件。只要先禁用再启用这个插件,就能解决问题。

打开插件管理(偏好设置 -> 插件管理)

禁用插件:Jedi

启用插件:Jedi

找出问题的根源:

通过Sublime的控制台,你可以很容易找到导致这种问题的原因。打开Sublime控制台(视图 -> 显示控制台),然后输入下面的命令。

sublime.log_commands(True)

这会显示你在Sublime中输入的所有命令的日志。在我的情况下,如果我输入'(',它就会提到和Jedi自动补全插件有关的内容。所以我就知道问题出在Jedi插件上。

3

对于Mac用户:

在Sublime Text中,依次点击:偏好设置 -> 包设置 -> Jedi -> 快捷键设置 -> 默认设置 -> 然后找到第12行:

{"command": "sublime_jedi_params_autocomplete", "keys": ["("],

把它改成:

{"command": "sublime_jedi_params_autocomplete", "keys": ["super+ctrl+j"],

1

Sublime Text 2在这方面对我来说运行得不错。

虽然我没有把你列出的每一个已安装的插件和我自己的列表进行比较,但我注意到你有一个叫Jedi - Python autocompletion的插件,而我没有——所以这可能是一个不错的起点。

以下是我在我的Windows系统上安装的所有插件的完整列表:

ActionScript                            Markdown
AppleScript                             Matlab
ASP                                     Objective-C
Batch File                              OCaml
C#                                      Package Control
C++                                     Perl
Clojure                                 PHP
Color Scheme - Default                  Python
CSS                                     Python Pep8 Lint
D                                       R
Default                                 Rails
Diff                                    Regular Expressions
Erlang                                  RestructuredText
Go                                      Ruby
Graphviz                                Scala
Groovy                                  ShellScript
Haskell                                 SQL
HTML                                    TCL
Java                                    Text
JavaScript                              Textile
Language - English                      Theme - Default
LaTeX                                   User
Lisp                                    Vintage
Lua                                     XML
Makefile                                YAML

撰写回答