Sublime Forum

The missing basic functionality thread

#5

I find myself agreeing with some of your suggestions as being appropriate to work out of the box (such as moving files around in the sidebar, file icons, notifications etc).
However keep in mind that editors like Webstorm are code editors, and Sublime doesn’t pretend to be one.
Some of your features only make sense if you’re editing code. As such, they aren’t relevant to the entirety of use cases of a text editor and so (I think) belong in the plugin territory.

0 Likes

#6

That API obviously already exists, since there are thousands of sublime packages using it today.

If you’re calling “that API” to the python extensions, then yes, of course there is one. But that API splits into different tighter APIs (such as “sidebar API”, for example). And some of those APIs are close to non existent or very poorly implemented.

The question is if the existing API provides sufficient flexibility to achieve the things you’d like to do, and if not, what needs to be added to it to do so.

Exactly this ^.

As for truly basic built-in functionality, the biggest thing I think is missing is the Package Control plugin itself - currently all first-time users have to (1) know about it, and (2) go copy-paste the install-string from the web to get it into Sublime.

Thanks for adding that stuff to the list! While it doesn’t annoy me, I believe that to be true, as well.

0 Likes

#7

 
I agree with you in most cases of core feature requests, but a majority of the functionality mentioned in the OP is not available to developers via the API.
 



 
Out of the initial recommendations, I’d say these are already pretty well handled:

See: Git, SideBarGit, GitGutter, SublimeLinter, SFTP, etc.
 



 
However, it is not currently possible to implement the rest of the recommended improvements via the API:

All of these suggestions would be beneficial to workflow efficiency, and are common in other editors.
 



 
It’s nice to see that the ST development team is growing & focusing on improving existing functionality, but I also feel that ST should be more competitive in terms of innovation.

Editors like Atom & LightTable are quickly setting new standards for what an editor should be capable of, and as a result people are going to expect more from other editors ( including Sublime Text ).

IMO both of those editors are unusably slow compared to SublimeText, but to be fair, they’re both pretty new & are still under heavy development.  If they happen to match or surpass SublimeText ( performance-wise ), and ST hasn’t managed to keep up ( with overall features & API capabilities ) I wouldn’t hesitate to make the switch.

 

Additionally; from my experience, ST’s development hasn’t been the most transparent process.

This is apparent on the forum, and also in the real world ( Not too long ago, I gave a lightning talk to 100+ people on SublimeText package development and at the end got hit with something along the lines of “I heard Sublime Text isn’t even being developed anymore, do you know anything about this?”.  This was during one of ST development’s radio silence phases, so needless to say - I did not have a great answer.  As an active advocate of this software, it doesn’t feel so great to be left in the dark at times. ).

I think, in addition to the current improvements being made in ST, a clear ( official ) development road-map would inspire confidence in those of us who actively develop packages.

Trello has a great example of such a road-map.  It documents upcoming features, those in progess, and those which have been pushed to releases.

1 Like

#8

I find myself agreeing with some of your suggestions as being appropriate to work out of the box (such as moving files around in the sidebar, file icons, notifications etc).

Great. Thanks.

However keep in mind that editors like Webstorm are code editors, and Sublime doesn’t pretend to be one.

Oh, but it does. Again: just take a peek at the changelog. For a text editor “not pretending to be a code editor” I read the word “javascript” an awful lot.

Of course, I don’t have precise statistics, but I’d like to gamble on this and say that the vast majority of paid Sublime users came here looking for an alternative to “bulky IDEs”.

Some of your features only make sense if you’re editing code.

Some. But things like “moving files around the sidebar”, we could agree it does not.

As such, they aren’t relevant to the entirety of use cases of a text editor and so (I think) belong in the plugin territory.

No feature (ever) is relevant to the “entirety of use cases”. Some features appeal to some crowds and some to others. But I’m trying to generate consensus of what the “general crowd” wants included in the editor.

0 Likes

#9

@fico Thanks for the response!

I am with you in almost every point you make. The only exception would be your opinion on how well features like git integration and such are handled.

Let’s see:

First class git integration. I wrote first class there for a reason. Git + GitGutter are not bad, mind you. But it could be way better. Not having files colored depending on whether they are dirty or not and a lack of general visual grepping of SCM status (heck, it’s even hard to see which branch you are currently working on because the same status bar is used by so many other plugins for their own messages!) are a must.

Show relevant, elegant errors/warnings to users. Which plugin does this? This is certainly not “pushing a string warning to the status bar”. The only one that comes to my mind is TypeScript-Sublime and, TBH, errors on that look horrible in Sublime compared to what the same package does on other editors.

SFTP. You got to pay for this. Won’t even comment on that.

1 Like

#10

 
I’d argue that if the API allowed for it, those features could easily be implemented into the existing plugins.

I don’t think we need an entire rewrite, just a more flexible sidebar API and maybe a GUI API that allows extension of elements like status bar, sidebar, view, etc. ( example 1, example 2 )

 

 
SublimeLinter & it’s plugins do a decent job of linting.  Although, as you mentioned, the display of lint results could be greatly improved.

Visual improvement is available via the newer popup feature, but it hasn’t yet been implemented.  IMO, this is kind of a grey area since the raw functionality already exists and the plugin just needs some improvement on it’s implementation.  Maybe submit a feature request ( and/or pull request ) to plugins where you’d like to see improved notifications.  mdpopups provides a great, easy to implement solution.

1 Like

#11

There’s a popup feature? How come we haven’t seen that around? I’ll give it a try and see if this could serve the linters in any way.

1 Like

#12

if you want to see a very basic popup, type view.run_command('show_scope_name') in the ST3 console :slightly_smiling:

it is much more powerful than that shows, however :wink:

2 Likes

#13

Well, that kind-of is where the line gets fuzzy. I’d still argue syntax highlighting alone an IDE does not make. I think you’d be hard pressed to find other features like this aimed at code writers that come out of the box.

I respect that. What I meant by “relevant to the entirety of use cases” is that features that come out of the box could be relevant to any use case, while others strictly aren’t (like file grouping by extension for example, if you don’t use file extensions this could never be relevant for you).
I feel like I’m failing at explaining myself here so if you remain unconvinced perhaps we should let it go.

I suspect that the Sublime devs see things this way as well and would be very wary of feature bloat.
For that reason I don’t believe you’ll see out-of-the-box file grouping or git integration. The other features you had stated are inherently different and arguably appropriate.

Edit: Also integrated package manager - extremely appropriate.

0 Likes

#14

Broadly agree with @fico ie. missing functionality for me is everything that is about core and API, and nothing that could be implemented with plugins were Sublime’s API sufficiently flexible. So the focus should be on the core engine, functionality, API and and UI access via APIs. With sufficient flexibility in these areas, there’s little to nothing that can’t be done with plugins. Given that Sublime’s Python plugins run with a nice turn of performance, compute intensive processing could be performed for implementing complex, language appropriate IDE-style capabilities.

With all that said, here’s some major missing stuff from my perspective, in my priority order:

  1. Macros which can record and automate every aspect of Sublime. Notably missing is find and replace functions, a major weakness of Sublime for sophisticated text manipulation.
  2. Sidebar APIs for allowing the sidebar to be populated and controlled by plugins.
  3. Sort out command line behaviour, messy at present.
  4. Improve code-folding to make it language aware and sticky for workspaces. At the moment block folding is dumb ie. based purely on indent level.
  5. Performance of editing engine for large file and long line handling. Editing massive SQL dumps is a no-go in Sublime presently, especially if they’re on one line.
  6. Greater abilities to interact with UI elements, both within the text and outside (ie. status bar)
  7. Find/replace in files that doesn’t open up all the files.
  8. More API flexibility generally, eg. ability to define text zones based on scopes which could support change events, cursor/mouse events etc.
  9. Oh, and bugfixing. There’s shedloads of little bugs (too many to mention here) which have been around since ST2. It’d be lovely to have a sustained bug-squashing effort to tidy them up.

You get the idea. Some of the above are simple, some complex, but most are about unlocking the ability for plugins to rock, while making the core editor functions fast and flexible. With that in mind, plugins could be written to do almost anything, and given the performance of Sublime’s plugins, sophisticated text processing could be automated along the lines of products like PHPstorm with comparable performance.

6 Likes

#15

Totally on board here.

This is key. I wonder what’s preventing @jps to deliver that. Time? Maybe the refactoring implications to get this working?

If that’s a “no-go” in Sublime, I wonder what would it be in other text editors/IDEs such as Eclipse.

+1

Didn’t think of that one before, but now that you’re bringing it to the table I think this needs to be on my list too.

For me, ST has the potential to become the text editor of choice for coders. The foundations are there. But for some incomprehensible reason, it has taken a turn for the worse, clearly falling behind the troupe of newcomers.

1 Like

#16

more, more API… if API will be extended, the rest of the job / missing functionality will be doing by people ( plugins etc. )

0 Likes

#17

 
That’s pretty much the entire reason ST is such a great editor.

Would you rather wait for a handful of people ( the ST dev team ) to fix all of the bugs, implement & improve basic functionality, and then get around to feature requests ( based on their personal priorities & preferences ), or just have a more powerful API so that 2k+ plugin authors can create an exponentially larger feature set at an exponentially faster rate?

0 Likes

#18

Someone could probably just write a plugin to run the find replace and then save and close the file. Would hate it if this was default functionality. I want to know every file that has changed when doing this kind of thing.

1 Like

#19

Most of the time (for me, at least), the default, mechanic chain of command is: find/replace, save all, close all tabs. That’s roughly 90% of the time. Maybe change default behaviour and make the current one opt-in?

1 Like

#20

I did pay, both for ST and plugin.
Must say working with ftp files is a pain - at best.
Stopped using it after a day.
It is sad that developer is working on thing that amuses him, and not on real user needs. (here I trust there are more users that like ST and need proper ftp functionality)

2 Likes

#21

I agree about the first-class VCS plugins and other features, however I feel that they would be best solved by having a proper UI API in Sublime. Icons, menus, GUIs, maybe even windows and HTML views. If all that was supported properly, anyone could build a “first-class” Git plugin, SFTP plugin etc. Right now, it’s just not possible to integrate with Sublime in a nice, native way.

5 Likes

#22

oh, my goodness what a bogus thread! So bogus in fact, I feel most tempted to use harsh language about it. If “this is not meant to be a rant”, quit ranting! It’s depressing. Basic features, my donkey!

I completely agree with ExoticGel:

@nfantone, who are you to judge “what inspires him”? Call you apathetic? alright I will ! And so what, even if the updates are there just to incite people to buy a license, a man has to eat. Surely the less jps or whoever has to worry about money the freer he is to work on features for Sublime.
Personally I greatly appreciate the frequent updates either way, even if they are just small adjustments… They let us know Sublime lives, even if it grows only slowly at times.

As for comparisons to Atom, LightTable, VSCode, Brackets, etc. they are all moot!! Even if they’re “still under heavy development”, they’ll never measure up to SublimeText, because they’re all BROWSERS!! with features written in JavaScript, and browsers are slow, there is no way around it. Even in a million years javascript in a browser will still be slower and far more memory hogging than something written in a native language.

Next time you think about starting a bogus thread and you’re unsure whether it will come off as ranting or whining, pause for a second… then pause for another second… then seek the flying unicorn.

If you’re asking someone for a feature for free, it doesn’t hurt to show a little respect and loyalty toward the people you hope will implement it. Ganging up all mutiny-style on the captain threatning to throw him overboard, does not get you anything; except perhaps a captainless ship…

1 Like

#23

@bnorgd

 
My only argument for you is that SublimeText is a closed-source commercial product that is competing against open-source freeware.

Since a good amount of users invest their time & energy into making Sublime Text a better editor ( via plugins, bug fixes, other enhancements, & technical support ) and/or paid for a license, I think it’s only fair that we’re also allowed to offer constructive input.  Seeing as how it is a commercial product, it only stands to gain from having satisfied users ( & developers) and improved functionality.

 

 
This is a thread, on a forum, where people share their opinions.  No one is “ganging up” on anyone.  You can choose to read the given points as “rants” or you can try to see that they mostly offer insight into what users are looking for in this particular software.

As an avid software user ( in general ), loyalty plays no part in my selection process.  Software is a means to an end, and my usage of it has everything to do with performance + efficiency and nothing to do with personal attachment.  If something better exists, I’m going to use it.  Not a threat, just a fact.  Maybe one that gives insight into a user’s perspective to the developers, or maybe not.

1 Like

#24

True. Not sure what you are arguing with this point, but fair enough. Clearly you cared enough to reply. Caring is good. Hereby rewarded with a reply of your own. However, don’t intend to pursue the point beyond the scope of this post: 1) I can do without the grief, 2) Bogus or not, I have no intension of hijacking the thread for the purpose of my own ranting.

Since when does “fair” have anything to do with it. Being able to offer input (constructive or otherwise) to a commercial product is a priviledge, not some god-given right. That said, most of this thread is all rant and whine. If you want a feature, just say, “hey, I’d really like this feature. It’d be awesome because…, I’d use it all the time :)”. Done. No need for all the whining and idle threats.

What suggested to you I was talking about anyone’s selection process? I was commenting on the idle threats, the whining and the general lack of respect.

Whether you feel genuine respect toward someone that is your business, but showing respect toward someone from whom you hope to get something, that’s just good sense; not to mention good manners.

And with that I shall take my own advice and seek the flying unicorns.

0 Likes