Плагин для форматирования кода

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Плагин для форматирования кода

Post by se7h »

Instructor
Как насчёт создания плагина для форматирования кода, точнее для привязки сторонних форматеров, таких как HTML Tidy и др?

вот подобный плаг для нп++

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

неужели подобное никому не нужно? :shock:

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

se7h
программисты пользуются IDE, которые предоставляют не только удобное средство редактирования, но и чисто программистские функции: компиляция, отладка, анализ, рефакторинг, rapid development tools и т.д. и т.п. И оперируют они не только текстовыми файлами, а также более специфическими понятиями. На то они и IDE - integrated development environment. Из текстового редактора делать IDE всё равно что зубочисткой копать траншею - ты то выкопаешь, но намучаешься...
Главное чтобы Акел не вешался, меньше кушал, быстро загружался. А плагины - не должны ориентироваться на определенный тип содержимого(иначе это уже IDE)

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

для создания статических HTML-страниц и CSS-таблиц AkelPad'a хватает, да и не потаскаешь на флешке IDE типа Eclipse, скорость работы, как было замечено, не та
Акель закаляет волю, а IDE разжижает мосх, если Вы понимаете о чём я :lol:

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Акель закаляет волю, а IDE разжижает мосх, если Вы понимаете о чём я
Закаляешь волю? Отключай подсветку и сворачивание )))
А форматировать код можно и сторонними утилитками

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Fr0sT wrote:
Акель закаляет волю, а IDE разжижает мосх, если Вы понимаете о чём я
Закаляешь волю? Отключай подсветку и сворачивание )))
А форматировать код можно и сторонними утилитками

:-D для подобного брутала существует стандартный блокнот

если говорить серьезно, то акель я ценю прежде всего за безглючность и скорость

и всё же интересно, можно состыковать HTML Tidy и АП с помощью скрипта?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »


Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

"Российскому флоту быть" (c)

Post by private_joker »

se7h wrote:неужели подобное никому не нужно? :shock:
Мне нужно :3
Попробую написать для AStyle (претифер для си, плюсов, сишарп, жабы). Не всегда хочется запускать ИДЕ, если какие то мысли есть, т.е. требуют изложения без сборки проекта.
В принципе не сложно, но с учетом того, что я не матерый Ъ-сишник и не ас pure WinApi требует некоторого времени (быстро и красиво конечно могу, на плюсах и гуи с wxWidgets, на котором по большей части я и "лабаю" для выни, но размером в бегамайт... думаю такой плагин никому не нужен будет). Апи референс тоже ммм.. непривычно для ОС проекта, в том плане что привычней (мне) пройтись по сорцам doxigen-ом (если справки нет), тут я немного огорчился.
Я ленив конечно безмерно и был бы счастлив если бы уважаемый автор либо кто-то другой написал, но паrни не хотят-с.

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Было бы замечательно :)

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Instructor wrote:se7h
ExecTool.js
что-то у меня так и не получилось отформатировать HTML как мне нужно с помощью этого скрипта, почему-то tidy не реагирует на конфиг

Code: Select all

var pToolFlags="-config htmltidy.cfg";
но форматирует почему-то с дефолтными настройками

содержание htmltidy.cfg

Code: Select all

indent:yes
indent-spaces:4
input-xml:yes
markup:yes
output-xml:yes
quiet:yes
wrap:0
wrap-asp:yes
wrap-attributes:yes
wrap-jste:yes
wrap-php:yes
write-back:yes
char-encoding:raw
numeric-entities:yes

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Instructor:
какие Ваши предположения?

ещё вопрос, как задать относительный путь к tidy, с помощью %a не получилось

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

se7h
...почему-то tidy не реагирует на конфиг...
Попробуйте указать полный путь к htmltidy.cfg.
...с помощью %a не получилось

Code: Select all

var pToolPath=AkelPad.GetAkelDir() + "\\AkelFiles\\Tools\\tidy.exe";

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Если вручную вбить в командную строку результат, полученный суммой pToolPath + " -config " + pConfigPath + " " + pTmpFile, файл без проблем обрабатывается TiDy (скачать), но вот в скрипте строка WshShell.Run("%COMSPEC% /c " + pToolPath + " -config " + pConfigPath + " " + pTmpFile, 0, true); упорно не хочет срабатывать

Code: Select all

/// Process current file in external tool

var WshShell=new ActiveXObject("WScript.shell");
var fso=new ActiveXObject("Scripting.FileSystemObject");

var pToolPath=AkelPad.GetAkelDir() + "\\AkelFiles\\Plugs\\HTMLTidy\\tidy.exe";
var pConfigPath=AkelPad.GetAkelDir() + "\\AkelFiles\\Plugs\\HTMLTidy\\tidy.cfg";
var hEditWnd=AkelPad.GetEditWnd();
var pTmpFile;
var pText;

if (pTmpFile=CreateTempFile()) {
	AkelPad.SaveFile(hEditWnd, pTmpFile, 1251, true, false);

	if (pToolPath.search(/ /) != -1)
		pToolPath="\"" + pToolPath + "\"";
	if (pConfigPath.search(/ /) != -1)
		pConfigPath="\"" + pConfigPath + "\"";
	if (pTmpFile.search(/ /) != -1)
		pTmpFile="\"" + pTmpFile + "\"";
	WshShell.Run("%COMSPEC% /c " + pToolPath  + " -config " + pConfigPath + " " + pTmpFile, 0, true);

	pText=AkelPad.ReadFile(pTmpFile);
	AkelPad.SetSel(0, -1);
	AkelPad.ReplaceSel(pText);

//	fso.DeleteFile(pTmpFile);
}


//Functions
function CreateTempFile() {
	var oTmpFolder;
	var oTmpFile;
	var pTmpName;

	if (oTmpFolder=fso.GetSpecialFolder(2 /*TemporaryFolder*/)) {
		pTmpName=fso.GetTempName();
		if (oTmpFile=oTmpFolder.CreateTextFile(pTmpName))
			oTmpFile.Close();
		return (oTmpFolder.Path + "\\" + pTmpName);
	}
	return "";
}


Code: Select all

indent-attributes: yes
indent: yes
indent-spaces: 4
markup: yes
output-xhtml: yes
quiet: yes
wrap: 0
wrap-asp: yes
wrap-attributes: yes
wrap-jste: yes
wrap-php: yes
write-back: yes
char-encoding: raw
numeric-entities: yes
show-errors: 0
tab-size: 4


ничего не пойму :?

гуру, помогите

private_joker
скрипт для подключения AStyle

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

благодаря совету DV проблема решена

Offline
Posts: 84
Joined: Fri May 28, 2010 1:28 pm

Post by private_joker »

se7h wrote: private_joker
скрипт для подключения AStyle
От спасибо. Ато я плагин начал писать да бросил.
Post Reply