【问题标题】:intellisense failing for with-statement in python3.8python3.8中with语句的智能感知失败
【发布时间】:2020-03-10 13:26:12
【问题描述】:

我整理了一个简单的代码块,例如:

def withBlock():
    with open('foo.txt', 'w') as file:
        file.write('foo')

def nextFunction():
    print('bar')

在 Visual Studio 2017 中,我遇到了激活 Python 3.8 的智能感知问题。当 Python 3.6 处于活动状态时,此问题不存在。它将指示with: <unknown type>unexpected token 'open'。在此语句之后,其余代码有几个智能感知错误。在解释器中运行此代码完全符合预期。

我的具体问题与使用有关

with self.assertRaises(ValueError):
    self.data.TestHeader = testHeader

在一系列测试的中间。一旦达到此测试,测试资源管理器中将忽略所有后续测试。从 Visual Studio 外部的命令行运行测试工作得非常好。

有什么想法吗?

【问题讨论】:

  • 尝试在关闭vs实例后删除解决方案目录中隐藏的.vs文件夹,然后重启VS。或者卸载并重新加载项目可能会有所帮助?
  • @GardenCat 两种尝试都没有帮助。看起来如果我开始一个新项目并添加上面的代码,智能感知就没有问题。如果我在当前情况下删除项目并创建一个新项目,问题仍然存在。我将不得不继续尝试......
  • 确定这是一个 Python 3.8 特有的问题,用这个新的理解更新了问题。
  • @LuciusSilanus 同意你的观点:)我查看了python 3.8的发布日期,默认的python组件VS建议,在VS2017中,我建议使用python 3.6... :-)

标签: visual-studio visual-studio-2017 intellisense with-statement python-3.8


【解决方案1】:

目前最新发布的 VS2019 是 VS2019 16.3.9,最新的 VS2017 是 15.9.17

请检查 VS ide 支持的默认 Python 组件,目前在 VS2017 中支持 Python 3.6,而不是 Python.org 在 10 月发布的 3.8。所以我假设现在 VS2017 可能不完全支持 Python 3.8 功能。这可能是您最初问题的原因。希望它有助于解决您的难题:)

【讨论】:

    猜你喜欢
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-28
    • 1970-01-01
    相关资源
    最近更新 更多