2012-04-23 24 views
12

Tôi sử dụng trình chỉnh sửa vim (trên Ubuntu). Gần đây, tôi đã làm việc với các dự án cuda lớn và do đó muốn sử dụng tiện ích ctags để duyệt mã. Danh sách các ngôn ngữ được hỗ trợ cho exuberant-ctags [ở đây] (http://ctags.sourceforge.net/languages.html) hiện chưa có CUDA. Nếu bất cứ ai biết một tinh chỉnh để làm như vậy, tôi thực sự đánh giá cao sự giúp đỡ.ctags + danh sách thẻ cho các tệp .cu (CUDA)

Cảm ơn

CHỈNH SỬA 1: Tôi tìm thấy bản sửa lỗi tạm thời sau.

Để tạo tệp thẻ cho tệp CUDA, hãy sử dụng ctags với tùy chọn sau (giả sử thư mục hiện tại của bạn chứa tất cả các tệp cuda của bạn);

$ ctags --langmap = C++: + cu *

Trả lời

6

Kể từ CUDA C/C++ dựa trên C++ bạn chỉ có thể sử dụng chế độ ++ C.. Bạn có thể thêm bản đồ ngôn ngữ bằng cách sử dụng --langmap=c++:+.cu.

+0

Cảm ơn, tôi tình cờ gặp một lỗi tương tự (không hoàn toàn chính xác như tôi đã sử dụng C thay vì C++) sau khi đăng giải pháp. – Abhinav

+0

CUDA C/C++ dựa trên C++, giống như trong C++ chuẩn, bạn có thể tự giới hạn sử dụng tập con C nếu muốn! – Tom

+0

CNTT HOẠT ĐỘNG Đ BEP !!!! Tôi đã lo lắng nếu điều này sẽ có thể xác định các chức năng hạt nhân (những người có <<<> >>) ... để tôi ngạc nhiên, nó hoạt động và hoạt động hoàn hảo. Cảm ơn Tom. – Abhinav

4

Tôi không biết về taglist, nhưng nếu bạn đang sử dụng các plugin Tagbar (một redo của taglist), bạn có thể thêm dòng sau vào .vim/autoload/tagbar.vim:

let s:known_types.cuda = type_cpp

Đặt nó ngay sau khi dòng:

let s:known_types.cpp = type_cpp

+0

Làm thế nào để bạn làm cho nó hoạt động cho các tệp * .cuh? – dalibocai

+0

@dalibocai '' 'au BufNewFile, BufRead * .cuh đặt ft = cuda''' trong vimrc của bạn – Azrael3000

2

Đối taglist chia cửa sổ, bạn có thể thêm sau dòng

" cu language 
let s:tlist_def_cu_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' . 
         \ 'c:class;g:enum;s:struct;u:union;f:function' 

dưới

" c++ language 
let s:tlist_def_cpp_settings = 'c++;n:namespace;v:variable;d:macro;t:typedef;' . 
          \ 'c:class;g:enum;s:struct;u:union;f:function' 

trong taglist.vim

0

phổ-ctags (https://ctags.io) đã được xây dựng trong phân tích cú pháp cho CUDA.

$ ./ctags --list-maps=CUDA 
CUDA  *.cu *.cuh 
Các vấn đề liên quan