vscode配置出现错误怎么办? vscode配置使用相关问题汇总

  发布时间:2024-12-25 11:20:15   作者:佚名   我要评论
最近在帮舍友配置vscode时遇到了各种奇奇怪怪的问题,在经过了一系列莫名其妙的玄学操作后基本得到了解决,特此记录

配置如下

{
    "editor.minimap.enabled": false,
    "editor.fontSize": 12,
    "editor.fontLigatures": false,
    "editor.fontWeight": "normal",
    "debug.console.fontSize": 12,
    "window.zoomLevel": 1.1//整个程序字体大小
}

四、vscode资源管理隐藏指定文件

打开 VSCode 设置:

根据项目需要,可以勾选gitignore文件、

五、vscode使用os.system(cmd),cmd为 python -m pytest -k...执行自动化程序时,提示ModuleNotFoundError

当你在 Visual Studio Code (VSCode) 中使用 os.system() 函数来执行命令行指令时,如 os.system('python -m pytest -k'),实际上是在当前工作区的一个子进程中执行该命令。

这意味着该子进程将继承调用它的 Python 脚本的环境变量。

然而,在某些情况下,特别是在使用虚拟环境或特定的工作空间目录结构时,子进程可能无法访问到预期的 Python 路径或模块,从而导致模块找不到等问题。

在 Windows 环境下,如果你需要确保 os.system() 调用能够访问到工作空间内的模块,就需要在 VSCode 的设置中明确地将 PYTHONPATH 环境变量设置为工作空间的根目录。这是通过修改 settings.json 文件来实现的,具体做法如下:

{
    "terminal.integrated.env.windows": {
        "PYTHONPATH": "${workspaceFolder}"
    }
}

这段配置告诉 VSCode 在 Windows 终端中加入当前工作空间的根目录作为 PYTHONPATH 的一部分。

当在 VSCode 的终端中运行任何命令时,包括通过 os.system() 运行的命令,都将能够识别到工作空间内的模块。

这样做的好处是确保了无论你在何处运行 Python 脚本(即使是在子进程中),它都能够找到所需的模块,特别是那些不是全局安装的模块。这对于测试或其他脚本操作来说是非常有用的,因为它确保了所有必要的资源都可以被访问到。

如果你的工作空间包含多个子目录,并且你需要在 PYTHONPATH 中包含多个路径,你可以通过分号(;)来分隔多个路径:

{
    "terminal.integrated.env.windows": {
        "PYTHONPATH": "${workspaceFolder};${workspaceFolder}/subdirectory"
    }
}

这样做可以让你在运行 os.system() 命令时,确保 Python 解释器能够访问到所有的模块和包。如果你遇到了 ModuleNotFoundError 错误,并且确认模块存在于工作空间内,那么这种配置应该可以帮助解决问题。

六、vscode配置python环境

打开一个python文件后,点击右下角,指定python环境 ,如图

七、vscode使用-查看源代码管理 提示 No source control providers registered.

解决

重启vscode后,问题解决。

八、vscode 执行python文件中定义的case方法,每个方法前面没有运行按钮

安装pytest扩展

  • 打开 VSCode。
  • 转到 Extensions 视图(快捷键Ctrl+Shift+X或者通过菜单栏Extensions)。
  • 在搜索框中输入pytest
  • 找到名为Python Test Explorerpytest for Python的扩展,并安装。

Python Test Explorer是一个比较流行的扩展,它可以管理并运行你的测试。

安装完成后,重启 VSCode(某些情况下需要)。

配置pytest扩展(点击三个点,选择管理用例,选择整个目录)

此后点击用例文件,就可以查看到case的执行按钮了。

九、vscode ,执行pytest测试用例时,没有根据pytest.ini配置文件中,执行test-paths = ./testcase这个配置。但使用pycharm时正常执行了。是vscode的哪里配置导致没有读取pytest.ini文件吗?

当你在 Visual Studio Code (VSCode) 中执行 pytest 测试用例时,如果 pytest.ini 文件中的配置没有被正确应用,可能是因为 VSCode 的配置存在问题。以下是一些可能导致此问题的原因及解决方法:

1. 确认pytest.ini文件位置

首先确认 pytest.ini 文件的位置是否正确。通常情况下,pytest.ini 文件应位于项目的根目录下,这样 pytest 才能在启动时找到它。

2. 检查 VSCode 的测试配置

VSCode 的测试运行器可能会有自己的配置选项,你需要确保配置正确。你可以通过 VSCode 的测试配置来指定 pytest 应使用的配置文件。

示例配置

在 VSCode 中,你需要确保测试任务配置正确。打开 .vscode 文件夹下的 settings.json 文件,并添加或修改以下配置:

{
    "python.testing.pytestEnabled": true,
    "python.testing.unittestEnabled": false,
    "python.testing.pytestArgs": [
        "--config=pytest.ini"
    ],
    "python.testing.pytestPath": "${workspaceFolder}/.venv/bin/pytest",  // 如果使用虚拟环境
    "python.testing.pytestArgs": [
        "-s",
        "-vv",
        "./testcase"
    ]
}

在这个配置中,python.testing.pytestArgs 列表中可以指定 --config=pytest.ini 参数,确保 pytest 使用特定的配置文件。

3. 检查工作区设置

确保 VSCode 工作区设置中没有覆盖默认的 pytest 配置。打开 .vscode/settings.json 文件,检查是否有与 pytest 相关的配置:

{
    "python.testing.pytestArgs": [
        "--config=pytest.ini"
    ]
}

4. 检查全局或用户设置

确保全局或用户的 VSCode 设置中没有覆盖默认的 pytest 配置。可以通过以下步骤查看:

  • 打开命令面板 (Ctrl+Shift+PCmd+Shift+P)。
  • 输入Preferences: Open Settings (JSON)并选择它。
  • 检查是否有与python.testing.pytestArgs相关的配置。

5. 检查launch.json配置

如果你使用 launch.json 来运行 pytest 测试,确保配置正确。在 .vscode/launch.json 文件中,可以指定 pytest 的命令行参数:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: pytest",
            "type": "python",
            "request": "launch",
            "module": "pytest",
            "console": "integratedTerminal",
            "justMyCode": false,
            "args": [
                "--config=pytest.ini",
                "-s",
                "-vv",
                "./testcase"
            ]
        }
    ]
}

6. 检查.vscode/tasks.json

如果你使用 .vscode/tasks.json 文件来定义任务,确保任务配置正确。在 .vscode/tasks.json 文件中,可以指定 pytest 的命令行参数:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "pytest",
            "type": "shell",
            "command": "pytest",
            "args": [
                "--config=pytest.ini",
                "-s",
                "-vv",
                "./testcase"
            ],
            "group": {
                "kind": "test",
                "isDefault": true
            },
            "problemMatcher": []
        }
    ]
}

7. 检查 Python 扩展版本

确保你使用的是最新版本的 Python 扩展,有时候旧版本的扩展可能存在一些已知的问题。可以在 VSCode 的扩展市场中检查更新。

8. 检查pytest版本

确保你安装的是最新版本的 pytest,有时候旧版本的 pytest 可能不支持某些配置项。

9. 重新加载窗口

有时候 VSCode 可能需要重新加载窗口来使新的配置生效:

  • 打开命令面板 (Ctrl+Shift+PCmd+Shift+P)。
  • 输入Developer: Reload Window并选择它。

十、头文件无法加载

描述:显示什么什么波形曲线之类的一堆莫名其妙的名词 总之就是无法编译

解决方案:检查环境变量的配置是否正确。然后重启。

十一、ctrl+alt+N 后弹出一堆乱码 exit code=1

描述:这堆乱码出现在下图所在位置

解决方案:先不管它到底是什么错误 先在左下角打开 设置-扩展-Run Code configuration

然后勾选 Run In Terminal

接下来你会发现错误信息显示在了"终端"里 不再是乱码了。

十二、无法访问可执行文件/访问被拒绝

描述:安装 code runner 后运行时提示的

解决方案:关掉Mcafee实时扫描 devC++类似

如果你发现编译后没法运行 建议看看你的目录里有没有你编译出的这个可执行文件

十三、生成的可执行文件总是a.exe

描述:ctrl+alt+N 后执行的命令总是会把文件编译成 a.exe 而不像devC++那样

解决方案:这好像是默认的编译命令 改过来就行了 具体在这里改

打开json后 找到 "c": 这一行 把冒号后面的字符串改成这个:

cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt

当然 如果有自己的需求也可以自己调整。

十四、无法调试

解决方案:gdb不支持中文目录 把目录的中文文件夹啊什么的改成英文

一点建议:

  • 把shift切换中英文输入法关掉 使用ctrl+空格
  • 几个常用快捷键如 ctrl+shift+B 被搜狗输入法等占用的建议把其它软件的禁用了

总结

通过上述步骤,你应该能够确保 VSCode 在运行 pytest 时正确读取 pytest.ini 文件中的配置。

相关文章

最新评论