vs code - zamiana pliku zródłowego.

0

Czy da się w jakiś sposób w vscode aby podmienić kod zanim zostanie wysłany do kompilacji przez typescript. Chodzi o stworzenie takiego middleweare aby przemielić kod który napisaliśmy na coś innego.-a właściwie inaczej, przesłanie do kompilatora ts innego kodu?

0

Ale czemu? TS jest tego typu transpilerem, bo zamienia TS w JS.

1

wygląda na to, że pod transpilację TypeScriptu można się podpiąć, pisząc własny "transformer":
https://blogs.u2u.be/diedrik/post/typescript-transformers-transform-and-rise-up

Ale nie używałem tego, teraz tylko w Google znalazłem. Ale z tego co tam piszą, to można tam ingerować w kod na poziomie AST.

1

Myślę, że lepiej dla Ciebie będzie, jeśli powiesz nam po co chcesz to zrobić (co chcesz tym osiągnąć), żebyśmy mogli powiedzieć Ci że w ten sposób się tego nie robi.
;-)

0

a: string = ''." ===> string a = ''."
taka zamianka w ts, aby można było zamienić to kolejnością.
ogólnie aby pisać ts w sposób jak się to pisze w języku np. c++

1
phanc napisał(a):

a: string = ''." ===> string a = ''."
taka zamianka w ts, aby można było zamienić to kolejnością.
ogólnie aby pisać ts w sposób jak się to pisze w języku np. c++

ale po co robić z TypeScripta coś, czym on nie jest i co nie daje nic, poza subiektywnym poczuciem estetyki, że się pisze typy w stylu C++, a nie w stylu Pascala (nawet jeśli składnia C++ jest bardziej zwięzła, bo nie trzeba pisać żadnego let/const, a składnia "pascalowa" jest trochę rozwlekła).

I jak chcesz to zrobić? Manipulacje AST nie będą działać out of the box, bo ta druga wersja pewnie w ogóle się nie skompiluje. Więc musiałbyś się wpiąć jeszcze głębiej do parsera. Ew. partyzancko pojechać regexpami.

Poza tym - będziesz pisać w stylu C++, a co na to twoje IDE? Pisząc niezgodnie ze składnią danego języka, możesz stracić podświetlanie składni czy autocomplete.

Jak dla mnie lepszym podejściem będzie po prostu zaakceptowanie, że TypeScript wygląda bardziej jak Pascal, a nie C++,.

Ew. poszukanie sobie innego języka kompilowanego do JSa (albo do WebAssembly), w którym taka składnia jest możliwa (np. C++, C#). Ale pytanie, czy ma to sens.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.