невозможно go реализация функции vim - PullRequest
0 голосов
/ 16 января 2020

Я использую vim для работы с программным обеспечением. Здесь я использую ctags для go для определения и объявления. В чем проблема, когда я набираю: ctrl+], он переходит к части объявления функции в файле obj_re c .h, но не переходит к части obj_re c. cpp из файла d main. cpp. Я также создал файл тегов, используя cmd, ctags -R --exclude=.git . и ctags -R и ctags -R -f, но он также не работает. Вот как выглядят файлы: test.h

#ifndef TEST_H
#define TEST_H


class test
{
public:
  test();
};
testFunc();
#endif // TEST_H

test. cpp

#include "test.h"
#include <iostream>
test::test()
{
  std::cout<<"test called"<<std::endl;    
}
testFunc() { std::cout<<"test func"<<std::endl;

main. cpp

#include <iostream>
#include "test.h"
int main() 
{
    test obj;
    test(); 
    return 0;
}

Здесь, когда я поместите мой курсор в тестовый класс или тестовую функцию в основном файле. cpp, он перейдет в файл test.h, который не тестируется. cpp. Что я должен сделать, чтобы перейти к тесту. cpp, где его реализация присутствует с использованием ctags?

Вот как мой CMakeLists.txt: cmake_minimum_required (VERSION 2.8)

project(ai_vision)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS} /usr/include/CL/)
set(src main.cpp obj_rec.cpp mean_shift.cpp use_opencl.cpp)
add_executable(${PROJECT_NAME} ${src})
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} /usr/lib/x86_64-linux-gnu/libOpenCL.so)

I ' Я использую Ubuntu 18.04, VIM версии 8.0.

1 Ответ

0 голосов
/ 16 января 2020

К go для определения функции, в которой реализована функция, вы должны использовать функцию тегов ctags. Вместо того, чтобы перейти к определению функции. Для этого вы должны использовать cmd:

tag funcName

, как также описано в этой документации. После этого в вашем случае просто наберите: tag testFun c, чем будет go для проверки. cpp file test functin.

...