In der integrierten Entwicklungsumgebung (IDE) wie IntelliJ ist dies wie folgt Ich denke, es ist eine verbreitete Geschichte, dass gleichzeitig die Importanweisung eingefügt wird, die für eine Abschlussentscheidung erforderlich ist.
Der Zweck dieses Artikels ist es, dies beim Schreiben von Python mit vim relativ leicht zu machen.
Es ist meine Arbeit, aber https://github.com/relastle/vim-nayvy Wenn ich dieses Plug-In verwende Sie können Folgendes tun:
Es kann unten installiert werden.
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'relastle/vim-nayvy'
Ich verwende nur die benutzerdefinierte Quellfunktion von coc.nvim Es ist nicht erforderlich, ein separates Coc-Plug-In zu installieren.
Da die Importanweisung eingefügt wird, wenn der Abschluss entschieden wird Wenn nichts festgelegt ist, muss dies explizit mit der Taste (Strg-y) festgelegt werden.
(Siehe READ ME für Details)
Ich denke, es wird mit vim wie mit -python3 funktionieren.
Ich denke, Pythons Import-Anweisung ist in folgender Hinsicht etwas spezifischer als einige andere Sprachen:
Genauer
import os.path
os.path.dirname('hoge/fuga')
from os.path import dirname
dirname('hoge/fuga')
Ich denke, es liegt im Grunde am Autor, zu entscheiden, welchen er schreibt.
Es ist eine extreme Theorie
import numpy as np
Es ist normalerweise wünschenswert zu schreiben, aber für die persönliche Entwicklung (oder wenn es innerhalb des Teams Übereinstimmung gibt)
import numpy
Es wird in Ordnung sein, sich als zu entwickeln.
Aufgrund dieser Eigenschaften besteht das Problem des automatischen Einfügens einer Importanweisung beim Abschluss mit Python Ich denke, es ist schwierig, es unter der Annahme zu lösen, dass es von allen benutzt wird.
Dieses Plug-In löst das Problem, indem der Benutzer im Voraus eine große Anzahl von Importanweisungen vorbereiten muss.
Durch das Schreiben einer großen Anzahl von Importanweisungen, die ich normalerweise in "$ HOME / .config / nayvy / import_config.nayvy" ($ XDG_CONFIG_PATH / nayvy / import_config.nayvy) verwende, verwende ich sie als benutzerdefinierte Quelle. (Wenn Sie die Datei nicht ablegen, wird nur das Standardbibliothekspaket / -modul vervollständigt.)
Meine persönliche Geschichte ist, dass ich mich die meiste Zeit durch Typinspektion mit mypy entwickle.
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
Es gibt eine Linie wie diese
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
Ich schreibe Importanweisungen für Plug-Ins von Drittanbietern, die ich häufig so verwende.
Recommended Posts