pecko:
Formátovač v Eclipse nebere tabulátor ve vztahu k šířce řádky jako jeden znak (\t), ale jako sekvenci znaků zadané délky, takže pokud mám řádku nastavenou na 80 znaků a tabulátor na 4, tak se na ní vejde 20 tabulátorů, ne 80. A pokud řádka přesahuje přes limit, tak jí formátovač prostě v určitém místě rozdělí pomocí \n. Možná je to pro někoho neobvyklé, ale Eclipse opravdu soft zalamování (bez vkládání konců řádek) neumí. Ignorovat změny ve whitespace v diffu (alespoň u SVN klienta v rámci Eclipse) samozřejmě jde, ale to bere v potaz jenom mezery a taby, ale konce řádků to ignorovat asi neumí.
salam:
Třeba eclipsí editor pro Scalu mám pocit na konce řádků nešahá vůbec, ani je nepřidává, ani neubírá. Scala mi ale v tomhle přijde oproti Javě trochu specifická, protože jednak moc nehrozí, že by člověk psal moc dlouhé řádky (i když některé deklarace ve standardní knihovně jsou šílené) a mi přijde, že Scala je pokud jde o styl psaní dost volná, protože umožňuje zapsat jednu věc spoustu různě stručnými způsoby. Třeba místo:
def avg(x, y) = {
(x + y) / 2
}
jde napsat:
def avg(x, y) = (x + y) / 2
A podobně s closures, case bloky apod., podle potřeby to můžu loupnout přímo do jedné řádky anebo rozdělit na víc řádků a odsadit, takže nějaké automatické zalamování by nebylo moc ku prospěchu. Na druhou stranu, v Javě jsou konvence tak nějak zažité a je v běžné praxi skoro jednoznačné tu metodu napsat takhle (Allman style už je doufám přežitý):
int avg(int x, int y) {
return (x + y) / 2;
}
a ne:
int avg(int x, int y) { return (x + y) / 2; }
Defaultní nastavení v Eclipse konce řádků agresivně přidává i odebírá, což mě osobně nevyhovovalo, protože nebylo možné si podle sebe rozdělit jeden příkaz na víc řádků, takže aktuálně to mám nastavené tak, že příliš dlouhou řádku může zalomit, ale existující konce řádků smazat nemůže. Jinak bych nemohl napsat třeba něco takovéhohle:
int result = someCondition
? getResultA()
: getResultB();