Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Ωραίο το Vim κτλ....

 

 

Αλλά, πώς την παλεύετε χωρίς:

 

- auto completion για ό,τι package υπάρχει εγκατεστημένο στον Η/Υ (ακόμα και χωρίς να έχει γίνει import στο αρχείο)

- auto import άρα ούτε να θυμάσαι τι γραμμή ήσουν για να επιστρέψεις, ούτε να πας στην αρχή του αρχείου και ούτε να γράφεις το import για το package

- go to: symbol, file, class όπου έχει επίσης auto complete για να πλοηγηθείς σε αρχείο, symbol ή class... και δεν είναι ότι πλοηγείσαι αλλά ότι έχει auto complete... σιγά μην θυμάμαι ακριβώς το τάδε file, symbol ή class

- rename όπου κάνοντας rename μία function/method σε ένα αρχείο γίνεται αυτόματα rename όπου αλλού την καλείς στο ίδιο project (project = multiple files)

- documentation pop up όπου μπορείς να δεις το documentation

- arguments pop up όπου όταν γράφεις την κλήση μίας function/method βγαίνουν τα arguments σε pop up και εάν έχουν σεταριστεί σε documentation τα types τότε υπάρχει και type στο pop up

- debugger με view όλων των μεταβλητών

- interactive console όπου δεν είναι το θέμα ότι υπάρχει το interactive console αλλά ότι με cmd+shift+e εκτελείς τον επιλεγμένο κώδικα στο console το οποίο έχει κι debugger και variables view

- τέλος, για το κερασάκι στην τούρτα, χωρίς integration με project management systems όπως Redmine, JIRA, GitHub, GitLab κτλ (αναλόγως τι χρησιμοποιεί ο καθένας) όπου φαίνονται τα ανοιχτά tasks, μπορείς να χειριστείς τα tasks κατευθείαν από το IDE κτλ

 

Φυσικά και μιλάω για PyCharm.

  • Like 2
Δημοσ.

Διάβασα λίγο διαγώνια, αλλά νομίζω ότι όλα όσα αναφέρεις γίνονται.

Ενδιαφέρον! Τσέκαρε μία όλα τα points πιο αναλυτικά.

Δημοσ.

Δεν είναι το γιατί, αλλά η ζωή ενός Vim user. Το γιατί μπορείς να το βρεις εύκολα στο google.

 

ACT I

Μέσα σε περίπου μισή ώρα βγάζεις τον vimtutor όπου μαθαίνεις τις βασικές εντολές.

Μέσα σε περίπου μία βδομάδα χρήσης (καταναγκαστικών έργων) μαθαίνεις να χρησιμοποιείς το 10% των βασικών εντολών που παρουσιάζει ο vimtutor και ήδη αρχίζεις να νιώθεις τη δύναμη.

Μετά θες κι άλλο, οπότε μπορεί να ξαναδείς τον vimtutor ή θα ψάχνεις how to.

Τέλος, θα έχεις εθιστεί τόσο πολύ που θα ψάχνεις να δεις αν κάνει τρελά πράγματα και όντως μπορείς να τα κάνεις. Έτσι θα φτιάξεις ένα δικό σου .vimrc, με το οποίο θα τρώγεσαι για μια ζωή.

Θα συνεχίσεις να ψάχνεις how to.

 

ACT II

Θα έχεις συνηθίσει τόσο πολύ στην ιδέα του όλα-με-το-keyboard, που θα αρχίζεις να ψάχνεις για εφαρμογές που δουλεύουν έτσι. Οπότε και θα εγκαταστήσεις tmux και προφανώς δε θα ενεργοποιήσεις την υποστήριξη για ποντίκι. Με το tmux Θα φας το πολύ 2-3 μέρες για να το συνθίσεις, αλλά όταν το κάνεις θα πιστεύεις πως έκανες την καλύτερη επένδυση για να συντροφεύσεις το vim.

Ξαφνικά το ποντίκι σου έχει αραχνιάσει και αγοράζεις touchpad (αν δεν έχεις laptop) για να βρεις χώρο και για το 10ο δάκτυλο (αν δεν το έχεις κάνει ήδη).

 

...(μέχρι εδώ έχω φτάσει εγώ προσωπικά, οπότε και μέχρι εδώ μου έχει ξεδιπλωθεί ο κόσμος του όλα στο terminal emu.)

Έχεις εμπειρία απο screen; Γιατί προτιμάς tmux;

Δημοσ.

Έχεις εμπειρία απο screen; Γιατί προτιμάς tmux;

Πήγα κατευθείαν σε tmux χωρίς να το πολυψάξω. Στην ουσία ήθελα ένα εργαλείο για pair programming από terminal. Πρότειναν tmux, το οποίο είναι multiplexer, οπότε ξετρελάθηκα. Ένα τέτοιο tool καταστρέφει το terminator, το οποίο για κάποιο λόγο δε το συμπαθούσα. Οπότε και δε μπορώ να τα συγκρίνω. Με ένα γρήγορο search πάντως βρήκα κάποια vs. [1, 2].

  • Like 1
Δημοσ.

Ορισμένα από αυτά που αναφέρεις προσωπικά τα θεωρώ nice to have αλλά στην πράξη trivialities.
Η ποιότητα της υποστήριξης κάποιων από τα υπόλοιπα εξαρτάται και από τη γλώσσα που σε ενδιαφέρει φυσικά. Στις compiled γλώσσες, είναι φυσικό το refactoring κτλ να είναι πιο ισχυρό.
Για python γενικά δοκίμασε αυτό: https://github.com/klen/python-mode

> auto completion για ό,τι package υπάρχει εγκατεστημένο στον Η/Υ (ακόμα και χωρίς να έχει γίνει import στο αρχείο)
> auto import άρα ούτε να θυμάσαι τι γραμμή ήσουν για να επιστρέψεις, ούτε να πας στην αρχή του αρχείου και ούτε να γράφεις το import για το package

Code completion υπάρχει φυσικά. Το auto import το θεωρώ triviality και ιδίως σε κάτι σαν το vim καθώς μπορείς να μετακινηθείς μέσω marks είναι πρακτικά άχρηστο.

> go to: symbol, file, class όπου έχει επίσης auto complete για να πλοηγηθείς σε αρχείο, symbol ή class... και δεν είναι ότι πλοηγείσαι αλλά ότι έχει auto complete... σιγά μην θυμάμαι ακριβώς το τάδε file, symbol ή class

 

Υπάρχουν.

- rename όπου κάνοντας rename μία function/method σε ένα αρχείο γίνεται αυτόματα rename όπου αλλού την καλείς στο ίδιο project (project = multiple files)

Η διαδικασία ονομάζεται «refactoring» για python υποστηρίζει το rope αλλά του pycharm είναι καλύτερo. Tο rope είναι λίγο αργό. Πάντως και το pycharm παθαίνει κοκομπλόκο αν κάνεις αλχημείες με setattr, getattr και άλλα δυναμικά features (κάτι το οποίο φυσικά είναι bad practise)κτλ.

 

> documentation pop up όπου μπορείς να δεις το documentation

 

Υποστηρίζεται

 

> arguments pop up όπου όταν γράφεις την κλήση μίας function/method βγαίνουν τα arguments σε pop up και εάν έχουν σεταριστεί σε documentation τα types τότε υπάρχει και type στο pop up

 

Yποστηρίζεται. Για τα types δεν είμαι σίγουρος. Δεν έχω δει και καμία βιβλιοθήκη που να έχει annotations για να είμαι ειλικρινής. λογικά θα στο δείχνει στο pop up του documentation.

 

> debugger με view όλων των μεταβλητών

 

Ο μόνος λόγος που ανοίγω pycharm. Πάντως δες και το pudb. Συμπυκνωμένη καύλα :P

 

> interactive console όπου δεν είναι το θέμα ότι υπάρχει το interactive console αλλά ότι με cmd+shift+e εκτελείς τον επιλεγμένο κώδικα στο console το οποίο έχει κι debugger και variables view

 

Triviality. Σε οποιοδήποτε non-trivial πρόγραμμα πρακτικά δεν δουλέυει (πχ μια μέθοδος κτλ)

 

> τέλος, για το κερασάκι στην τούρτα, χωρίς integration με project management systems όπως Redmine, JIRA, GitHub, GitLab κτλ (αναλόγως τι χρησιμοποιεί ο καθένας) όπου φαίνονται τα ανοιχτά tasks, μπορείς να χειριστείς τα tasks κατευθείαν από το IDE κτλ

 

Υπάρχουν για κάποια (πχ github). Σίγουρα σε πλατφόρμες όπως το redmine τα vim plugins δεν θα είναι τόσο γυαλισμένα όσο το pycharm + προσωπικά θεωρώ ότι το ουσιώδες interaction (reference, close issues κτλ) το κάνεις μέσω git hooks.

  • Like 2
Δημοσ.

Ορισμένα από αυτά που αναφέρεις προσωπικά τα θεωρώ nice to have αλλά στην πράξη trivialities.

Η ποιότητα της υποστήριξης κάποιων από τα υπόλοιπα εξαρτάται και από τη γλώσσα που σε ενδιαφέρει φυσικά. Στις compiled γλώσσες, είναι φυσικό το refactoring κτλ να είναι πιο ισχυρό.

Για python γενικά δοκίμασε αυτό: https://github.com/klen/python-mode

 

> auto completion για ό,τι package υπάρχει εγκατεστημένο στον Η/Υ (ακόμα και χωρίς να έχει γίνει import στο αρχείο)

> auto import άρα ούτε να θυμάσαι τι γραμμή ήσουν για να επιστρέψεις, ούτε να πας στην αρχή του αρχείου και ούτε να γράφεις το import για το package

Code completion υπάρχει φυσικά. Το auto import το θεωρώ triviality και ιδίως σε κάτι σαν το vim καθώς μπορείς να μετακινηθείς μέσω marks είναι πρακτικά άχρηστο.

 

> go to: symbol, file, class όπου έχει επίσης auto complete για να πλοηγηθείς σε αρχείο, symbol ή class... και δεν είναι ότι πλοηγείσαι αλλά ότι έχει auto complete... σιγά μην θυμάμαι ακριβώς το τάδε file, symbol ή class

 

Υπάρχουν.

 

- rename όπου κάνοντας rename μία function/method σε ένα αρχείο γίνεται αυτόματα rename όπου αλλού την καλείς στο ίδιο project (project = multiple files)

Η διαδικασία ονομάζεται «refactoring» για python υποστηρίζει το rope αλλά του pycharm είναι καλύτερo. Tο rope είναι λίγο αργό. Πάντως και το pycharm παθαίνει κοκομπλόκο αν κάνεις αλχημείες με setattr, getattr και άλλα δυναμικά features (κάτι το οποίο φυσικά είναι bad practise)κτλ.

 

> documentation pop up όπου μπορείς να δεις το documentation

 

Υποστηρίζεται

 

> arguments pop up όπου όταν γράφεις την κλήση μίας function/method βγαίνουν τα arguments σε pop up και εάν έχουν σεταριστεί σε documentation τα types τότε υπάρχει και type στο pop up

 

Yποστηρίζεται. Για τα types δεν είμαι σίγουρος. Δεν έχω δει και καμία βιβλιοθήκη που να έχει annotations για να είμαι ειλικρινής. λογικά θα στο δείχνει στο pop up του documentation.

 

> debugger με view όλων των μεταβλητών

 

Ο μόνος λόγος που ανοίγω pycharm. Πάντως δες και το pudb. Συμπυκνωμένη καύλα :P

 

> interactive console όπου δεν είναι το θέμα ότι υπάρχει το interactive console αλλά ότι με cmd+shift+e εκτελείς τον επιλεγμένο κώδικα στο console το οποίο έχει κι debugger και variables view

 

Triviality. Σε οποιοδήποτε non-trivial πρόγραμμα πρακτικά δεν δουλέυει (πχ μια μέθοδος κτλ)

 

> τέλος, για το κερασάκι στην τούρτα, χωρίς integration με project management systems όπως Redmine, JIRA, GitHub, GitLab κτλ (αναλόγως τι χρησιμοποιεί ο καθένας) όπου φαίνονται τα ανοιχτά tasks, μπορείς να χειριστείς τα tasks κατευθείαν από το IDE κτλ

 

Υπάρχουν για κάποια (πχ github). Σίγουρα σε πλατφόρμες όπως το redmine τα vim plugins δεν θα είναι τόσο γυαλισμένα όσο το pycharm + προσωπικά θεωρώ ότι το ουσιώδες interaction (reference, close issues κτλ) το κάνεις μέσω git hooks.

 

 

 

Thnx για το heads up. 

 

Προσωπική γνώμη follows. 

 

Για το redmine (που είναι το last και δεν κάνω scroll για να το δω): Το συγκεκριμένο υποστηρίζει issue status handling μέσω commit messages. Επιπροσθέτως, έχεις σε κάθε issue μία περιγραφή. Αυτή μπορείς να την δεις μέσα από το PyCharm. Στα γρήγορα, συνδέεσαι στο redmine μέσω PyCharm και βλέπεις τα issues που έχεις για συγκεκριμένο project ή όλα τα projects (έχεις επιλογή). 

 

Για το arguments...

Σε κάθε method/function, όταν την γράφεις, βγαίνει ένα pop up που λέει τα ορίσματα. Αυτό το συνηθισμένο pop up σε όλα τα IDE που λέει τι arguments (names και, if applicable, types) παίρνει η method/function. Στο PyCharm (φαντάζομαι και σε άλλα) υπάρχει shortcut που εάν το "χάσεις" το ξαναβγάζεις και βλέπεις τι γίνεται. Με σωστό naming στα arguments έχεις καλό οδηγό για να σου θυμίσει τι πάει πού. 

 

Το refactoring έχει περισσότερα στο PyCharm για αυτό αναφέρθηκα στο rename. Π.χ., πέρα από το όνομα μπορείς να αλλάξεις και το signature. Άρα, όχι refactoring αλλά rename :)

 

 

Για το interactive console, μπορεί να είναι triviality αλλά προσωπικά το έχω βρει αρκετά χρήσιμο όταν χτίζω κάτι εξ αρχής ή όταν θέλω να τεστάρω κάτι για το proof of concept. Επίσης, και στο PyCharm, μπορείς να κάνεις import το αρχείο .py που δουλεύεις από πάνω για να το έχεις στην κονσόλα. Οπότε, εάν έχεις imports που χρειάζεσαι είτε κάνεις "execute to console" τα imports είτε τα γράφεις manually. 

 

 

Αλλά, είπαμε, προσωπική γνώμη. Σε κάθε περίπτωση thnx για το info. 

Δημοσ.

Cool mate,

 

Απλά να πούμε και το αυτονόητο, ότι όλα αυτά είναι απλά tools of the trade. Αν δεν ξέρεις το trade, δε σε σώζει ούτε το vim, ούτε το pycharm ούτε τίποτα :P


edit

Για την ιστορία, το να εκτελείς snippets γίνεται τελικά μέσω αυτού: https://github.com/ivanov/vim-ipython

Πιθανότατα υπάρχουν και άλλα

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...