私は最近、Python( https://docs.python.org/3/library/typing.html )でタイピングモジュールについて学び、それを使用することを期待しましたTypeScriptで動作するように、静的型チェックとVS Codeのより良いインテリセンスのために、しかし実際にそれを行うツール/プラグインを見つけることができないようです。
もしあれば、私のオプションは何ですか?
mkdir test
cd test
python3 -m venv .env
source .env/bin/activate
python -m pip install flake8
python -m pip install flake8-mypy
code ./
次に、これをVSCodeにインストールします https://marketplace.visualstudio.com/items?itemName=donjayamanne.python
and config
./.vscode/settings.json
{
"python.envFile": "${workspaceRoot}/.env",
"python.pythonPath": "${workspaceRoot}/.env/bin/python",
"python.linting.flake8Enabled": true,
"python.linting.pylintEnabled": false
}
./.vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Python",
"type": "python",
"request": "launch",
"stopOnEntry": false,
"pythonPath": "${config:python.pythonPath}",
"program": "${file}",
"cwd": "${workspaceRoot}",
"env": {},
"envFile": "${workspaceRoot}/.env",
"debugOptions": [
"WaitOnAbnormalExit",
"WaitOnNormalExit",
"RedirectOutput"
]
}
]
}
https://pypi.python.org/pypi/flake8-mypy/17.3.
はい、mypyもそうです。リラックスして、すべての一般的なプラグインでFlake8を実行できます
ツールとしてPython 3.5+で分析したい場合でも)
Python 2コード。これにより、すべての新しい構文を解析できるようになります
Python 3でサポートされていますが、実質的にすべてのPython 2構文
同じ時間。コードを排他的にPython 3.5+にすることで、
チェックの品質と新しいのすべてのニース機能の再利用
リリース(pathlibをチェックアウト)Unicodeのサイクルを浪費する代わりに
互換性など.
https://github.com/python/mypy#ide--linter-integrations
IDEとリンターの統合
Mypyは一般的なIDEに統合できます。
- Vim:vim-mypy
- Emacs:FlycheckおよびFlycheck-mypyの使用
- 崇高なテキスト:SublimeLinter-contrib-mypy
- アトム:linter-mypy
- PyCharm:PyCharmは、PEP 484の独自の実装を統合します。
Mypyは、flake8-mypyを使用してFlake8に統合することもできます。
次のコードを追加しました
{
"name": "mypy",
"type": "python",
"request": "launch",
"module": "mypy",
"args": [
"${file}"
],
"console": "integratedTerminal"
}
vS Code launch.jsonで、「DEBUG」ウィンドウに表示されます。 F5キーを押すだけで、現在のファイルの完全な静的分析を取得できます。