4 ms·
> "That's decidedly not true. Nor is this about customization of workflows. I am talking about actual unadulterated power to do things you cannot do in an IDE.
by ZenoArrow 11y ago
> "That's decidedly not true. Nor is this about customization of workflows. I am talking about actual unadulterated power to do things you cannot do in an IDE. All IDEs optimize for the average use case. If they do expose a set of advanced commands or transformations, they are hidden deep in the menus and what you can do with them is extremely rigid and limited. At most you have a few dozen commands (you would call them menus) available."
Something tells me instead of telling you what you can customise in good IDEs I should show you. With that in mind, tell me something I shouldn't be able to customise in Visual Studio and I'll show you how its done. To start this off, here's how to create custom keyboard shortcuts, as you can see it's very easy to do:
https://visualstudiomagazine.com/blogs/tool-tracker/2012/07/create-keyboard-shortcuts.aspx https://visualstudiomagazine.com/blogs/tool-tracker/2012/07/...
- super_mario 11y agoYou are assuming I never use any GUI tools or never try IDEs. I do. I know how customizable most of them are (all except XCode which is absolute garbage). And you can spend a lot of time doing that (writing your own extensions or invoking those external command line tools on your text selections etc), but why bother spending time on that when I can use those tools directly in the command line? And if I'm going to write an extension (that's already programming something) then I might as well do it in the command line, and use it anywhere I can edit text.
- ZenoArrow 11y agoCan you give me one example of a command line tool you wrote to help you get your work done?
- super_mario 11y agoJust today I wrote a custom git command to help me sync my branch with master without having to first git checkout master, git pull, git checkout <my_branch>, git rebase master and deal with conflicts. I chose BASH for my language of choice, but could have use Python or Ruby or anything that the shell can execute.
- throwanem 11y agoIn Visual Studio, creating a custom keybinding appears to involve three dropdown menus, a dialog box, and at least two UI controls. In Emacs or Vim, it's a single line of code you add to your initialization file. I think there may be different definitions of "easy" in play here. I'll concede that Visual Studio makes custom keybindings possible, but so does any text editor worthy of even momentary consideration as a professional tool. And I'll take your challenge. Here's something I can do in Emacs: I can take a spreadsheet received from a client, full of intended configuration settings for a custom internal application. I can export it as CSV, load it in Emacs as such, and extract the relevant sections of the content into tables in a plaintext Org-mode document. I can then add a function to that document, in whatever language I choose, which will receive the contents of those tables as structured data in the language's own idiom, and generate the collection of complex SQL statements necessary to implement the desired configuration. From there I can decide whether I want this SQL script inserted into the document I'm writing, or written out to a file that I can copy to a remote host and feed to the SQL monitor. Or I can instead have Emacs itself connect to the target RDBMS and apply the configuration directly. Or any combination of those. And once the document's written, I can do all this with a single keystroke. Another single keystroke exports the document to HTML, so I can share it with the client to demonstrate exactly how their intent has been translated to reality, and with colleagues so they can see what's been done. Perhaps that sounds fantastic to some. For me, it's Thursday before last. It took a little less than an hour. I'm sure Visual Studio suits your needs quite well. I'm glad of that; everyone should have a tool that does what they need it to. But Visual Studio, from all I've seen of it, does very little to expand the scope of what you can do. Those of us who are fond of Emacs or Vim are so because, by comparison with something like Visual Studio, Emacs and Vim give you superpowers.
- ZenoArrow 11y ago> "And I'll take your challenge. Here's something I can do in Emacs: I can take a spreadsheet received from a client, full of intended configuration settings for a custom internal application. I can export it as CSV, load it in Emacs as such, and extract the relevant sections of the content into tables in a plaintext Org-mode document. I can then add a function to that document, in whatever language I choose, which will receive the contents of those tables as structured data in the language's own idiom, and generate the collection of complex SQL statements necessary to implement the desired configuration. From there I can decide whether I want this SQL script inserted into the document I'm writing, or written out to a file that I can copy to a remote host and feed to the SQL monitor. Or I can instead have Emacs itself connect to the target RDBMS and apply the configuration directly. Or any combination of those. And once the document's written, I can do all this with a single keystroke. Another single keystroke exports the document to HTML, so I can share it with the client to demonstrate exactly how their intent has been translated to reality, and with colleagues so they can see what's been done." Okay, so let's look at this. If I've understood correctly, you want to be able to generate data migration code based on a CSV file, and export that code so that it's ready to be inserted into documentation, is that a fair assessment? So for Visual Studio, one way to do this would be to write a custom runner for Fluent Migrator: https://github.com/schambers/fluentmigrator https://github.com/schambers/fluentmigrator https://www.nuget.org/packages/FluentMigrator/ https://www.nuget.org/packages/FluentMigrator/ https://www.nuget.org/packages/FluentMigrator.Tools/ https://www.nuget.org/packages/FluentMigrator.Tools/