交互性
交互性允许您在Sublime Text编辑器内直接运行本地shell命令和脚本,并在您的编写内容旁边提供输出。使用您喜欢的工具,如Python、Node.js、Java、Perl、PHP、bash或任何其他REPL。
详细信息
安装
- 总数 17
- Win 8
- Mac 7
- Linux 2
8月6日 | 8月5日 | 8月4日 | 8月3日 | 8月2日 | 8月1日 | 7月31日 | 7月30日 | 7月29日 | 7月28日 | 7月27日 | 7月26日 | 7月25日 | 7月24日 | 7月23日 | 7月22日 | 7月21日 | 7月20日 | 7月19日 | 7月18日 | 7月17日 | 7月16日 | 7月15日 | 7月14日 | 7月13日 | 7月12日 | 7月11日 | 7月10日 | 7月9日 | 7月8日 | 7月7日 | 7月6日 | 7月5日 | 7月4日 | 7月3日 | 7月2日 | 7月1日 | 6月30日 | 6月29日 | 6月28日 | 6月27日 | 6月26日 | 6月25日 | 6月24日 | 6月23日 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Mac | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
自述文件
Sublime Text的交互性:运行Python、Node.js、Java、Perl、PHP、bash或其他任何REPL
交互性允许您在Sublime Text编辑器内直接运行本地shell命令和脚本,并在您的编写内容旁边提供输出。使用您喜欢的工具,如Python、Node.js、Java、Perl、PHP、bash或任何其他REPL。
例如,如果您在记笔记的同时需要快速计算项目的预算,您可以在编辑器中键入数字并按Enter键在希望的REPL中执行代码
## Mike's rate is $120. Thus, it will cost us:
@120*8*21*12+8000
249920
安装
通过Package Control安装Interactivity
软件包,请按照以下步骤进行:
安装Package Control(如果您还没有安装的话)
- 打开Sublime Text。
- 通过按
Ctrl+Shift+P
(Windows/Linux)或Cmd+Shift+P
(Mac)访问命令面板。 - 输入
Install Package Control
并按Enter
。
安装插件
- 再次按
Ctrl+Shift+P
(Windows/Linux)或Cmd+Shift+P
(Mac)打开命令面板。 - 输入
Package Control: Install Package
并按Enter
。 - 在软件包列表中输入
Interactivity
并选择它进行安装。
- 再次按
Python模块集合
我喜欢的日常工具有Python,这就是为什么我在这个插件中包含了几个代码示例。
- chat.py 将ChatGPT直接集成到编辑器中。请记住设置OpenAI API密钥。
- tables.py 将Excel和CSV表格导入到编辑器中。
这些模块需要以下依赖项:openai
、pandas
、tabulate
。
您可以使用以下命令进行安装:pip install openai pandas tabulate
。
以下是演示它们如何工作的例子
Sublime Text中模块中的可用函数
chat.py
chat(prompt: str, system: str = None, save_context: bool = True, model: str = 'gpt-3.5-turbo') -> None
- 参数
prompt
(str): 要发送到ChatGPT的用户查询。system
(str, 可选): 可选的系统提示。save_context
(bool, 可选): 是否保存聊天内容以保持连续性。默认为True
。model
(str, 可选): 聊天要使用的模型。默认为'gpt-3.5-turbo'
。
- 输出: 直接在编辑器中打印助手的响应。
- 参数
chat4(prompt: str, system: str = None, save_context: bool = True) -> None
- 参数
prompt
(str): 发送到 ChatGPT 4o 的用户查询。system
(str, 可选): 可选的系统提示。save_context
(bool, 可选): 是否保存聊天内容以保持连续性。默认为True
。
- 输出: 直接在编辑器中打印助手的响应。
- 参数
clean_chat() -> None
- 输出: 通过重置存储的消息清理聊天历史。此函数在编辑器中不产生直接输出。
tables.py
excel_table(path: str, *args, **kwargs) -> None
- 参数
path
(str): Excel 文件的路径。*args
: 于pandas.read_excel
传递的可选的额外位置参数。**kwargs
: 于传递的可选的额外关键字参数。
- 输出: 读取 Excel 文件并将其直接在编辑器中打印为 markdown 表格。
- 参数
csv_table(path: str, *args, **kwargs) -> None
- 参数
path
(str): CSV 文件的路径。*args
: 于传递的可选的额外位置参数。
**kwargs
: 于传递的可选的额外关键字参数。
- 输出: 读取 CSV 文件并将其直接在编辑器中打印为 markdown 表格。
- 参数
自定义函数
您可以将您自己的 Python 脚本添加到插件目录中的 py_modules
目录内。这些脚本中的所有全局函数和变量都将可在编辑器中访问。欢迎您贡献您喜欢的语言中的新有用脚本。
设置
使用您的首选配置编辑插件目录中的 Interactivity.sublime-settings
文件。示例设置
指定任何 Shell 可执行文件的路径。使用 ##plugin##
来引用插件目录。
"shell": "python",
定义启动 Shell 后要运行的命令。在此处指定 chat.py 模块的 OpenAI API 密钥。
"startup_commands": "openai.api_key = 'sk-'",
定义关闭 Shell 之前要运行的命令。
"shutdown_commands": "exit()",
指定 Shell 命令行参数。使用 ##plugin##
来引用插件目录。
"shell_params": [
"-qi",
"##plugin##modules/py_manager.py"
],
设置环境变量。使用 ##plugin##
来引用插件目录。
"enviroment_variables": {
"PYTHONIOENCODING": "utf8"
},
指定要跳过的初始行数(例如,Shell 感谢语)。
"lines_to_suppress": 0,
在输出前添加自定义文本。
"prepend_output": " ",
在输出后添加自定义文本。
"append_output": "",
应用 RegExp 匹配模式来过滤输出。
"output_filter": "^(?:(?:>>> )|(?:\\.\\.\\. ))+"
定义用于运行命令的文本快捷键。条目的键是快捷键;条目的值是执行的命令。使用 ##param##
包括快捷键后的文本行在命令中。
"text_shortcuts": {
"@": "##param##",
"@@": "chat4(r\"\"\"##param##\"\"\")"
}
除了使用快捷键,您还可以通过选择文本的任何部分并按绑定到包的 Interactivity
命令的 Sublime Text 快捷键 来执行 Shell 执行。
理解快捷键
使用 text_shortcuts
设置定义文本快捷键以运行特定命令。'-' 后的文字是快捷键;文字之后的命令要执行。使用 ##param##
包括快捷键后的文本行在命令中。
示例 1
@ -> ##param##
@
:这是您在编辑器行的开头输入的快捷键。##param##
:这包括同一行中快捷键后的文本。这实际上允许您直接将任何文本插入到命令中。
这种设置允许您直接将输入的文本作为命令执行。
示例 2
"text_shortcuts": {
"@@": "chat4(r\"\"\"##param## \"\"\", system=\"Use markdown and emojis.\")"
}
@@
:这是您在编辑器行的开头输入的快捷键。chat4(r\"\"\"##param## \"\"\", system=\"使用markdown和emoji.\")
:此命令以特定参数调用chat.py
中的chat4
函数。
让我们分解一下参数:- r\"\"\"##param## \"\"\"
:这包括了同一行上的快捷键后面的文本。 - system=\"使用markdown和emoji.\"
:这设置了聊天的系统提示。
使用此快捷键,您可以使用预定义的设置快速启动与ChatGPT的聊天,使您的工作流程更高效。
设置Python集成
您可以通过将自定义Python脚本添加到插件目录中的py_modules
目录来增强功能。这些脚本中的所有全局函数和变量都将可在编辑器中使用。
安装Python
- Windows:从python.org下载安装程序并按照安装说明操作。请确保在安装过程中将Python添加到PATH。
- Linux:使用您的包管理器安装Python。例如,在Ubuntu上:
sudo apt-get install python3
。 - macOS:使用Homebrew安装Python:
brew install python3
。
查找Python可执行路径
要在终端中查找Python可执行路径,请运行以下命令
which python3
将此命令的输出用作shell
设置中的路径。
一切设置妥当后,您可以从Sublime Text调用Python代码。
@import numpy as np
@200 % (10 + 365) / np.e
73.57588823428847
@chat('How are you doing?')
I'm doing well, thanks for asking! How about you? What's on your mind today?
@@How are you doing?
I'm doing well, thank you for asking! How about you? How's your day going?
如果您也使用Obsidian
查看Interactivity: Calculations and Scripts for Obsidian。
贡献
欢迎贡献!请提交一个pull request或打开一个issue来讨论任何更改。
许可
本项目采用MIT许可协议。