2020.02.15
No me importa qué método utilizas para instalar YouCompleteMe (git clone con precisión)
Ahora ve al directorio YouCompleteMe y prepárate para compilar ycmd.
El archivo de compilación es instalar. (Py | sh)
Sin parámetros solo analiza el lenguaje Python
--clang-completer
o --clangd-completer
analizar el lenguaje familiar C
Específico --help
Confirmo la versión de python, vim necesita usar python3.7 en mi máquina, esto es necesario, porque vim llamará a python dll, por lo que la versión debe coincidir.
lib Python3.7 en mi máquina es: libpython3.7m.dll.a
con un m
vistazo al archivo:YouCompleteMe/third_party/ycmd/build.py +71
DYNAMIC_PYTHON_LIBRARY_REGEX = """
^(?:
# Linux, BSD
libpython{major}\\.{minor}m?\\.so(\\.\\d+)*|
# OS X
libpython{major}\\.{minor}m?\\.dylib|
# Windows
python{major}{minor}\\.lib|
# Cygwin
libpython{major}\\.{minor}\\.dll\\.a
)$
"""
La regularidad de Cygwin no coincide libpython3.7m.dll.a
, por lo que debe corregir la expresión regular o ...
También depende de libcrypt-devel
En este punto, Python se puede usar normalmente (tal vez).
En mi Python3.7, no puedo reconocer archivos pyd, así que necesito
YouCompleteMe/third_party/ycmd/ycm_core.pyd ⇒ YouCompleteMe/third_party/ycmd/ycm_core.dll
Pero todavía hay problemas con la familia c
Use la opción de compilador --clang-completer
va a descargar un archivo: YouCompleteMe/third_party/ycmd/clang_archives/libclang-9.0.0-win64.tar.bz2
se va a extraer los archivos en un directorio:
YouCompleteMe/third_party/ycmd/third_party/clang/lib/libclang.lib
para borrar el archivo lib
Los libclang-9.0.0-win64.tar.bz2
archivos bin
en el directorio libclang.dll
para extraerYouCompleteMe/third_party/ycmd/third_party/clang/lib/
En este punto, la familia c se puede usar normalmente (tal vez).
Uso el entorno msys2 mingw64. Tanto msys como mingw64 tienen entornos Python. La versión más alta de python para msys es 3.7, que también es la versión requerida por vim, y la versión más alta para mingw64 es 3.8, que se ha actualizado.
Pero Python 3.7 es todavía archivos residuales /mingw64/lib/python3.7
, se inicia vim por medio mingw64, porque el camino será utilizar el tema /mingw64/lib/python3.7
en el archivo, elimine el directorio. Esto utilizará /usr/lib/python3.7
un directorio de
específicamente qué camino se encontró ningún problema.
--clang-completer
No sé si hay algún problema si no lo uso, o si los archivos lib y dll se usan incorrectamente (paquete comprimido).
Confirme la versión de Python requerida por vim
Usar en vim :python print("lall")
:python3 print("lall")
Si falla, vim le indicará que no se encuentra la dll relevante, y habrá una versión de Python en la solicitud.
Requerido por vim en msys msys-python3.7m.dll