我尝试对Python AppDaemon包中的Hass
类使用autocomplete。Autocomplete显示了一些从超类继承的方法,比如get_state()
,但是缺少一些方法,比如log()
和get_entity()
。这个行为在VS Code和PyCharm社区中是相同的。
下面是我正在编写的一个类的框架,它继承自hass.Hass
:
import hassapi as hass
class AutocompleteTest(hass.Hass):
def initialize(self):
self.get
下面是它从(GitHub link)继承的类:
class Hass(adbase.ADBase, adapi.ADAPI):
我想自动完成的方法在超类adapi.ADAPI
(GitHub link)中,下面是这个类的方法定义:
class ADAPI:
# This method shows in autocomplete
@utils.sync_wrapper
async def get_state(
self,
entity_id: str = None,
attribute: str = None,
default: Any = None,
copy: bool = True,
**kwargs: Optional[Any],
) -> Any:
# This method does not show in autocomplete
def log(self, msg, *args, **kwargs):
# This method does not show in autocomplete
def get_entity(self, entity: str, **kwargs: Optional[Any]) -> Entity:
有人能帮我理解这是怎么回事,以及如何让自动完成完全工作吗?
我的需求文件:
hassapi
iso8601
requests
2条答案
按热度按时间v8wbuo2f1#
PyPI(hass-api/hassapi)上的
hassapi
包和您的需求文件与AppDaemon无关。在运行时,AppDaemon会为自己的
hass
插件(AppDaemon/appdaemon/.../appdaemon/plugins/hass)执行sys.path.insert(0, plugin)
,该插件包含hassapi
模块。要获得自动完成,请安装
appdaemon
包。1.更改import语句以直接导入AppDaemon的
hassapi
模块:1.或者在与www.example.com相同的目录中创建一个文件
hassapi.py
autocomplete-test.py包含:js81xvg62#
我用了一个很小的例子来重现这个问题,但我可以变得聪明。
test1.py:
test2.py
test3.py:
如果你使用这个例子,你能得到智能提示吗?