groot Δημοσ. 29 Μαρτίου 2016 Δημοσ. 29 Μαρτίου 2016 Ωραίο το 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. 2
pmav99 Δημοσ. 29 Μαρτίου 2016 Δημοσ. 29 Μαρτίου 2016 Διάβασα λίγο διαγώνια, αλλά νομίζω ότι όλα όσα αναφέρεις γίνονται. 1
groot Δημοσ. 29 Μαρτίου 2016 Δημοσ. 29 Μαρτίου 2016 Διάβασα λίγο διαγώνια, αλλά νομίζω ότι όλα όσα αναφέρεις γίνονται. Ενδιαφέρον! Τσέκαρε μία όλα τα points πιο αναλυτικά.
Ψιτ Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Δεν είναι το γιατί, αλλά η ζωή ενός 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;
gon1332 Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Έχεις εμπειρία απο screen; Γιατί προτιμάς tmux; Πήγα κατευθείαν σε tmux χωρίς να το πολυψάξω. Στην ουσία ήθελα ένα εργαλείο για pair programming από terminal. Πρότειναν tmux, το οποίο είναι multiplexer, οπότε ξετρελάθηκα. Ένα τέτοιο tool καταστρέφει το terminator, το οποίο για κάποιο λόγο δε το συμπαθούσα. Οπότε και δε μπορώ να τα συγκρίνω. Με ένα γρήγορο search πάντως βρήκα κάποια vs. [1, 2]. 1
pmav99 Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Ορισμένα από αυτά που αναφέρεις προσωπικά τα θεωρώ 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. Συμπυκνωμένη καύλα > 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. 2
groot Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Ορισμένα από αυτά που αναφέρεις προσωπικά τα θεωρώ 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. Συμπυκνωμένη καύλα > 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.
pmav99 Δημοσ. 31 Μαρτίου 2016 Δημοσ. 31 Μαρτίου 2016 Cool mate, Απλά να πούμε και το αυτονόητο, ότι όλα αυτά είναι απλά tools of the trade. Αν δεν ξέρεις το trade, δε σε σώζει ούτε το vim, ούτε το pycharm ούτε τίποτα edit Για την ιστορία, το να εκτελείς snippets γίνεται τελικά μέσω αυτού: https://github.com/ivanov/vim-ipython Πιθανότατα υπάρχουν και άλλα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα