忽略 'undefined name' 某些带有 sublimelinter + flake8 的全局关键字
Ignore 'undefined name' for certain global keywords w/ sublimelinter + flake8
使用一些不寻常的语言,processing-py,它是一种 python 围绕 java 处理语言的包装器。
processing-py 引入了许多不需要导入的全局关键字。其中包括像 loadPixels() 这样的函数名称和像 'width'(屏幕宽度)这样的全局变量(常量?)。
Sublimelinter + flake8 为这些正确地引发 F821 未定义名称。 #noqa 不方便,我还不如在那个时候关掉 linter。我还想看看我什么时候 实际上 引入了一个虚假关键字,例如将 loadPixels()(好)打错为 laodPixels()(坏)。
那么有没有办法为 F821 添加一个例外列表,或者以其他方式扩展已知关键字的字典?
我还使用带有关键字列表的自定义 thTheme,作为 processing-py-sublime 包的一部分。
谢谢!
不知道您是否解决了您的问题,但是如果您将 SublimePythonIDE 与 SublimeText3 一起使用,您可以在插件的用户设置或项目设置中添加一个例外列表:
在用户设置中,添加:
"pyflakes_ignore": ["background", "ellipse", "fill", "size" ... ]
在项目设置中,添加到 'settings' 对象:
{
"settings": {
// Ignoring for Processing.py projects
"pyflakes_ignore": ["background",
"ellipse",
"fill",
"size"]
}
}
我已经接受了其他用户的回答,但想出了另一种方法来做到这一点,该方法更 in-line 我当前的工作流程。
我使用的是 Sublime Linter + Python Flake8 Lint 包。
Python Flake8 Lint 有一个名为 "builtins" 的设置,我猜这是针对 built-in python 语言关键字。您可以在项目级别设置它(我的所有 pyprocessing 主要是在一个大型 sublime 项目中完成)。
你的pyprocessingproject.sublime-project:
"settings": {
"flake8lint": {
"builtins": [
"draw",
"exit",
"loop",
"noLoop"
etc...
]
}
}
成功了。使用接受的答案中的要点来获取完整的关键字列表。
使用一些不寻常的语言,processing-py,它是一种 python 围绕 java 处理语言的包装器。
processing-py 引入了许多不需要导入的全局关键字。其中包括像 loadPixels() 这样的函数名称和像 'width'(屏幕宽度)这样的全局变量(常量?)。
Sublimelinter + flake8 为这些正确地引发 F821 未定义名称。 #noqa 不方便,我还不如在那个时候关掉 linter。我还想看看我什么时候 实际上 引入了一个虚假关键字,例如将 loadPixels()(好)打错为 laodPixels()(坏)。
那么有没有办法为 F821 添加一个例外列表,或者以其他方式扩展已知关键字的字典?
我还使用带有关键字列表的自定义 thTheme,作为 processing-py-sublime 包的一部分。
谢谢!
不知道您是否解决了您的问题,但是如果您将 SublimePythonIDE 与 SublimeText3 一起使用,您可以在插件的用户设置或项目设置中添加一个例外列表:
在用户设置中,添加:
"pyflakes_ignore": ["background", "ellipse", "fill", "size" ... ]
在项目设置中,添加到 'settings' 对象:
{
"settings": {
// Ignoring for Processing.py projects
"pyflakes_ignore": ["background",
"ellipse",
"fill",
"size"]
}
}
我已经接受了其他用户的回答,但想出了另一种方法来做到这一点,该方法更 in-line 我当前的工作流程。
我使用的是 Sublime Linter + Python Flake8 Lint 包。
Python Flake8 Lint 有一个名为 "builtins" 的设置,我猜这是针对 built-in python 语言关键字。您可以在项目级别设置它(我的所有 pyprocessing 主要是在一个大型 sublime 项目中完成)。
你的pyprocessingproject.sublime-project:
"settings": {
"flake8lint": {
"builtins": [
"draw",
"exit",
"loop",
"noLoop"
etc...
]
}
}
成功了。使用接受的答案中的要点来获取完整的关键字列表。