我目前在 Visual Studio Code 中遇到异常行为。
问题是,当导航到我的代码中的函数定义(该函数定义在已打开的另一个文件选项卡中定义)时,会打开一个具有相同内容的新选项卡。两个选项卡似乎都引用相同的文件对象。这意味着在一个选项卡中所做的更改在另一个选项卡中也可见,反之亦然。
以下是我已经采取的一些细节和步骤:
{
"editor.codeActionsOnSave": {},
"python.analysis.extraPaths": [],
"python.autoComplete.extraPaths": [],
"python.condaPath": "C:\\Users\\...\\anaconda3\\Scripts\\conda-script.py",
"python.defaultInterpreterPath": "c:\\Users\\...\\anaconda3\\envs\\work\\python.exe",
"python.experiments.optInto": [ "pythonTerminalEnvVarActivation" ],
"python.pythonPath": "C:\\Users\\...\\anaconda3\\python.exe",
"python.terminal.activateEnvInCurrentTerminal": true,
"python.terminal.activateEnvironment": true,
"python.experiments.enabled": true,
"security.restrictUNCAccess": false,
"window.zoomLevel": -1,
"python.analysis.diagnosticSeverityOverrides": {
}
此行为似乎与 Visual Studio Code 的正常工作流程不符,我不确定如何进一步调查或解决它。请提供有关如何解决此问题的指导或建议。
至于扩展,我正在使用附图中显示的扩展。但是,由于我正在协作完成一个小组项目,因此我的小组成员使用不同的扩展。有趣的是,在从 GitHub 拉取我的最新版本后,他们也遇到了同样的问题。这让我很困惑,因为这些设置不是 GitHub 存储库的一部分,而且我的代码中没有硬编码的文件路径。
为了更详细的问题描述,我添加了其他图像。
在这些图像中,您可以观察到两个 excel_try 文件已打开。第一个路径显示为
\\raven\Files\Maxi\GitHub\excel_try.py
,第二个路径显示为V:\Maxi\GitHub\excel_try.py
。 Raven 是存储在 V: 驱动器下的外部网络。
举个例子:函数
A
定义在excel_try
文件中。我在 main_GUI
文件中使用此函数。但是,当我尝试通过在 A
中单击来查看函数 main
的定义时,Visual Studio 会将我定向到位于 \\raven\Files\Maxi\GitHub\excel_try.py
的文件。然而,当我从项目的文件资源管理器手动打开文件时,会显示位于 excel_try
的不同(或明显相同)V:\Maxi\GitHub\excel_try.py
文件。
我很遗憾地通知您,我的 GitHub 项目目前正在进行中,目前不打算供公众访问。
您看到的两个路径(
\\raven\Files\Maxi\GitHub\excel_try.py
和V:\Maxi\GitHub\excel_try.py
)实际上是同一个文件。
第一个是UNC路径,第二个是映射的网络驱动器路径。
当您在 VS Code 中打开文件时,它会使用您提供的路径来定位该文件。当您导航到函数定义时,VS Code 使用 Python 语言服务器来查找文件,这可能会将网络路径解析为其 UNC 形式。
这是一个可能的解决方案。您可以使用“文件 > 打开文件夹”菜单通过网络驱动器 (V:) 打开项目文件夹。然后从 VSCode 中的文件资源管理器打开 Python 文件。