--Personnes qui veulent réaliser le goût d'écriture de type IDE de Python avec Neovim --Personnes utilisant coc.nvim
Dans l'environnement de développement intégré (IDE) tel qu'IntelliJ, c'est comme suit Je pense que c'est une histoire courante que la déclaration d'importation requise lors de la prise d'une décision d'achèvement est également insérée en même temps.
Le but de cet article est de rendre cela relativement léger lors de l'écriture de Python avec vim.
C'est mon travail, mais https://github.com/relastle/vim-nayvy Quand j'utilise ce plug-in Vous pouvez faire ce qui suit:
Il peut être installé ci-dessous.
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'relastle/vim-nayvy'
J'utilise juste la fonction source personnalisée de coc.nvim Il n'est pas nécessaire d'installer un plug-in coc séparé.
Puisque la déclaration d'importation est insérée lorsque l'achèvement est décidé Si rien n'est défini, il doit être explicitement déterminé avec la touche (Ctrl-y).
(Voir LISEZ-MOI pour plus de détails)
Je pense que cela fonctionnera avec vim comme avec-python3.
Je pense que la déclaration d'importation de Python est un peu plus spécifique que certains autres langages de la manière suivante:
--Il est très courant d'importer avec un autre nom (importer xxxx comme yy)
Plus précisement
import os.path
os.path.dirname('hoge/fuga')
from os.path import dirname
dirname('hoge/fuga')
Je pense que c'est essentiellement à l'écrivain de décider lequel écrire.
C'est une théorie extrême
import numpy as np
Il est généralement souhaitable d'écrire, mais pour le développement personnel (ou s'il y a accord au sein de l'équipe)
import numpy
Ce sera bien de développer en tant que.
En raison de ces caractéristiques, le problème de l'insertion automatique d'une instruction d'importation lors de l'exécution avec Python Je pense qu'il est difficile de le résoudre en supposant qu'il sera utilisé par tout le monde.
Ce plug-in résout le problème en demandant à l'utilisateur de préparer un grand nombre d'instructions d'importation à l'avance.
En écrivant une grande quantité de déclarations d'importation que j'utilise habituellement dans $ HOME / .config / nayvy / import_config.nayvy
($ XDG_CONFIG_PATH / nayvy / import_config.nayvy), je l'utilise comme source personnalisée.
(Si vous ne placez pas le fichier, seul le package / module de bibliothèque standard sera complété.)
Mon histoire personnelle est que la plupart du temps, je développe en effectuant une inspection de type avec mypy.
from typing import Any, Callable, ClassVar, Generic, Optional, Tuple, Type, TypeVar, Union, AbstractSet, ByteString, Container, ContextManager, Hashable, ItemsView, Iterable, Iterator, KeysView, Mapping, MappingView, MutableMapping, MutableSequence, MutableSet, Sequence, Sized, ValuesView, Awaitable, AsyncIterator, AsyncIterable, Coroutine, Collection, AsyncGenerator, AsyncContextManager, Reversible, SupportsAbs, SupportsBytes, SupportsComplex, SupportsFloat, SupportsInt, SupportsRound, ChainMap, Counter, Deque, Dict, DefaultDict, List, OrderedDict, Set, FrozenSet, NamedTuple, Generator, AnyStr, cast, get_type_hints, NewType, no_type_check, no_type_check_decorator, NoReturn, overload, Text, TYPE_CHECKING, Protocol
Il y a une ligne comme celle-ci
import numpy as np
import pandas as pd
import tensorflow as tf
import seaborn as sns
import requests
import aiohttp
from logzero import logger
import yaml
import click
from click_help_colors import HelpColorsGroup, HelpColorsCommand
import pytest
import yaml
J'écris des instructions d'importation pour des plug-ins tiers que j'utilise fréquemment comme ça.
Recommended Posts