編輯這個 Wiki Emacs · jacobdufault/cquery Wiki · GitHub (我之前有篇簡單的介紹 )
改进 cquery.el 比如实现 $cquery/typeHierarchyTree
cquery#30 收集了一些可以改進的地方 模板有很多可改進的地方
Higher priority items I'd like to get addressed before publishing to the marketplacemake sure we don’t load cached file if real file is not present Very make_unique contributes constructor calls extern const char not included in outline? see ash_switches.h show warning for compile_commands.json, autogen if possible; maybe git rev-parse origin/master ; or git rev-parse HEAD Verify when loading project we add to end of queue so existing open files are indexed first we don’t need to reindex file unless it has timestamp change, ever, try to add metrics to count how many files get updated after sync reindex file is command line arguments change max number of code lens results otherwise vscode will hang if the file has 20k+ code lens Mention how to disable code lens in README Drop clang_args in favor of pref or move to .cquery or similar clang arg pref should be platform specific Only status update every few hundred milliseconds Reduce output index perf: don’t run every DoIdMap; stop after 500 or 1000 iterations Move completion entirely off querydb thread so it never touches querydb progress indicator needs to account for index threads which are busy (ie, +1 to a job when they remove the item from the queue until it is done being processed) Misc issues that need to be dealt with at some point
Make warning “launch.workingDirectory” say “cquery.launch.workingDirectory” std::sting → std::string typo fixit does replaces trailing text content/space, it should insert the new string instead of replacing, likely a bug in FixIt generation Fix show references for function declaration parameters Code lens causing screen to scroll - Microsoft/vscode#12294 Show warning for old pref names No reload notification when adding new pref that changes from default value (include.blacklist) Find ref on lambda parameter gv on variable should show variables of the same type Freshen should drop existing index labeled stack traces on linux Insert include by typing a symbol (ie, global symbol search) see if we can set code lens command title to show custom string Prefer smallest path found for include when scanning Clickable controls in tooltips - Microsoft/vscode#29076 See if we can integrate commit characters for code completion Auto-implement doesn’t strip override Auto-implement select implemented content for fast ctrl-x ctrl-v Call tree in context menu Call tree - use icon for base/derived calls Completion list private with - or similar Don’t show errors for ie, *.mojom files Add task to reload compile_commands.json Call tree should store index lines and look it up when the user requests goto definition Add task to drop existing index and do a fresh import Reparse top document - might be possible by hooking directly into extension API and sending a notification $cquery/onView Call hierarchy; show class name and line, skip column MyMethod (Foobar:3). If no class name show file MyMethod (foo.cc:3) Call hierarchy: sort by file and then by location in that file Call tree fails on pure-virtual functions Investigate jemalloc Do not report global completions in certain situations, ie, o not report global completions in certain situations, ie, Example: type this: class Foo : public Bar {public: Idea: only do live-indexing after a save, but use completion thread to do it.