我写了一个 Eclipse 插件,它可以用来创建带有模板代码的 JavaScript 文件。
目前我正在使用JavaScript Development Tools
,它包括该formatter
功能。
我想要的是,一旦我的插件创建了一个新的 JavaScript 文件(它写在一行没有格式化),我想formatter
在我的插件中调用该函数来立即格式化代码。
是否有可能做到这一点?
我写了一个 Eclipse 插件,它可以用来创建带有模板代码的 JavaScript 文件。
目前我正在使用JavaScript Development Tools
,它包括该formatter
功能。
我想要的是,一旦我的插件创建了一个新的 JavaScript 文件(它写在一行没有格式化),我想formatter
在我的插件中调用该函数来立即格式化代码。
是否有可能做到这一点?
我正在使用org.eclipse.wst.jsdt.feature
插件。
以编程方式格式化 JavaScript 代码的用法与处理 Java 代码的方式相同。
如下:
Map<?, ?> setting = DefaultCodeFormatterConstants.getEclipseDefaultSettings();
CodeFormatter formatter = ToolFactory.createCodeFormatter(setting);
TextEdit edit = formatter.format(CodeFormatter.K_JAVASCRIPT_UNIT, js,
0, js.length(), 0, StringUtil.NEW_LINE);
if (edit == null)
return js;
IDocument doc = new Document(js);
try {
edit.apply(doc);
} catch (Exception e) {
e.printStackTrace();
return js;
}
return doc.get();
您需要提及的是,您需要从org.eclipse.wst.jsdt
.
import org.eclipse.jface.text.Document;
import org.eclipse.jface.text.IDocument;
import org.eclipse.text.edits.TextEdit;
import org.eclipse.wst.jsdt.core.ToolFactory;
import org.eclipse.wst.jsdt.core.formatter.CodeFormatter;
import org.eclipse.wst.jsdt.core.formatter.DefaultCodeFormatterConstants;