2016-01-04 27 views
8

python 3.5+支持類型提示的事實在生成包裝時有很好的用例,例如通過SWIG。使用SWIG生成Python類型提示

因爲IDE/linter可以執行編譯時類型檢查,所以在使用大型C++ API時使用類型提示會使體驗有很大改進。

如何使用SWIG生成類型提示?

+1

使用'%Python代碼%{%}'語法,你可以簡單地注入Python代碼和系統封裝函數帶有提示功能。對於你可以使用'%extend'的類。最好是,你可以在你的類型地圖中包含這些擴展,所以不需要手動工作。許多人對python 3.0不滿意,所以我預計這需要一段時間纔會成爲標準類型映射的一部分 –

回答

1

swig autodoc功能,可以給你這個,至少在簡單情況下。

添加%feature("autodoc", "1")你痛飲接口代碼,將生成的東西,如:

def function_name(*args, **kwargs): 
    """function_name(int x, int y, Foo foo=None, Bar bar=None) -> bool""" 
    ... 

http://www.swig.org/Doc3.0/SWIGDocumentation.html#Python_nn67