EmEditor & CodeBeautifier

Печать RSS
218

J
Автор
Оранжевые штаны
0
Вообщ давно уже пользуюсь EmEditor'ом.
Иногда приходиться редактировать не свой код, нашел статью EmEditor + CodeBeautifier но чет не пашет... мб ктот шарит в макросах?
J
Автор
Оранжевые штаны
0
выводит сообщение типа Код отформатирован, и стирает документ.
function CodeBeautifier() {

	CodeBeautifier = function(options) {
		this.program = "c:\\phpCB.exe";
		this.options = options || [ ];
		this.temporaryExtension = ".pbftmp";
		this.temporaryFileName = ScriptFullName + this.temporaryExtension;
	}
	var self = CodeBeautifier.prototype;

	self.beautifyFile = function(fileName) {
		if (!fileName) fileName = document.FullName;
		var command =
			[
				"cmd /c",
				this.program,
				this.options.join(" "),
				'"' + fileName + '"',
				'> "' + this.temporaryFileName + '"'
			].join(" ");

		var shell = new ActiveXObject("WScript.Shell");
		shell.Run(command, 7, true);
		return this.temporaryFileName;
	}

	self.beautifyDocument = function(doc) {
		if (!doc) doc = document;
		if (!doc.Saved) throw "Не сохраняется!";

		var tmp = this.beautifyFile(doc.FullName);
		doc.selection.SelectAll();
		doc.selection.InsertFromFile(tmp, doc.Encoding, 0);

		var fso = new ActiveXObject("Scripting.FileSystemObject");
		fso.DeleteFile(tmp);
	}

} CodeBeautifier();


var beautifier = new CodeBeautifier();

/* Настройки здесь */

beautifier.options = [
//	"--space-after-start-bracket",
//	"--space-before-end-bracket",
	"--space-after-if",
	"--space-after-switch",
	"--space-after-while",
	"--space-before-start-angle-bracket",
	"--space-after-end-angle-bracket",
	"--extra-padding-for-case-statement",
	"--one-true-brace-function-declaration",
	"--glue-amperscore",
	"--change-shell-comment-to-double-slashes-comment",
//	"--indent-with-tab",
	"--force-large-php-code-tag",
	"--force-true-false-null-contant-lowercase",
	"--align-equal-statements",
//    "--align-equal-statements-to-fixed-pos",
	"--equal-align-position 50",
	"--comment-rendering-style PEAR",
	"--padding-char-count 4",
	"--optimize-eol"
];

/* Настройки здесь */

if (!document.Saved) {
	if (confirm("Документ не сохранен\n Сохранить?")) {
		try {
			document.Save(document.FullName);
		} catch(e) {
			alert("Не удалось сохранить!");
			Quit();
		}
	} else {
		Quit();
	}
}

beautifier.beautifyDocument();
document.selection.StartOfDocument();
//alert("Полностью отформатирован!");

J
Автор
Оранжевые штаны
0
наверное буду искать ответа один...

Господин ПЖ
0
вечером скину, я только не макросом делал а добавлением программы там в батнике все, сейчас на работе
J
Автор
Оранжевые штаны
0
4. Vantuz, ок, спс smile

Господин ПЖ
0
этот код сохрани в файл phpcb.bat

@echo off
"C:\Program Files\EmEditor\phpcb\phpCB.exe" ^
--space-after-if ^
--space-after-switch ^
--space-after-while ^
--space-before-start-angle-bracket ^
--space-after-end-angle-bracket ^
--extra-padding-for-case-statement ^
--glue-amperscore ^
--force-large-php-code-tag ^
--force-true-false-null-contant-lowercase ^
--align-equal-statements ^
--comment-rendering-style PHPDoc ^
--padding-char-count 1 ^
--indent-with-tab ^
--optimize-eol %1 > %1.cb
move %1.cb %1

Добавлено через 03:51 сек.
на панеле кликаешь настроить средства
и как на скрине http://upwap.ru/1997087
Изменил: Вантуз-мен (31.01.2012 / 23:06)
J
Автор
Оранжевые штаны
0
6. Vantuz, спасибо.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск