2017-02-25 83 views
1

我希望SublimeREPL自动加载本地模块,以便我可以从REPL中调用模块中的函数,而不必先导入它们。作为一个例子,util_func.py包含以下内容:配置SublimeREPL导入本地模块

import datetime 
fdate = lambda: datetime.date.today().strftime('%Y-%m-%d') 

所以我可以打字,打开一个新的REPL后:

>>> fdate() 
'2017-02-24' 

这可能吗?提前致谢。

回答

1

原来这很简单。我只是将以下内容添加到Packages/User/SublimeREPL/config/Python/Main.sublime-menu。选择由此添加定义的菜单选项将执行util_func.py并放入REPL。

[ 
    { 
     "id": "tools", 
     "children": 
     [{ 
      "caption": "SublimeREPL", 
      "mnemonic": "R", 
      "id": "SublimeREPL", 
      "children": 
      [ 
       {"caption": "Python", 
       "id": "Python", 

       "children":[ 
        {"command": "repl_open", 
        "caption": "Python", 
        "id": "repl_python", 
        "mnemonic": "P", 
        "args": { 
         "type": "subprocess", 
         "encoding": "utf8", 
         "cmd": ["python", "-i", "-u", "PATH TO utility_func.py"], 
         "cwd": "$file_path", 
         "syntax": "Packages/Python/Python.tmLanguage", 
         "external_id": "python", 
         "extend_env": {"PYTHONIOENCODING": "utf-8"} 
         } 
        } 
       ]} 
      ] 
     }] 
    } 
] 

记得用正确的路径替换上面的PATH TO utility_func.py

+0

欢迎来到SO!感谢您寻找解决方案!将其标记为保持网站状态良好的答案,并奖励自己10分:D –