VSCode集成了源代码控制和预提交

问题描述

https://pre-commit.com与VSCode挂钩一起使用时,挂钩取决于Python venv中安装的软件包。在预提交中可以指定使用“系统”作为环境。从终端启动并运行所需的venv,效果很好。

但是,使用集成的源代码控制,似乎可以访问全局信息,因此所需的程序包不可用。

这里有解决方法吗?到目前为止,我在预提交配置中指定了入口点“ path / to / bin / python -m package”。但是,我确实认为集成源控件也应该至少尊重选定的干扰者。

有什么想法吗?

解决方法

查看“ VS Code”窗口底部的小任务栏。

单击Python "version" "32/64-bit"将使您选择可用的口译员(还显示了venv中的任何内容)

enter image description here

,

VSCode 似乎无意识地选择它尊重什么和不尊重什么。我有同样的情况 - 在集成终端上提交工作正常;从源代码管理侧边栏执行此操作会给我一条“找不到 Python”消息(仅在安装预提交挂钩后才会出现)。

我的猜测是,您必须通过反复试验,在系统中的每个 Python 安装中安装 pre-commit,直到找到侧边栏调用的那个。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...