Fügen Sie die Import-Anweisung ein, die für die Vervollständigung des Python-Codes in Neovim erforderlich ist

Zielgruppe des Artikels

Einführung

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.

java_completion.gif

Der Zweck dieses Artikels ist es, dies beim Schreiben von Python mit vim relativ leicht zu machen.

Was kann erreicht werden

Es ist meine Arbeit, aber https://github.com/relastle/vim-nayvy Wenn ich dieses Plug-In verwende Sie können Folgendes tun:

nayvy_coc.gif

Einführungsmethode

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.

Ergänzung

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

Fügen Sie die Import-Anweisung ein, die für die Vervollständigung des Python-Codes in Neovim erforderlich ist
VS-Code-Einstellungen für die Entwicklung in Python mit Abschluss
Zusammenfassung verschiedener for-Anweisungen in Python
Einstellungen für die Python-Codierung mit Visual Studio-Code
Spezifischer Beispielcode für die Arbeit mit SQLite3 in Python
Stellen Sie settings.json für eine effiziente Python-Codierung mit VS-Code bereit
Python3> Slice-Kopie / Slice-Notation> wird für Anweisungen usw. verwendet.
Super einfacher Fall k-means Methode Python-Code
Importieren Sie Skripte dynamisch in Python
Persönliches Python-Code-Memo
[Python] Fügen Sie ":" in die MAC-Adresse ein
Techniken zum Sortieren in Python
Nützliche Tricks in Bezug auf Listen und Anweisungen in Python
Generieren Sie QR-Code in Python
[Python] Beispielcode für die Python-Grammatik
In Python gelernter Zeichencode
Über "für _ in range ():" von Python
Wettbewerb mit VS-Code Erstellen Sie eine Python-Umgebung für Profis unter Windows
Überprüfen Sie Python auf Speicherlecks
Suchen Sie mit Python nach externen Befehlen
[Python] Generiert QR-Code im Speicher
Arbeiten mit LibreOffice in Python: Importieren
Formatieren Sie Python-Code automatisch mit Vim
Schreiben Sie Selentestcode in Python
[TouchDesigner] Tipps für die Anweisung von Python
Verwenden Sie Python in pyenv mit NeoVim
Führen Sie unittest in Python aus (für Anfänger)
Code-Tests rund um die Uhr in Python
[Einführung] Fügen Sie Zeilenumbrüche in Python 3 ein
Python> importiere dies> Osterei anzeigen> Versucht in einer Online-Code-Ausführungsumgebung
Codelesen von Safe, einer Bibliothek zur Überprüfung der Kennwortstärke in Python
In Python geschriebener Fourier-Serien-Verifizierungscode
INSERT in MySQL mit Python [Für Anfänger]
Unterschied zwischen Anweisungen (Anweisungen) und Ausdrücken (Ausdrücken) in Python
Anmerkung von nfc.ContactlessFrontend () von nfcpy von Python
Inject wird für DDD in Python empfohlen
Tipps zum Umgang mit Binärdateien in Python
Geben Sie Anmerkungen für Python2 in Stub-Dateien ein!
Vorsichtsmaßnahmen bei Verwendung der for-Anweisung in Pandas
(Für mich) Setzen Sie den Kolben in den VS-Code ein
Vorlage zum Schreiben von Batch-Skripten in Python
[Python] Organisieren der Verwendung für Anweisungen
Verarbeiten Sie mehrere Listen mit for in Python
MongoDB mit Python zum ersten Mal
Python> Codierungsanleitung> PEP 0008 - Stilanleitung für Python-Code
Holen Sie sich ein Zeichen für Conoha mit Python
Beispiel für den Umgang mit EML-Dateien in Python
AtCoder Spickzettel in Python (für mich)
Ein Tool zur einfachen Eingabe von Python-Code
Code für die API-Konvertierung in sqlalchemy erforderlich
Ich habe mit Python nach einer Primzahl gesucht
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
Tipps zum Erstellen kleiner Werkzeuge mit Python
Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten
Ruft die EDINET-Codeliste in Python ab
Modulimport und Ausnahmebehandlung in Python
R-Code-kompatibles Blatt für Python-Benutzer
Importfehler: Kein Modul mit dem Namen 'xxxxx' in Python3
Ich suchte nach den Fähigkeiten, die erforderlich sind, um Webingenieur bei Python zu werden