google / WebFundamentals

Former git repo for WebFundamentals on developers.google.com
Apache License 2.0
13.85k stars 2.57k forks source link

Feedback for: /fundamentals/tools/setup/editor.html #800

Closed smhabdoli closed 10 years ago

smhabdoli commented 10 years ago

First of all thanks for the articles. I have a couple notes here, one general and one specific to this article:

  1. Please allow commenting on pages, so people can add their respective suggestions and socialize about the articles.
  2. A lot of sublime packages are pretty old, since sublime text itself seems to have stopped its dev, I wonder if it's a good idea to advertise it as the "it editor" even though I personally love and use it daily. Perhaps google might want to create a fork or a replacement editor to advertise instead. :)

Thanks again.

smhabdoli commented 10 years ago

Another suggestion is that if you're set on using sublime text to also teach how to set command key bindings, here's a short description:

  1. If you press Ctrl + ` you can bring up the command shell
  2. Type _sublime.logcommands(True)
  3. Go to Preferences and click on Package Control
  4. You'll see _command: show_overlay {"overlay": "commandpallete", "text": "Package Control: "} in the command shell
  5. Now click on Install Package
  6. You'll see _command: installpackage in the command shell window
  7. Now type _sublime.logcommands(False) in the command shell
  8. Got to Preferences and click on Key Bindings - User
  9. Now you can use the information you gathered in the command shell to create shortcut keys for the two commonly used actions you just clicked on. Create / update the Json in the sublime.keymap file with appropriate shortcut bindings for each action:
[ 
  { "keys": ["ctrl+alt+shift+p"], "command": "show_overlay", "args": { "overlay": "command_palette", "text": "Package Control: " } },
  { "keys": ["ctrl+alt+shift+i"], "command": "install_package" }
]
petele commented 10 years ago

Matt, since you're updating this section, can you take a look?

gauntface commented 10 years ago

Regarding Sublime vs Others.

I was actually VERY tempted to recommend Sublime or Atom, but Atom is simply just short of being ready. I find the two editors very similar and think that switching between the two shouldn't be hard for most users (and if they want to there isn't any need to).

The point here is to drive people to a good solid editor, not the latest and greatest. Most developers will have a preferences for what they develop with, if someone has no opinion, we want to give them one answer, not options.

A lot of your comments seem to be covered by Rob Dodsons article which we link to. http://robdodson.me/blog/2012/06/23/sublime-text-2-tips-and-shortcuts/

I'm reluctant to add in the steps above as I think it's not a thing the majority of developers would benefit from (please let me know if you disagree). Then there is the other side of this may easily change and make the documentation wrong in Sublime 3 and then we'll be in a bad situation for readers.

smhabdoli commented 10 years ago

Hi, I see your point about not wanting to give a definitive answer. However if you're familiar with the book "Predictably Irrational", one thing mentioned there is that people tend to have an affinity to their anchor point, that is what their entry point to something is: e.g. "A lot of people use windows, because that's what they learned first." I think giving a better solution, and something that has a better foundation of growth is always the best approach.

As far as being compatible with sublime text 3 goes, the suggestions I made work both in 2 and 3, so you have no worries there.

My opinion in teaching is that if you give too little people don't learn, if you give too much people again won't learn. There's a sweet spot of how much info is good enough in a session for the people to absorb and learn, and then the teacher has to prioritize what is more important and place it there. Giving a link to a site that has a lot of not that well organized parts wouldn't be something most people will click on. I'm sure if you place an analytics factor on the page you'll see that most visitors won't be clicking on the link. or actually read it. I think if you give a concise set of tools that are in an easy to read format in a box, with proper padding that makes it look emphasized enough to catch the viewer's eyes and mind, then it'll be enough for them to grasp. As customization and key bindings are extremely important for any developer, I think learning about those is of a high level of importance. I think if I were to teach a course on development, I'd definitely dedicate a big portion of the session about editors to key bindings / shortcuts.

Anyway, whatever you choose is fine, just thought I'd help. Good luck.