The injectVars part of the description, must point to a function, which returns an object (see e.g. the timelion sources).
This values are mostly used for to read out configuration options and make them available in the sources. The variables you return here, can either be injected in Angular by their name, or you have access to them via:
import chrome from 'ui/chrome';
chrome.getInjected('name-here', 'default-value-if-not-present');
The uses key is used to declare "dependencies" and used to build bundles later on. Orientate yourself at the existing plugins (mostly the list above) to see possible values, and only inject what you need in your application.
So "requests", "response", "table", "statistics" and "debug" are existing spy modes. If you don't want to add anything new to this debug panel, you won't need it.
In general I would recommend, that you try start building what you need, and only look into these if you have the feeling something isn't working for you.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.