Qt Creator的向导和配置设置支持变量扩展,包括JavaScript表达式的评估,例如C++类向导文件模板包含:
%{JS: Cpp.openNamespaces('%{Class}')}
Run Code Online (Sandbox Code Playgroud)
Cpp
似乎是一个全球性的对象.Qt Creator中的来源是那些定义的,哪些可用?
这些都没有记录在任何地方
JavaScript变量扩展由JsExpander
核心插件执行.扩展器可以注册QObject
实例并将它们公开为全局JS对象的属性.
要查找所有这些全局对象,请搜索registerQObjectForJs
方法调用.请参阅此方法的github搜索结果.
从Qt Creator 4.2.1开始,直到至少4.6,以下是唯一注册的对象:
Util
- 暴露Internal::UtilsJsExtension
,Cpp
- 暴露CppTools::Internal::CppToolsJsExtension
,Modeling
- 暴露ModelEditor::Internal::JsExtension
,QtSupport
- 暴露QtSupport::CodeGenerator
,Vcs
- 暴露VcsBase::Internal::VcsJsExtension
.方法参数类型通过以下方式映射到JavaScript类型QJSEngine
.例如,要获得Qt包含,可以进行以下替换:
%{JS: QtSupport.qtIncludes([ '%{Base}' ], [ '%{Base}' ])}
Run Code Online (Sandbox Code Playgroud)
鉴于签名
QString qtIncludes(const QStringList &qt4, const QStringList &qt5)
Run Code Online (Sandbox Code Playgroud)
方法列表如下.
QString toNativeSeparators(const QString &in) const;
QString fromNativeSeparators(const QString &in) const;
QString baseName(const QString &in) const;
QString fileName(const QString &in) const;
QString completeBaseName(const QString &in) const;
QString suffix(const QString &in) const;
QString completeSuffix(const QString &in) const;
QString path(const QString &in) const;
QString absoluteFilePath(const QString &in) const;
QString relativeFilePath(const QString &path, const QString &base) const;
// File checks:
bool exists(const QString &in) const;
bool isDirectory(const QString &in) const;
bool isFile(const QString &in) const;
// MimeDB:
QString preferredSuffix(const QString &mimetype) const;
// Generate filename:
QString fileName(const QString &path,
const QString &extension) const;
// Generate temporary file:
QString mktemp(const QString &pattern) const;
// Generate a ascii-only string:
QString asciify(const QString &input) const;
Run Code Online (Sandbox Code Playgroud)
// Generate header guard:
QString headerGuard(const QString &in) const;
// Fix the filename casing as configured in C++/File Naming:
QString fileName(const QString &path, const QString &extension) const;
// Work with classes:
QStringList namespaces(const QString &klass) const;
QString className(const QString &klass) const;
QString classToFileName(const QString &klass,
const QString &extension) const;
QString classToHeaderGuard(const QString &klass, const QString &extension) const;
QString openNamespaces(const QString &klass) const;
QString closeNamespaces(const QString &klass) const;
Run Code Online (Sandbox Code Playgroud)
QString fileNameToElementName(const QString &file);
QString elementNameToFileName(const QString &element);
Run Code Online (Sandbox Code Playgroud)
// Ui file related:
// Change the class name in a UI XML form
QString changeUiClassName(const QString &uiXml, const QString &newUiClassName);
QString uiClassName(const QString &uiXml);
// Generic Qt:
QString qtIncludes(const QStringList &qt4, const QStringList &qt5);
Run Code Online (Sandbox Code Playgroud)
bool isConfigured(const QString &vcsId) const;
QString displayName(const QString &vcsId) const;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
762 次 |
最近记录: |