GUI

Suggestions about how to change/improve the GUI in TextMate. This includes restructuring the menus, changing the folding marker icons and so on.


Three areas: files, symbols, and text edit

The three main areas I always have open in textmate are: the file drawer, the text edit window, and the 'go to symbols' window, the first two are obvious, and the latter gives me a birds eye view of the class, so I can use it both to navigate and as a reference. I used to keep them in that order, from left to right. A few days back I realized that there is a hierarchy here: file, symbol, text. So I enlarged the file drawer, and placed the 'go to symbol' window in between the drawer. This little change has made navigating textmate so much more in sync with my brain: file -> method -> text. I would be nice if textmate allowed to snap a 'go to symbol' panel after the file drawer (and of course then that panel wouldn't close when pressing enter on a symbol).

--Steph Thirion


Safari-esque Find Bar

Does anyone else think that a find bar that slides down from the top (or up from the bottom) similar to the one in Safari 3 would be preferable to the Find window which I seem to have to keep moving out of the way to see what I'm doing, particularly when doing a lot of find nexts? Some might argue that this will take away some document screen real-estate but so does a floating window. The Find In Document could slide down over the document and the Find In Project could slide down over the project drawer (which I really would like to see as a sidebar but I know you've a fondness for those flippin' drawers so as long as that Missing Drawer plugin keeps on working I'll live).

It would also be handy to have a more highly visible colour used to highlight the text found in a search. I prefer to use a relatively subtle colour for highlighting text which doesn't exactly leap out at me when a find has found something. It could even be user definable.

A history of Find/Replace pairs would be nice too - I'm always searching for the same things and replacing them with the same things. These pairs might even form part of a library in each language bundle.

--Chris Stevenson

+1 to the Safari-esque find bar. I use spaces a lot, and when I type command-F when the find bar is on a different desktop I get automatically switched to that desktop. It's very disruptive.
--Anand Patil

Re: Find/Replace Pairs in search. This is a definite pain point. Also the fact that it uses system-wide search history seems like it does more harm than good. The search box feels utterly generic and not designed for usability. I know Textmate strives for simplicity as opposed to the kitchen sink approach of BBEdit, but never at the expense of usability. BBEdit's find dialog is one of its strongest points, and something TextMate could learn a lot from. History plus saved pairs, regex syntax highlighting, asynchronous / cancellable search, match counts.

--Gabe da Silveira


Automatic toggling of AntiAlias

I think the correct behaviour should be to disable AntiAlias for font sizes below the limit set in the system preferences and to enable it for larger font sizes. I find myself adjusting the font-size constantly, depening on the size of my code, the available screen space and the time of day (the later the night, the larger the font). The problem with this is that Antialiasing looks awful on small font sizes while Non-Antialiasing looks awful on larger font-sizes. OS X has a setting for this exact problem (in the Font Smoothing Preferences) and it's a bit disappointing to see Textmate ignore this setting, forcing me to manually enter the Textmate preferences and toggle AntiAliasing on and off.

I suggest replacing the On/Off Checkbox with a Dropdown to chose between Always On/Always Off/System Preference.

--Jan Myers


Dialog Keybindings

Most Mac programs have these, and TextMate should too. If I have an unsaved file and try to close it, pressing "D" on my keyboard should select "Don't Save", etc. Could we please have this little feature?

MacOS has a default binding to all it's Save Dialouges. You can hit Enter to click the selected button, which should be "Save As" or you can always hit ⌘ + , for "Cancel" and ⌘ + D for "Don't Save" - work's in every Cocoa (and Cabon?) application i know of, in Textmate too =)
--Michael Starke

--Thomas Allen


Fortran column highlighting

It would be nice if the syntactically meaningful columns were highlighted when editing Fortran files. I always forget what goes where.

--Anand


Replace Project Drawer with an XCode-like Project Sidebar

The drawer is not as good as a sidebar because once the editor window is made full screen (while the drawer is already open) there is no way easily readjust the size of the drawer or the window. One has to make the drawer smaller and then move the window and finally change the size of the window. Or to make the drawer bigger one has to make the window smaller, move it and then enlarge the drawer.

Also, the drawer opens automatically on the right/left hand side of the window depending on available space. This is pretty annoying.

I think that the resizable sidebar panel is much more useful and easier to use.

--tomek

I totally agree. Please move the drawer to a sidebar. Drawers make baby Jesus cry. ...and thank you for the great product.

--chip ramsey

With the release of Leopard, Apple seems to have unofficially deprecated the drawer widget. Thus, a sidebar is at the top of my wishlist for TextMate 2.0

--meekish

I concur, wholeheartedly. I've always had a distaste for drawers. Further, could we maybe customize the colors? I prefer a dark theme for editing and the glaring white drawer in my peripheral vision is a bother.

--juliano

MissingDrawer Plugin: http://code.google.com/p/textmate-missingdrawer/


Enhance Bookmarks

I work with bookmarks a lot and after a while it's hard to remember where they all are. It would be great to have a cross-file bookmarks panel similar to the Go To File panel. The bookmarks panel would display a list of all the bookmarks set in the project indicating which files they belong to and showing the first few characters of the line on which the bookmark was set.

-tomek


Remember Drawer state

Since the names of my Rails docs are sometimes pretty long (fachdiskussionen_controller.rb and the like), the drawer is always too narrow. I really would appreciate it if the drawer remembered upon startup how wide it was the last time (if this is possible). Otherwise I'm quite happy with the app.

[15/08/2007] Just to add to the above. A number of people, including myself, have already suggested abandoning the drawer in favour of XCode/Mail/iTunes-like resizable Sidebar Panel.

-tomek


Refine the box used for insert entitiy in HTML-bundle. In 1.5.4 it was a popup, in 1.5.5 it is a list with a search field above. The thing is that, with the popup you could get to your wanted entity in the list by hitting space and then i.e. 'e' and then find eacute. Now you first have to hit shift-tab to get to the search field. Then tab back to the list to select the right entity. My suggestion is to use something like the go to file-dialog (command-t)


Elastic tabstops

http://nickgravgaard.com/elastictabstops/


Multiselect in Go to File

I would really like to be able to open multiple files in the ⌘T menu. By instinct, I start to "paint" files with shift-down (to get foo.rb and foo_spec.rb open at the same time). Also ⌘-clicking could be useful for selecting files.

- Mikko Lehtonen


Introspection for keyboard shortcuts

Right now it's a pain to work with shortcuts in TextMate. The only way to find out what a shortcut does is hitting it and see what happens. This is especially painful when you're trying to find a free one when adding things. There's a "Keyboard Shortcuts List", but it seems to be static - change some shortcuts and the list will still display the default ones. You also can't search there or sort it in any way.

The fact that there are actually no less than three different ways shortcuts are defined (Cocoa-keybindings, Menu Equivalent keys and those shortcuts defined in a bundle) makes this even more trouble-prone.


vertical lines to indicate tab indentation levels

very simple, in BBedit and TextWrangler you can have "show tab stops" (view>Text Display> show tab stops) and this places light grey vertical lines spaced with the same spacing as a tab symbol. This lets you very easily scan down with your eyes to see the end of a function, case etc... and also that you have the indentation correct. I find it much easier to view my code with this enabled and would hugely appreciate it

many thanks, just discovered textmate and it is amazing, took a few hours, but truly amazing!

-James Churchman

I have to second this. It's amazing how often this turns out to be useful. Especially if you write any amount of Python or Makefile code.

--jeh

+1 for a way to add vertical lines to indicate tab stops

-Keith Morrison

It would be especially helpful if you could make them appear/disappear by holding down a modifier key, and if it could show only the one (or two) that are closest to the I-beam or cursor.

-Avram


Tear-off tabs or similar

It would be nice to be able to tear off tabs so that you can see a couple of documents from the same project on-screen at once.

-Alistair Holt


Fullscreen Editing

There should be a mode where TextMate switches to a fullscreen mode. The sidebar could be something like a navigation bar like in this wiki. For an example see http://www.hogbaysoftware.com/product/writeroom (This is a very simple notepad but the fullscreen mode is really something that works for me.

-Martin

Solution: Check out MegaZoomer - http://www.ianhenderson.org/megazoomer.html This is a SIMBL plugin that enables any Cocoa app to be full screened. I use it with TextMate and Terminal all of the time and it works great.

-barry

New Issue: MegaZoomer seems pretty cool. I've installed it for other purposes. But the nifty thing about WriteRoom is that it offers adjustable margins. Basically you can put a single column of text a few inches wide running down the center of your screen where you can focus. Megazoomer just blows up the whole window to fill the screen. On a widescreen MacBook that's overkill if you wanted soft word wraps.

-Jonathan

Yes, please! I second that strongly. Writeroom-alike mode would be very useful!

-Patrick


File Browswer Theme

The Drawer (or Side Panel, should you choose to implement it as such, which I firmly support), should be able to be themed similarly to how the editing window is themed. I prefer dark themes and try to match my screens brightness with the ambient light, since this is best for ones eyes. The fact that the drawer always remains bright white, however, reduces this effect since glancing back and forth requires ones eyes to dilate and contract often. It would be great if the colors were user configurable.

-Juliano

P.S. I Love TextMate


Drawer

I want the be able to view the multiple files drawer at all time. I also would like any opened file to be opened in the drawer. This makes it very much easier to handle multiple files. TextWrangler does it like this and it works. Please change this! Great app though.


Open multiple files from ftp in a single window

I use Interarchy (many ftp clients do the same) and I can edit a remote file in TextMate. It would be great if many different files could be opened in the same window, even if they are not clicked-for-editing at the same time. In BBEdit (which i'll certainly forget for TM) there is a setting for opening files in a new window, in the same, …

--jérémy


Add Entire Word Checkbox to Find Dialog

To do this, I have to click the Regular expression checkbox and type \b around the word. That's too much work - how about adding a checkbox for that?

--conrad


Add Find All Button to Find Dialogue

There already is a "Count Matches" button, but a "Find all" that would highlight or select all of the matches would be useful, for example in testing RegEx.

--yelly


"Add a button to the Find dialog box that pastes the current selection into the find or replace text box. I use this in BBEdit all the time. (I usually copy the text I want to find, then select the text I want to replace, hit the find command key, paste, hit the magic S, and go."

TextMate is quite cool - this is one of the few things I miss.

--ScottEllsworth


Scroll Past End of File

An excellent feature that has been implemented in some other editors, is the ability to scroll past the end of the file in order to allow you to edit text at the end of the file without the claustrophobia of working at the very bottom of the screen. BBEdit, for example, has an "Extra Space" setting with the options of "None", "Half Window", and "Full Window". This would also be useful when running commands/filters that add text to the screen that ends up below the current scroll position.

-- danpalmer I have noticed that SublimeText, which is effectively TextMate for Windows as it supports the themes and bundles, does this very well, as does (I regret to say) Visual Studio.


Save state of Project Drawer

It would be really useful for me to have all the expanded directories stay open next time I open Textmate.

-- wswilson21


Search history for incremental search

Would it be possible to add a search history for the incremental search box in the same way that the normal Find does? I use incremental search all the time and it would be nice to be able to quickly repeat past searches.

-- Benjamin Roe


Shortcut to remove selected files from project

I would like to see a keyboard shortcut to remove selected files from the project drawer. I suggest using ⌘⌫ or ⌘⌥⌫ as they are combos used in many other programs... You could let ⌘⌫ move the files to Trash and ⌘⌥⌫ remove the files from the project.

-- Jonas Due Vesterheden


Option to keep Go To File open

I often find I need to open multiple files via *Go To File*, but it closes after a selection. It would be far more useful, to me, if it would remain open.

-- Dennis Worphin


Visual ornamentation while snippet is active

Two parts to this:

  1. It would be nice if there were some visual indication that a snippet is active so you know when you've tabbed past the last field. What I have in mind (just a suggestion) is that the "Line/Column" area of the status bar change to "Field X/Y" while a snippet is active where X is the current field number and Y is the total number of fields for the snippet.
  2. In lieu of (or in addition to) (1), it would be nice if the snippet fields were highlighted in the editing buffer, perhaps using the same style as selected text is in non-frontmost windows or some such.

-- JaySoffian


Bundle Editor Search

I want to change the behavior of a command, but I don't know how to find the command without looking in every category. Maybe while nothing is selected, you could enter scope and or activation information to narrow the search.

-- Marshall


Tear off menus

It would be great to have tear-of menus, if only for the "gear" popup menu. I suggest this because I find it difficulty to navigate to the language-specific submenus. In about 1/3 of trials, the mouse "slips off" at the wrong place as I'm trying to follow the cascading menus. And, even if I don't make a mistake, I find it a bit of a pain to be forced to do precise work with the mouse to accomplish tasks that I might do every few seconds.

I respectfully submit that the key bindings are not the solution. Indeed, they are somewhat problematic throughout TM. For example, to preview a markdown document I have to hold down 3 keys and type a 4th. I find that difficult, even if I've deciphered the symbol-to-key mapping for whichever keyboard I'm using at the moment.

The answer, it seems to me, is a tear-off menu for these language bundles. At the expense of a little screen space, it would provide a helpful guide to the relevant actions, as well as providing access to these actions quickly, without delicate mouse work or keychoard memorization.

PS. I see, quite far down this list, that another TM user has suggested something along these lines. I hope I have not interfered with convention by posting this suggestion here at the top.

-- Dan Kelley


Full Screen Mode

I think it would be great to add a mode where you can edit in full screen like they now have in iPhoto and Aperature. This would allow you to see as much of the code as possible and maybe the project file list could still be avalible as one of those semi-transparent panels that Apple uses when in a fullscreen setting. --Joshua Monroe

I second the full screen mode. This would be a very useful feature and would definitely encourage me to buy textmate. --Alex


Re-indent whole document

I sometimes work on other people's code that is not indented with the same number of spaces or is simply not indented in places. Is it possible to have a function that would re-do all the indentation using the textmate estimates. --Joshua Monroe

Edit: I found that this can be replicated by removing all indentation by shifting left and then using the indent document from the text menu.


Indenting with Tab vs. Cmd-Bracket

PLEASE add the feature GoLive and Dreamweaver have where selecting a block of text and hitting tab indents the entire block, rather than replacing it with a tab character! Very frustrating - XCode and BBEdit have this same issue. Others may like Cmd-Bracket indenting, so maybe there could be two ways of mass indenting??

Also if you could do shift-tab or something to remove a tab

TextPad on Windows also does this, and it's a feature I've missed since I switched back to the Mac. - Trevor


File/Class/Method Browser

I would like to propose to get rid of the file drawer and instead create a resizable panel (like Mailboxes panel in Mail) which could be customised to show all the files in the project, classes, methods, constants and other symbols of interest (like XCode or Eclipse).

--tomek


Save and reload workspaces

  • As seen in OmniGraffle and Photoshop among others, the ability to save window setup and position on screen, and reload the setup easily. I for one work sometimes on a larger external screen and sometimes on my laptop, and it would be nice to have the possibility to reload such setups instead of manually reposition windows.

Include classes in symbol list

  • Classes (in C++, haven't tried other languages) don't show up as symbols in the drop-down at the bottom of the window or in the cmd-shift-T shortcut. It would really help me navigate my large files! (Right now i'm doing cmd-f "class Whatever" return - which works ok - but it's a mental break from cmd-shift-T.)

update: I did some looking around and found the help item that details this. The problem is that the C++ grammar doesn't have a selector for class names (it has one that (seemingly) only picks up the word "class" - "storage.type.c++" - but this adds the word "class" to the symbol list. Not very descriptive. I suppose I need to edit the grammar so it knows what classes are. Any help would be appreciated!


Tab = Return in snippets/commands menu

  • When you get a menu from having multiple commands activated at once, then hitting tab should be identical to return. The idea being that you are very likely to have just hit tab to create the menu, it becomes easier to make the selection without moving your left hand.

    The menu is handled by the OS, so unfortunately this is not possible.
    -- Allan Odgaard

More detailed Bundle editor window

  • Speaking only for myself, it might be handy to see the activation (and possibly scope?) of all the items in the left-hand window of the Bundle Editor. -- Jim Bagrow

    Though I don't think it would really fit there.
    -- Allan Odgaard

File's path in tooltip

  • This one is tiny. What about hovering the mouse over the filename in the titlebar and having a tooltip show up with the path to the file? -- Jim Bagrow

    You can ⌘-click the proxy icon to see the path. For project, you can hover the mouse over each file tab to get a tool tip. Adding a tool tip to the proxy icon (or title bar) isn't really possible AFAIK.
    -- Allan Odgaard

Bundle Editor Button

  • What about a button leading to the bundle editor? I believe there was mention of adding a toolbar to TM, and this would be an ideal candidate. Another possibility would be a small button (maybe a B in a circle) in a corner of the statusbar, perhaps where the camera icon is when recording macros? -- Jim Bagrow

    In a toolbar, sure. I don't see the use for it in the status bar though. If it's a frequent action, then there is a key equivalent to open it.
    -- Allan Odgaard

Shortcuts for search options

  • Shortcuts i.e. to toggle RegEx on and off would be really usefull. As a longtime BBEdit/TextWrangler user I would vote for the same shortcuts here.

Longer History for "Filter Through Command"

  • A longer command history for the "Filter Through Command" dialog would be really great. I use this to read my logfiles, and constantly lose cool regular expressions that get thrown off the very short history. 8 items is simply not enough, I'd rather have 20 (or even more). -- Martin Dittus

Preference for number of recent items

  • It would be nice to be able to change the number of recent items under file>open recent with a preference. -- avnit?

See the manual on expert preferences.


Recursive opening/closing of folders in the project drawer

  • In Finder's List View you can recursively open/close folders by holding down option and pressing right/left arrow. It seems to me this is behavior worth duplicating in the project drawer. (I think the GUI page is a better fit for this than the Project Management page.) -- Zack Charter

    You can hold down option and click the arrows to fold/unfold recursively. Using option and arrow key sounds like a good idea, but I would think it's more an improvement that Apple should add to the standard Cocoa control (which I am using).
    -- Allan Odgaard

Regroup Automation items by language

  • I threw away TextMate a couple of times because I didn't think it had as many features as BBEdit for version control, language-specific glossaries etc. Turns out they were hiding deep down the Automation menu!
  • Now - still a beginning TextMate user - I keep myself having to look through three different menus (Macro, Command, Snippet, New from template) to find the specific thing I want TextMate to do for the language I am working in. Whether something is a macro, a command, a snippet or a template is immaterial to me - I just want to have all help for a specific language at my fingertips!
  • Therefore this suggestion: replace the macro/command/snippet menus with language menus, each containing all commands/macros/snippets/templates applicable to that language. To get some help in PHP I would pick the PHP menu, to do something in Subversion I would pick the Subversion menu, and so on.
My take on this is that the submenus belonging to the language of the current document should be promoted to full menus. That is to say, if you are editing a Perl document, the menubar would contain a Macro menu, a Command menu, and a Snippet menu that contain only the items relevant for Perl. That way you don't have to go rummaging through submenus to try to locate the items you need, and the menus can be dynamically updated to reflect the language of the document currently being edited. --Bradford Carpenter
I would like to second this. 'Automation' should be split into the three according menus with the entries of the current language's submenu being promoted to the top level so they can be accessed directly. Currently they are rather awkward to access. Additionally it might be possible to convert the respective [sub]menus to floating windows on the fly (similar to e.g. BBEdit's palettes or the tear-off menus in the X11 versions of vim). I could also well imagine to have access to the macros etc. for the current language in a drawer (which would have the the additional advantage of being directly associated with the file being edited). This stuff IMHO is so crucial for editing that there might well be several possibilities to access it conveniently.-- Sascha Brossmann

The gear menu in the status bar have the 3 categories mixed, and show the bundle corresponding to the current language as selected by default.
-- Allan Odgaard

Yes, but the items in the gear menu are not less awkward to access. You need at least one point-and-click (i.e. complex) operation more each time you select rather often needed items. The small mouse target area doesn't help either. -- Sascha Brossmann

____

Split Views

  • The ability to view the same document/file at two different points. Similar to the split view in Microsoft Word.
  • The split view should also enable you to have two different documents open so that you can work on one file and view another at the same time.
Emacs style would be much better. You could have multiple views on the same document, different locations, different documents, split 2 ways, 3, vertical, horizontal etc. This is my number one missed feature. --- Sean Allen

Multiple edit windows for one project

Sometimes I need to view two files that are in the same project at the same time. I'd really like to be able to just have two windows open and visible at once - switching tabs gets annoying after the 30th left-right sequence.

____

Web Preview

Similar to the above suggested split view but one of the panes/windows would be a web preview. This will enable the user to view any changes made to their html file as the type.

____

  • Is there a way to make the engine listen to dependant files... IE: i am doing a web preview on an html file that uses an external CSS... when i update that css file, the web preview of the html file reflects the update.
  • it would be nice if I could get at the HTML that is in a window resulting from a command that chooses "Show as HTML" for its output. A context-menu item in the viewer that lets me copy the html source to the clipboard or create a new document with it would be excellent. -- Brad Choate
  • can context-menu check spelling asynchronously? (and add suggestions to already open context-menu?) Spellcheck sometimes takes a few seconds slowing down access to other menu functions.
  • hightlight of matching bracket could be done after moving cursor. that's a tiny issue, but it gives impression that matching is slow synchronous operation.
  • Find dialog is very clumsy. IMHO It should:
    • switch scope to selection when there is multiline selection
    • otherwise use selected text as default for find string, if not using regular expressions [optionally, I know some people hate this]
    • Crimson Editor goes even further - it's enough to select anything and choose find next to search for currently selected word. Personally I find this very useful.
      --kL

      Using the dialog for that is clumsy when you have a (shared) find clipboard (so just do ⌘E + ⌘G to find next “what's currently selected”, you can even make a macro that collapses that into one key stroke). As for the Replace All Scope, it was smarter in the past, but many disliked it.
      -- Allan Odgaard

-- thanks for the tip. as for scope - can it be made configurable? or maybe a macro can add this functionality as well?

  • Mention this before, don't see it anymore (and haven't seen it implemented) I'd like to be able to have a half a page of dead space after the last line of my code that allows me to scroll to vertically elevate the last lines of code on my display. (BBEdit has this implemented and it really just feels more comfortable reading from the middle of my screen on the powerbook) Essentially, it prevents me from having to manually enter extraneous lines to my code for the same effect.

--Mike Czepiel

  • How about an instant-search field on the top right of the main window, like in Safari, that allows to instantly find the first (and afterwards next) occurrence of the entered word/pattern? Edit: I just found out, that ^S gives almost that functionality. Great!
    --Daniel Haus
  • An option in preferences that allows a solid rectangular caret rather than an I-beam. I know it's not the OSX way, but it is a great help in finding the location of the caret on the screen.
    --dino
  • Better font configuration, especially custom char width and line height, like in Terminal app.
  • On bottom of window there is button that pops up menu with macros/commands for ALL languages. That isn't useful - you have to choose language every time you use it. IMHO it should default to currently selected language/context.
    --kL

    It does that for me.
    -- Allan Odgaard
    -- Here's mockup: http://img359.imageshack.us/my.php?image=macromenumockup5jn.png. On left = current; on right = desired.

    This is more of a problem with aligning the status bar near the bottom of your (visible) screen. For this reason it may move to a toolbar later
    -- Allan Odgaard
  • I would like to suggest that some of the functionality available in the status bar should be placed at the top of the window. Specifically items which are accessed often such as the function popup (thank you so much for doing it). I haven't done any studies in this but I feel like my mouse pointer is located in the top quater of the screen most of the time. Having to move it all the way to the bottom of the screen to access frequently used UI elements is rather inconvenient.
    -- tomek

    ** I would like to support tomek's request here. I find the current location of the status bar to be too close to my dock (I know I could move my dock but I've gotten used to it down there). Having at least the option to move it to the top of my screen (below the title bar but before the document) would be very welcome!
    --Shmuel Bowles

    ** I would also like to support this request. I think the best way to address it is just to have an option to set the status bar location to either bottom or top.
    --Matthew

    ** I also like to see this. When I try to click the popups in the statusbar I accidentally keep clicking my Dock items.
    --RB

    ** I support this, but for a more practical reason: the menus simply draw faster when dropped down from the top of the window, than when scrolled up from the bottom of the window-- particularly when the window is close to the bottom of the screen..
    --Cliff Joyce

    I'll likely revisit arrangements of things later (when a toolbar is added).
    -- Allan Odgaard
  • In the "Open Recent" menu, it would be quicker if it opened up the item at the top of that list when you just clicked on the "Open Recent" menu itself, rather than having to navigate to the sub-menu and click on the top item.
    -- Gaby Vanhegan

    The menu is handled by Apple. Would be a nice system-wide enhancement though.
    -- Allan Odgaard
  • There could be easier way to associate TM with new file extension than editing language bundle and assigning TM.app in Finder. When I manually choose extension from menu, there could be option like "associate files of that kind with this language".

    Not sure if this is a Finder or TextMate request. You shouldn't edit bundles for file associations. Just open whatever file and click the language popup in the status bar to tell TM what language it is (if it didn't guess it), and that'll stick
    -- Allan Odgaard
  • It would be great if the maximize button acted in a similar way to that of Safari and other apps whereby it doesn't enlarge the window to the entire screen, but switches between a user defined size and the exact size needed to display the document correctly.
    -- Mike Ross

    * I think at least having a mode for setting the window to the exact size would be really cool. I also would like to support the full-screen mode crowd. Full screen should also allow setting a column width so users with wide screens can edit a long file in several columns that automatically flow. 2 or 3 columns (depending on the file) would easily fit on my powerbook, but no editors support this that I know of.
    * Navigation during full screen mode could be accomplished with a popup similar to the controls in DVD player (just a thought!)...
    -- Matthew


With the dozen requests I've had for full-screen mode, I wouldn't be so sure about that :)
-- Allan Odgaard

  • It would be a good idea for the project drawer to "remember" it's width so that if a user resized it, then open the same project, or maybe even any project, later, it would be the same size. It is frustrating to have my project drawer take up a large portion of my screen when it only needs a few pixels.
    -- A.N.

    If you save a project, the width should be saved in the tmproj file.
    -- Allan Odgaard
  • A variant of "Open in New Window" that would instead open in something like a panel at the bottom of the project window. I use OINW to display compile errors, and it's a pain to have to change the window focus every time I compile.
    -- Ben Jackson

    I hope to support something like that in 1.2, i.e. more like docking the command output windows (including HTML) in the main window.
    -- Allan Odgaard
  • When displaying line numbers for a file, keep them fixed at the edge of the window, even if the current line starts scrolling to the right. Current behavior forces you to move the scroll bar if you want to know a line number on a long line.
    -- Ken Scott

    Scheduled for 1.3
    -- Allan Odgaard
  • An option to set a particular program to be the default graphics editing application. This would simply allow me to double click or right click on a image file and open it in for example Photoshop instead of Preview.
    -- Shmuel Bowles

    If you assign a default application with the graphics file in Finder, TextMate will use that setting when you double click the image in the project drawer.
    -- Allan Odgaard
  • When Auto-updating, TextMate doesn't allow any method for the user to archive the downloaded .tbz file. A "Reveal" button or proxy icon for copying the file to another location would be very helpful for the irrepressible packrat.
    -- James A Baker

    Proxy icon added.
    -- Allan Odgaard
  • I would like a color marker for the corresponding bracket when selecting one. Perhaps in the same style as in Notepad++ (found on sourceforge). There is a builtin function for this in the current version but it just blinks and you need to be a good spotter to see it.

    Scheduled for 1.3
    -- Allan Odgaard
  • I would also like a function to change chars like åäö etc. to utf-8 (& a r i n g ; & a u m l ; & o u m l ; etc.) without having to use find/replace. This really bugs me. This tends to be a problem when I'm updating old html-documents.


-- Gabriel Heijmer
Not sure what that means -- what should they be changed into?
-- Allan Odgaard
-- I think he ment change of HTML entities into actual characters.

The HTML bundle has commands to convert to/from entities.
-- Allan Odgaard

  • Some kind of "Send Feature Request" and "Report a bug" dialogs allowing the user to do those things directly from the app would be wicked.
    -- Ben Jackson

    I'm already getting far more than I can handle :) But there is Help → Send Feedback… For bugs use http://macromates.com/ticket/ (I'll add that to the help menu as well)
    -- Allan Odgaard
  • Refactoring support: Extract Method, Rename Method, Change Method Signature; or an API to support this
    -- Cornelius Jaeger

    Sounds awfully specific to Java. The current API to handle this would be either as a commands (set input to entire document and use variables like line/column position, selection etc. for what to work on, or ask user) or a combination of that and macros.
    -- Allan Odgaard
  • A non-drawer view for projects. Instead have it all dislayed in one window like Xcode. I really *hate* drawers.
    -- Daniel

    I like them: http://lists.macromates.com/pipermail/textmate/2005-August/005028.html
    -- Allan Odgaard

I love drawers, and wish TextMate would always add new files to the currently open project window. in other words, double-clicking a TextMate file from Finder would automatically add the file to the current project window (as web browser tabs work). This could, of course, be a user preference item. --Cliff Joyce

  • The excellent aesthetic of Full Screen View would be excellent. Yes, some times the focussed view, for creative thoughts and notes would be great.
    --John Plumridge
  • A Preference for a default side the project draw will open on would be great.
    -- icb

    You can change the side by closing the drawer, move the window so that there's not enough room in that side, and re-open the drawer. This is sort of the established way to set it.
    -- Allan Odgaard
  • Notification of Activation Key conflicts when you set an activation key that already exists. It should give you the option to unset it for the conflicting option, set both, or don't set the current one.
    --Gabe da Silveira
  • Save state of project drawer with TextMate project. Defaults to right side of project editor.
    --Rick Kilcoyne

    Currently it saves the side as a global setting. Since I want to get rid of project files (for 1.2) I'm probably not going to add a project specific setting of this (though the exact details of workspaces are still not settled)
    -- Allan Odgaard
  • Optionally Hiding other language customizations if one is in a tab for a given language: say if i am editing ruby dynamically remove the python, etc commands/triggers/etc from menu.
    --Rahul Dave

    A bundle does not necessarily equal a language. E.g. when I program in Objective-C++ I use both the Defaults, Source, C, Objective-C, and Text bundles. Also, e.g. HTML can embed ASP, PHP, Ruby, CSS, JavaScript a.s.o.
    -- Allan Odgaard
  • Make a [Navigation]-->[Go To Symbol] alpha-order option available so I can find symbols with ease in larger lists.
    -- Ben Linton

    * Allow typing after [Navigation]-->[Go To Symbol] to select symbol.
    -- Dave Baldwin?

    As the release notes states, the current implementation is just preliminary.
    -- Allan Odgaard
  • High priority requests from those of us who use the mouse as much as the keyboard:
    • Customizable context (right/control-click) menu. Perhaps add a checkbox to the new bundle editor to include the command or snippet in the contextual menu. I would use this every hour of every day. -- Chris Thomas

Tabs

Tab bar

  • Using Tabs without a project. I would love to use the TAB UI, but I'm always editing scripts and have no project to group things by.

    This is scheduled for 1.2.
    -- Allan Odgaard

    A way to have the cool tabs without needing any form of project would rock. It's the one thing I've been looking for in a text editor on OSX since I switched and while TM gets close I'm still waiting. I don't want to have to have the project drawer because it takes up space that I want to use for my code (I work on a 12" iBook...). Some "Open in new tab" function (just like in Safari) in addition to the regular open would make me ecstatic.

    I would like that too -- the project idea makes sense for certain sets of files but it breaks down when I try to use TM for Interarchy's "Edit with..." command. Since the files are stored on the server, I can't define them as a project, yet at the same time it's terribly nice to have multiple documents open in one window. BBEdit does this with a preference to open documents into the front window.

    This is planned -- it's just a matter of time.
    -- Allan Odgaard
  • It would be good if, when there are too many tabs to display simultaneously, TM first tried to shrink the size of the tabs (by elliding a larger portion of their names with the ...) rather than immediately resorting to the overflow menu. (There would have to be some minimum size beyond which they're not shrunk, of course.) Safari seems to work this way.

    Or what about the option to change the font (and size) for the tabs? That way if you know you're working on lots of files at the same time, you can pick a smaller size for all the tabs
    -- daniel andersson

    My personal choice in this case would be a multiline tab bar. I think the best option would be an entry in preferences like "What to do when there are too many tabs ? 1) overflow menu 2) multiline tab bar 3) shrink tabs [here ask minmum tab width]".
    -- marcv

  • Ability to hide the Tab Bar. WIth a Project, you can switch between files using the drawer, which deals with large numbers of files much better than the tab bar (which hides 90% of my working set behind the chevrons). Being able to hide the tab bar would free up space for two extra lines of code. The 'Hide Toolbar' widget (the long on on the right hand side of a window's title bar) would be ideal for this.
    -- scotfl

  • Ability to add rules to tab ordering. For instance force ordering alphabetically. Better yet would be to allow grouping by file extensions then ordered alphabetically. My code is grouped in folders based on .rhtml in views and .rb in controllers..etc and keeping all .rhtml files together, .css together, etc would be great.
    -- Rick Harding
  • A floating palette containing the current tabs document outline, with the ability to jump to the selected fold, and also to open/close the folds. Instead of a function tab that many people want, i find this works better, because you can see more of the outline of the current document.
  • Expose-style tabs. One solution to the problem of having more tabs than can be displayed in the window is to have an expose-style display of the documents in each of the tabs (showing the names of the files) like Shiira (http://hmdt-web.net/shiira/en)

  • Expandable tab area: instead of a menu, what if there was a button to expand the tab area? The expansion could contract again at the next click on the window, Exposé-style.
    -- Ryan Platte

Tab navigation

  • It would be nice to be able to switch between tabs in an easier way than ⌥⌘-(left) or ⌥⌘-(right). I would like to see "Alt-Tab" functionality brought to TextMate Tabs by binding it to ⌘-` (backtick). I often switch back and forth between two different buffers, and this would be nice.
    -- R McGeary

    Switching tabs would be even easier with the mouse scroll wheel, as in Firefox (feature of many tab-related extensions) or Safari (with SafariStand). Very useful.
    -- Chris

    Make tab-switching keyboard shortcut be command-{ and command-} for consistency with Safari. These keys have been used for shift left/right in most text editors (including Xcode) before Safari used these for tab switching, so I will stick with this. If you want the keys changed you can always use System Preferences / Keyboard & Mouse / Keyboard Shortcuts to change them yourself
    -- Allan Odgaard

    I think its command-square-brackets that are used for indenting. Command-curly-brackets is what Safari now uses.
    -- David Mankin

    That's true command-[ and command-] are used for back and forward in Safari, command-{ and command-} for tab switching.''
    -- Casper Kuijjer

  • Two feature requests: 1) two tiered tabs (upper row folders) lower row (documents in folders) 2) an ability to navigate (forward/back) to the last tab openned, not just the next in the line of tabs (like a browswer forward/back)

    As for #2, 1.1b17 will show files in the file chooser sorted by last used, so opening last is then ⌘T and return.
    -- Allan Odgaard
  • When I click and hold my cursor on an open tab, then "Close All Tabs" via keyboard command I want all the tabs to close except the one I clicked.
    -- Craig Davey

    "Close all tabs but the current one" would be nice. I'm editing a lot of Java code and typically open a lot of small files. This creates a lot of tabs which I'd like to close quickly.
    --Thorsten Greiner

    There's close all tabs on ⌃⌘W (I know you asked for all but current, but many are not aware of the current key)
    -- Allan Odgaard
  • I'd like to be able to navigate through the tabs in the order that I last used them. This would be similar to the way the command-tab works in Mac OS X. The dock shows you a fixed order (a la the tab bar in TextMate), but command-tab lets you navigate to the most recent application you last used. I'm not suggesting any UI fancy-ness just plain old "Previous Tab History" and "Next Tab History" would be sufficient.
    -- Shane Celis

    Try using ⌘T — when there is no filter string, it shows them ordered according to last-recently-used.
    -- Allan Odgaard

Tab appearance

  • Higher contrast tabs for selected file vs other scripts you are currently editing. Light Gray vs Lighter Gray is hard on my eyes.
    -- Kenrick Buchanan

    You're more than welcome to send a mockup or fidle with the graphics in the current graphics in the TextMate.app bundle. The current tabs went through several iterations, experimenting with different tints etc.
    -- Allan Odgaard

    I find/feel the tabs coloring for active/inactive files a little misleading. I often mistake the light colored (I'd be thinking about it as "highlighted" tab) tab for being the active one and start editing there. My suggestiong is to establish a color scheme for active, inactive, unsaved document tabs. I know it will take a while to contemplate such scheme. But I hope it is possible.
    -- Ismail Tabtabai

    Mockups are always welcome :)
    -- Allan Odgaard
  • There should be a change in Tab color for files that haven't been saved yet (or similar mechanism). As of v1.02, it's impossible to tell what's been saved and what hasn't.

    Changed tabs have a bullet instead of a cross as the close symbol.
  • A preference to use Tabcolors, in order to make it easy to distinguish the open files in the tabs. For example based on filetype or file location. It would be great if this was customizable in preferences.
    -- Stefan Fountain

  • I can change tabs with Command-1 to 0 but after, let's say the 5. tab it's a bit exhausting to count the tabs only to get the right tab. My suggestion is to replace the small x (which gets surrounded by a circle when you hover it) with the number of the tab in place from left to right, when you hover it the current x shows up and the user knows that he can close the tab/document with a click. So with only one look at the tabbar I'll recognize the right tab number.
    -- Jens Kohl

  • Add a visual cue to show the command key shortcut number next to the filename in the tab bar. It can be hard to spot at a glance which tab is the fifth or sixth tab for quick Cmd-number switching. (Possibly have the number appear while Cmd key is held, in the place of the tab's close button?)

  • A preference to use the <title> attribute or a particular variable from an html/php page as the tab title instead of the file name. This especially useful if you are working on a website which is full of index.html/.php files making tabs hard to distinguish from one another.
    -- Shmuel Bowles
    • Every Website I made does it this way. When I edit a project it goes not long until I have dozens of 'index.html' open. Not so nice for the general overview.
      --nico
  • Tabs whose layout and display behavior may be overriden by regular expressions on the file names (or perhaps the content of the files themselves). Example uses might be
    • test file tabs self-organize to the right with a slight yellowish hue.
    • code file tabls self-organize to the left
    • *.css tabs to auto close after 10 minutes of inactivity
      This may all be crazy talk.
      -- Doug Feuerbach

  • Status line feature request: have the ability to view the number of words and lines in the entire document.
    -- Dylan McNamee

    Currently you can press ⌃⇧N to get that information. It's a lot of work to keep this statistics up-to-date on each change, so it's unlikely to see its way to the status bar anytime soon. Btw: for r540 the ⌃⇧N function works only on the selection, in future builds it'll fall back to the document when there's no selection.
    -- Allan Odgaard
  • Web Preview Enhancements
  • Open in New Window
  • Syntax Highlighting Preference Pane

    Recent betas have both the ability to edit language grammar and fonts & colors (for all elements).
    -- Allan Odgaard
  • When there are multiple files with the same name open, for instance 'edit.rhtml', it would be nice to have the title bar show minimum difference between the file paths. For instance, 'person/edit.rhtml'. Guess what I'm working on.
    -- Adam Sanderson

    It would also be useful to see the path in the Window menu. - NC

    Making this feature smart enough to read the actual server path when editing a remote file via FTP would also be extremely handy.
    -- Michael Lehmkuhl
    \\`

Something like this will happen.
-- Allan Odgaard

  • The Project drawer shouldn't roll-up after having been out of focus for a few minutes making the user re-open the nested contents again.

    This has to do with changes happening in the folder references and TextMate losing track of which was what, and having to do a full reload. It will be improved in the future though.
    -- Allan Odgaard
    I would favour an additional "force reload", because it sometimes happens that new files are not recognized and renamed files stay at their (wrong) position.
    -- Alex Kirk

    All things related to projects will receive a makeover in 1.2,
    -- Allan Odgaard

Split Screens

  • Split screen - You should be able to grab a divider from the top of the window and drag it to where you like, which will split the window in two, offering you two separate views of the same document. This allows you to easily edit two related sections of the same document at the same time. The bookmark system helps with this, but is not quite as useful.
    -- Mike Powell

    also, should be able to select which file to display in each part of the split. Splitting a document (as Mike described) is needed, but so is being able to reference two (or more) documents at once in the same window.
    -- Brian Lalor

    of course it would be groovy to have tabs on each of these split views. This might be tricky to deal with for vertical or multiple splits, but it'd fill such a gap in textmate and and put to bed one of my last bits of emacsenvy. Especially since there isn't a way to open a document in your project drawer in a new window (is there?)
    -- Zack Charter

    note that one way to leapfrog several competitors in this area would be to provide an infinite number of window splits. MPW could do this, and more recently CodeWarrior has this capability as well. You may not need to split a window often, but when you do, it's essential. When I used MPW, I used this capability frequently, often with three or four split panes. Also note that MPW and CodeWarrior provide both horizontal and vertical splits.
    -- Chris Thomas

    A window split would also be most useful as a buffer for compiler error/warnings/command output. I always want to dock the floating output window to the editor somehow.

    Hey Allan, check out RBSplitView for this. It replaces NSSplitView (it's not a subclass) and fixes all the problems, adds multiple split view capabilities and such. Seems to be quite well done, and it's essentially BSD license (I believe the author requests, but does not require, a credit in the about box).
    -- Chris Thomas

    A split view is the one essential feature TextMate is missing. Even though I paid for it already, I really need split screens... horizontal and vertical (please!)
    -- Anon

    A split view is something that I really miss coming from MacVim. I hope this one gets added soon!
    -- CS Hall


One thing that would be really sweet is for there to be a mode-defined mapping between 'implementation files' and 'include files' so, for example, if I open a .m file in TM, it opens with a split view collapsed to the top, with the corresponding .h file loaded into the collapsed view. Or if I choose Open Counterpart from the menu, it loads into its matching file's window in a split view, instead of its own. Similar mappings could be set up for .js and .css files for HTML authoring and so on.

You want emacs, don't you? (actually, so do I). Screen splitting would be very useful for me, too. Add another one to the list clamouring for it. Simon Stapleton

Emacs is free. Just use it. Don't pay and suffer the indignity of making 'requests' to Allan. Do it yourself. Fact: there is almost no feature TextMate that can't be implemented or is already available in Emacs. I got tired very quickly of saying 'please' to Allan, so he would incorporate some trivial preference of mine. Allan isn't God. Pathetic. Richard Thompson
Having a split view for the output buffer is something I would love to see. I use Scite on Windows where I have become addicted to this feature but I can't find it in any Mac editor. Displaying the output in a separate window (like TextMate) or a separate tab (like TextWrangler) just isn't the same.
-- Richard Cooper

I agree with the need for split views. All the ideas here are excellent. One additional idea is to allow multiple windows for the same project, possibly even referencing the same document (with views kept in sync if this is the case). With these two features and full screen I think we'd have pretty much total flexibility in laying out views onto our text.
-- Matthew

I haven't heard you weigh in on the subject of split screens, Allan. What do you think? Implement in upcoming version? Not at all?
-- Matt Helmick

Yes, please! I need split windows desperately, right at this moment :) and I've been missing it for a while. "(also recommend merging this wiki section with above Split Views" section)
-- stephan.com

I love TextMate and use it for programming Python, HTML, Javascript all day, every day! However, the single biggest shortcoming is the lack of a split screen or, at the very least, an option to tile the open windows and access them by hotkey. I truly hope this capability makes it into TextMate2 ... and that TM2 is here ... soon. I love it!
-- Paul Thiel

I was considering buying TextMate, but the lack of split screens was for me a dealbreaker. Currently I am using vim to do RoR developent, and have a split screen with the class on the top and the test below it. This way I can easily see and move between both related classes. TextMate allows for Cmd-<#> to switch between tabs, but I need (or rather prefer) to be able to easily do a visual comparison without a need to switch.
-- James Childers

! Folding:

  • Would it be possible for the closing bracket of a method to remain visible when a method is folded? I don't know why, but it just disturbs me that the opening bracket is visible, but the other one isn't. Or just hide them both ;)
    • Second this. As a computer science professor, I'd much prefer to be able to print out a folded sample of code with: {...} rather than {...
    • Me too, it would banish the niggling worry of unbalanced brackets.
    • Third this.
    • This was also my first impression!
    • This could also allow to partially fold an if-else-endif block in Fortran, if one could define one item to be a folding start and endtag at the same time! Please make it happen!
  • Colourize the Folding Widgets for readability - Top level widgets should be in their own hue with nested widgets in descending brightness. For example if we have n top level folding widgets they will be equidistant along the RGB hue and at 50% brightness. Each child fold has the same hue as it's parent but differs in brightness by splitting another 35% brightness between the number of children. This way one can easily see the matching widget for each fold in the gutter and the colours will look nice too.
  • Make closed Folding Widgets look more different from open widgets. A more different icon? Make the circle go black when closed and light-colored when open? Make the whole line turn a different background color when the widget is closed? I often miss the closed widgets when scanning over some code.
  • Remember Folds between TextMate launches...

    As of 1.1b16 (with Tiger) this now happens.
    -- Allan Odgaard
    • It does remember, but only if a project is open, correct? In the case of individually opened files, the collapse states are forgotten. Why not stick these in the file's resource (or other) named fork? Seems like a good meta-data types thing to keep. Additionally, if the meta-data gets lots because of copies to some flat file system, it's not really a big deal, just your collapse states are forgotten. Niels Gabel?

      If you are on Tiger, it stores them using setxattr.
      -- Allan Odgaard
  • When hovering over a fold indicator, it would be pleasing if the text in the pop-up respected the font preferences for the document with emphasis on the preference for or against font smoothing.

    Not that easy, as the document is rendered with ATSUI, the pop-up is using a Cocoa text field.
    -- Allan Odgaard
  • Have the option to retain folds when printing. This would be hugely useful.
  • I'm trying to write a language definition for a language that uses Python-like syntax. It is hard to write the folding rules for this because you really detect the end of a fold the line after it ends. You want something like this:
	foldingStartMarker = '^(\t*)\S.*:$';
	foldingStopMarker = '^(?!\1\s)\s*\S';

but it just doesn't work. (The backref fails AND the foldingStopMarker is often also a match for the next foldingStartMarker.) So, a few suggestions:

  • Use the pattern interface to handle folding. This could be similar to the way the symbol list stuff works, or you could add something like:
        foldingPattern = 'meta.function comment.block'

to the language definition. This ties start and stop patterns together and so would allow nested folding to be done neatly.

  • If you get a start and a stop marker on the same line:
    • If a pattern has start and stop markers for the same match on the same line then leave them both out.
    • If the stop marker is for a pattern that starts on a previous line, then treat it as if the stop marker was on the immediately preceding line.
  • Fold CSS when the closing brace is indented (farther than the opening brace).
    • I would love to see CSS and other languages where spacing is not an issue have an option to just put all the attributes onto one line instead of tab indented and switch back as needed. Thus your CSS could follow this principle (http://orderedlist.com/articles/single-line-css) or be tab indented as needed.

Drag and Drop Folded Elements

using the orange folded element icon to drag items would certainly be a boon, esp. between documents - great when refactoring. Or can this be done already? Great Product, BTW.


  • Find & Replace interface: it'd be nice to have larger fields in the find & replace dialogue box. I'm often searching & replacing multi-line stuff (blocks of html, etc) . -- Ben Parzybok

    It's now possible to toggle the size of these.
    -- Allan Odgaard
    • I'll second this, and add a request for regex syntax coloring when the "Regular Expression" checkbox is selected
  • Unify Project and File Find. There is no need to have separate panels for searching through all the files in the project and just the current file. This can be simply resolved with a simple check box. -- tomek
  • I'll second the request for larger find fields. In fact, when evaluating an editor (I'm always looking at each new one to see if it will replace BBEdit and/or Xcode), it's the second thing I check, after typing responsiveness on an average sized file. Because text munging is very time consuming, and trying to develop an regex in a tiny little 1-line textbox just ain't for me. BBEdit has text areas for both search and replace, and it has regex syntax highlighting. And it's those two features that keep me using it. Michael Johnston?
    • What if the find fields were normal sized, but there was a little widget to pop open a larger editor window (in place) for complex search editing? Niels Gabel?
  • I'd like to be able to right click a folder in the project, and select find... to search multiple files within a single folder. -- Tom Mornini
  • There needs to be some way to deal with deeply-nested files in the project drawer. I have a hard time discerning what files are when they're shortened to "D....a". :-) Java projects typically have such arrangements, like "UserManager/src/org/bravo5/UserManager/some/package/name/File.java". Maybe make the window scroll?

    The reason I don't do scroll is that Cocoa won't automatically resize the column, so enabling scroll won't help (unless I patch the outline view to resize columns based on widest entry).
    In the future it will be possible to double-click groups/folders to enter them. Hopefully this will make it less of a problem then.
  • In the project drawer, some indication of which files are open would be very nice. It could be indicated by a bullet or by the file name appearing in bold text, for example. When we have twenty or more files open at once, the tabs at the top of the editing window become difficult to use.

    The file icon is darkened in the project drawer, but it requires that the parent group is unfolded to see it of course.
    -- Allan Odgaard

    Thanks! Actually, that seems to only be the case for open, unsaved files, though. As soon as I save it, the indicator goes away. If that indicator would stay put, and ooh! if there was a little x next to the file name in the project drawer like there is on the tabs, I could do without the tabs altogether and use only the drawer. That would be neat. I mean, even more than it already is.
  • Sometime down the road it would be cool to have a tab at the top of the project drawer that would switch to a drawer that showed only open files.
  • When a project is minimized to the Dock, it would be very nice if the mouse-over text would say the name of the project (or primary directory) in addition to the currently active file. -- Eric Vitiello
  • Regarding proportional fonts: Some fonts that are intended to be monospace are not recognized as such by OS X. I suppose this might be a font format issue. I have several fonts like this: AvantGarde Mono ITCTT, Souvenir Mono ITCTT, BaseMonospace. They work as expected in Terminal or XCode. Perhaps the user could be allowed to tell TextMate to treat some fonts as monospace in spite of what NSFont says about it.

    Is it possible for you to send me these fonts or tell me where they can be obtained? As of such, TextMate does allow all fonts, but it has a heuristic to detect non-monospaced fonts (since NSFont even says Monaco is proportional) and just gives a warning for those which doesn't look monospaced.
    -- Allan Odgaard
  • I don't know if it's out of the scope of TM, but it would be great if TM could suggest in HTML files classes specified in the CSS linked to the HTML itself. [added: 2005-02-13 10:32 GMT by Matt Spinelli]
  • Consistency with document re-opening: I would like TM to store the complete window state of a document when it is closed/saved. That is, the size and position of the window, and the final cursor and scroll bar position. That way I don't have to remember what I was doing when I reopen a document.
    • Add to this which Folds are Folded, and any custom Folds.

      When I re-do the project window I'll strike for something like that. I.e. it restarting TM should leave it exactly as it was, including probably modified files if the user decides (like Mail does with unsent messages).
      -- Allan Odgaard
      * Sometimes I want to close all open files in my project (but not the project window itself), repeatidly pressing command-w often leads to a erroneous closing of the project window. A confirmation window for closing projects would fix that. I'd also suggest a "Close All" command.
      -- Alex Kirk

      Close All exists (⌃⌘W).
      -- Allan Odgaard
  • It would be great to be able to use other text encodings than the small list currently available. The best would be to be able to edit the list to just the one we are interested in (as it's already available in other editors, including TextEdit if I remember well).
  • It would be great if the line numbers stayed in the window when you scroll right. I would like the text to disappear behind the line numbers when scrolling right instead of the line numbers scrolling out of the window with the text.

    Will likely be changed in 1.3.
    -- Allan Odgaard
    • Line Numbers - I second this! Please please please!
    • I second this as well but I was hoping for something before 1.3 when 1.1 is still beta. I was surprised not to see more on this because I find it such a major annoyance that I just can't use TextMate as much as I'd like to. Any chance of a time frame?
  • Soft-wrapping: I vastly prefer character based wrapping instead of word based wrapping. An example would be viewing a du output, where deep directories fall onto the second line, away from their block size. It is visually confusing. Plus, I've just gotten used to character wrapping over the years, and my eyes see that better than word based wrapping. Perhaps a preference for that in the Text Editing pane. -- AmberV

    *nudge Allan* I requested this awhile ago. It's really nice for Cocoa development as well.

    The Xcode 2.0 editor seems to use some kind of heuristic for how to break. If a string is over a certain length with no whitespace, it breaks by character, otherwise it breaks by word. At least that's what I think is happening.
  • It would be great to be able to reset the soft-wrap column by dragging the hairline, with a tooltip for the column no. as you drag it.
  • Would the ability to view a file in a separate window be too confusing? Sometimes, I like to view two files side by side, and most often that involves files from the same project, yet I can only have one document open at once in a project. Interface handling suggestion: Dragging the tab off of the window creates a new window with that file, and closes the tab in the project window. Subsequent clicks to that file in the project manager would activate the separate window, not re-open the tab, until it is closed, or re-integrated (via dragging the document icon in the title bar back to the tab row.) -- AmberV

    Some improvements are planned regarding this, but currently you can control-click files in the project drawer and choose to open the file in a new window.
    -- Allan Odgaard

    I see that option now. Kind of quirky though since it leaves the tab open in the project, if it is open, while not linking the buffers. So changes made in the new window are not reflected, and potentially blown away by accident in the other window — and vice versa. I wouldn't be adverse to it staying open if the buffers were linked, that would actually be a good feature since there is no way to split a buffer, currently.

    The buffers are indeed linked (i.e. working on the same text), but only the active buffer is visually updated for stupid reasons only I know ;)
  • A kind of outline view like the tags-list in TeXShop (http://www.uoregon.edu/~koch/texshop/texshop.html), which shows the structure of the document, is very helpful for navigating in large documents. For example, it would show all lines of a latex file that start with "\section{*}", "\subsection{*}" or "\subsubsection{*}", and a click onto it would jump to the respective part of the document. In HTML, it could show the content of all tags like "<h1>*</h1>" or parse the indention of the content -- Kevin Goslar
    • Yes, outline view would be very useful for latex (SubEtha also does that) -- Gabriel Ripoche
  • Terminal-style transparency for the text view. It sounds like a do-nothing eye candy feature, but I find it surprisingly useful to be able to see a background window related to what I'm working on (web browser, xcode build log, terminal window) without having to leave my editor.

    Possible starting with 1.1b8.
    -- Allan Odgaard
  • Configurable toolbars and/or palettes, enabling any application commands, macros, etc to be mapped to buttons the user defines and arranges. Would be real handy to have these things accessible in either hideable a toolbar at the top of the window, and especially in floating palettes (think OmniGraffle 3's implementation on this one for look, feel, and behavior). Mousing over any of these buttons would show a tooltip, revealing the name of the command that the button would invoke, perhaps... And lastly, it would be ideal to be able to select any ol' graphic for the buttons' icons! -- John Lianoglou
  • GUI for key bindings. This should sit over whatever modes are loaded, so I can see and change what keys do what from a single location. It's just a mess now; I never know what will happen.
  • Expose line highlight color in theme settings. My ideal setup would be a black background with ~90% alpha, with the current line background also black, but fully opaque. This doesn't appear to be possible with the current setup.

    It is exposed. But you'll have to switch settings mode to text (upper right corner in the theme editor) and then make an entry like:
    lineHighlight = "#000000";
    Although currently, all colors sort of inherit the opacity setting of the background. This isn't something I do intentionally, but I probably will need to do something special to avoid it (I'll check into it). You can however set the background slightly brighter than black, and I think you'll get the desired effect, e.g.:
    background = "#101010E6";
    lineHighlight = "#000000";

    -- Allan Odgaard
  • Panel for Macros, Snippets and Commands It would be nice to have an Utility Windows or Panel where the user can choose a Macro, Snippet or Command from a list view. So you would not have to memorize all shortcuts or triggers and it would be much faster and convenient than choosing from the menu. To keep that list small it would be useful to have some kind of filter - a checkbox "show in list" for example in the edit window.
  • I'd like to be able to see the file/text encoding (UTF8 etc.) and Line Endings (CR, LF etc.) at a glance, perhaps on the bottom bar next to where the Language is shown. The ability to change these settings "on-the-fly" would be great as well. -- icb
    • The ability to verify Mac/UNIX/DOS line endings at a glance would be particularly useful when quickly preparing a batch of documents for cross-platform distribution, as Windows' Notepad (wretched but the vanilla default for text) does not cope well with non-CRLF text files. You can of course Save As but perhaps the file is already in CRLF, so that's effort for nothing.
  • I would love to see a fullscreen mode, with keyboard codes like in unix's screen to navigate beween the open documents. Currently I am messing about withe >console logins, screen and vim to achieve this on my ibook.
    • Yes, a fullscreen mode just like in Ulysses http://www.blue-tec.com/ulysses/ would be great in order to just type and forget about everything else. Ulysses' mode with its yellow proportional font looks quite good, so the best thing would be to be able to set font, color and background color separately from the rest of the program.
  • Sorry for making this list even longer, however I thought it would be nice to have a customizable status bar. Maybe have a preference panel with a list of text values that can go in and a check to enable or disable them. Currently there is line/column number and current language. Useful additions would be current context (for debugging grammars), insert/overwrite mode, line endings and file encoding. Thanks a lot! -- AndreThenot

    I'm unlikely to make it configurable, but I do have a list of improvements I want to make to the status bar, which includes making it interactive and showing various options. As for the current context, if you refer to scope, then this can be shown using ctrl-shift T, it's meant only for developing customizations, themes, etc. and so I don't think it should have permanent visibility.
    -- Allan Odgaard
  • would it be possible to have an option to make the project draw sort alphabetically? --ben
    • (8/31/05) Doesn't the project drawer already sort alphabetically? I'd actually like to see an option where you could sort the project drawer such that files appeared above directories or vice versa. And items in each group could sort alphabetically. Thank you, Denny Crall
    • My first impression is also that the sidebar looks messy because folders and files are mixed together, it would be nice to have the folders on top, and the files below -- Jimmy Scott
  • I'd love to see a fixed guter that doesn't scroll horizontally with the text. -- Nicolas Cianca

    On the to-do, but not before 1.3.
    -- Allan Odgaard
  • Ability to re-arrange the order of Macros, Snippets and Commands that way I can put those that I use more often at the top of the list. -- Nicolas Cianca

    You can re-arrange them in the bundle editor.
    -- Allan Odgaard
  • iTunes-style drawer replacement: instead of the drawer stuff, how about an iTunes-style pane? That would provide a nice logical place for smart file groupings ("Recently Edited", "Similar Names") to ease the burden on tabs a bit. I vote for a pane because in my experience TextMate's drawer is really annoying to twiddle around with, especially on a small screen. I agree with the concept behind the drawer, I suppose, but I think in practice it's quirky and provides unwelcome surprises and extra mousing & clicks when I want to go fast. -- Ryan Platte

    * I second this request. The thing about the drawer is that to resize it to be wider, when the window is already maxed out, you have to make the window smaller, resize the drawer, then maximize your window again. With a pane you can just resize it. (In the pane, I would also would like to see folders grouped on top, and everything auto alphabetized). -- capneb


Try Navigation → Go to File… (⌘T) next time you want to go to a file, it makes the drawer redundant in 99% of the cases.

-- Allan Odgaard

  • A bundle pallette would be nice. There are times where it's easier to click something, say if you'd like some text already typed wrapped in a table, you could just click on your table bundle. Otherwise I can see key commands getting overloaded... just a thought -- what's your take?
  • another thing that would be nice to see is the same feature as subethaedit when trying to open files: you get the pwd of the active file opened. Which mean if I open /toto/A and /titi/B, then, when I try to open a file, it will always be in /titi. If the file I want to open is in /toto, I must go back to /, then /toto. The idea is to go into the directory containing the last active file opened: if the window of A is active, I'll open in /toto, if it's B, it will be /titi.

    Actually not to keen on that, since I work either with projects or single files in ~/Documents/«whatever» and I don't want working with projects to lose the ~/Documents remembered for when I last used it in “single file” mode.
    -- Allan Odgaard
  • Well then, would it be possible to have a "recent folder" function in the open file... window? I mean, I oftenly switch between two or three folders, and it's always a long job to find again my previous dir (for instance, when I open a file in ~/Desktop, then /Library/WebServer/Documents/toto/, then back to ~/Desktop, then back to toto... Now, you have to re-do all the path finding to open a file.)
    -- iznogoud_
  • ok, then let's give an other suggestion. Enable a "duplicate view" for an opened file. It could be done in two ways: the way of many spreadsheet office program, that has a "line" on the top of your window, you grab it and do as we're already doing with the "wrap column" function. It's the same way as subethaedit. An other way, maybe easier to implement, would be to have an item beside "show web preview", that would be "show duplication of document (readonly)" or something. It would open the document again, with, for instance, a grey background. As with the "keep textmate version" thing, it would be automatically updated when clicking in the window.
    -- iznogoud_

-- TimB

How about a FULL Screen edit, like that is available in Mac Journal. When editing manuals e.t.c I like the retro feel of full screen edit.

-- TimB

Source code control

It would be great if the editor recognised source code control is in use including CVS and Subversion and optionally showed the status of each file in the drawer. XCode is a pretty good model here.

Source code control should also be available as a right click on the file in the drawer I think.

-- marxy

Please, please, include support for Git as well as most of the Ruby/Rails devs who so dearly love TM have switched to Git. (You might drop CVS support in return - it's not widely used anymore.)

-- svoop

Consistent Find Panels

I think the Find panel for documents and for projects should be the same, or at least should look the same and have the same functionality. I am missing the multiple find for single documents. In fact, this is the only thing I miss from BBEdit. Also, it took me a while to realize that you could do a 'Replace all in Selection' by pressing the alt key. I think this is too hidden and having something more obvious would improve usability of TextMate. I realize a Find panel could quickly become the "kitchen sink" with all these options available. For instance, I dislike BBEdit find panel for this reason. However, there must be a way to get things better. Maybe the Xcode find panel is a good starting point.

-- charles 6016?


Already Implemented

  • Switching to TextMate should restore the most recently minimized window, like other OSX apps, but it doesn't. Added in 1.1b4.
  • preference to select the default text encoding and default line ending. Added in 1.1b1.
  • a color-wheel: i think the web-preview thing is a really nice feature, i am not primary writing html and css but when, it comes realy handy. one thing i also would like to see is a os-x color-wheel. i often have to choose and create colors this way and it would be nice if textmate could give me this wheel just with two clicks from the window-menu. -- Torsten Becker

    Jan Sabbe wrote a color picker command that uses the wheel (and inserts the color as HTML): http://lists.macromates.com/pipermail/textmate/2004-November/001522.html

    Added to TextMate in 1.1b3 (Run Command > HTML > Colorpicker)

    "Strictly speaking that command should be added to the CSS bundle not the HTML bundle."

Save last window size for Show Information

It would be nice (those four words generate more work for programmers...) if the Show Information window (Project drawer, right-click on a file) would stay stretched to the last size I stretched it to, or show an elided path to fit the window width if saving the size isn't possible.

-- johnatl


Syntax coloring for regular expression search is a really handy feature in BBEdit. It would be nice to see it in TextMate, too.


I'd love to have a command to close all open documents, like File/Close All.

This can be done by ⌥-clicking the window close button (works for all Cocoa applications).
-- Allan Odgaard


Contextual Menus

  • As mentioned above, adding access to commands and snippets according to the current document type would be nice. Snippets in particular would be very useful.
  • A contextual menu item to select all within the enclosing brackets (as is available via the 'Edit: Select' menu)
  • Id like to have the first selection (#1) in a contextual menu be the "default" item if you just hit return without

having to hit "1"


a "find in all files" action available when clicking on a directory of the project drawer that ables us to use the find function, but on all files in that directory.

- yes, +1 - and include the ability to select multiple folders. I frequently want to search for something in "app and lib" or in "spec, features and test"


Check the position of the paste history list before it draws, currently it'll go right off the right-side of the screen if your cursor is too far right.


FTP support ! Oh yeah...i know it has been said a hundred time... But,really, the only thing thath would make TexMate the perfect editor is that ! An FTP support such as skEdit would be perfect ! Imagine, you can connect to your FTP site and edit files directly from it !


Also sftp support too! BBedit & TextWangler support both of ftp and sftp.

- Ron Patterson


File Icon Badges:

I would love to have the capability to add badges to the file icons in the project drawer. This could, for example, make working with subversion much easier as you could see which files were changed or were not yet under version control.


I would be nice to have a File -> Open Recent Projects Menu Item to navigate quick through projects.


In the same way that you highlight the opening bracket when you move the caret over the closing bracket, it would be nice if you highlighted the closing bracket when you move the caret over the opening caret. I would think this would be quite easy to do, and I doubt I am the only one that often wants to do the opposite of highlighting pairs (especially useful in SQL if you have many nested () for different functions and/or subqueries and you want to find the END of a subquery/function).

-Percy Hanna


Built-In Terminal

Kindof self-explanatory, but would be very useful when scripting that requires complex copile lines. Could maybe be put in the bottom drawer?

-Matt Carroll


Dock Icon Menu

It would be nice to have an Open Recent item in the Dock Icon Menu. I have TM set to open a new document when I click the icon. I realize that File>Open Recent will repace the blank file (nice!) but it would be even better if I could just click and drag my way to the recent file/project I want. Cheers!

-Alex Taylor


file navigation

next/previous window shortcuts & menu entries

it is currently afaik impossible to switch/cycle through windows/open files by keyboard if those are not in a project. having to use the mouse for this trivial task is a real nuisance. a menu item for each next window and previous window with respective shortcuts (suggestion: cmd-alt-shift-left/right) would help tremendously.

quick open

i am equally missing something akin to emacs' find-file command for quickly opening files without being forced to use the file selection dialog. the implementation might follow the incremental search , preferrably with tab completion (via shell?).


Look up Shortcut command

While rebuilding the TXP Bundle, I keep on constantly running into the problem whether a specific keyboard Shortcut is allready been taken/possible/suitable (makes sense) for Commands or Macros, that I am building. I am often using TM's Look up Bundle Item command that was introduced in the latest screencast. I know about the contextual selection menu that appears for multiple keybinding matches, but I would like to keep the logical convention and also avoid conflicts with other Bundle Items.

Would it not be great to have something reverse of the Select Bundle Item command, where you only insert the keystrokes that you are interested in, and then it would generate a list with all commands, macros etc, that use this key equivalent ?

-marios


Find in Project

  • Should run on a separate thread from the UI to prevent the UI from locking up while a search is taking place, along with a progress indicator or # of files searched.
  • Should be able to limit its scope to a certain directory (with or without recursive into subdirs).

--h3h

  • Should be able to narrow down what files to search. Often i just want to find the word "cache" in rhtml files

--thomas


Exporting Syntax Highlighting Information

  • Source looks great in TextMate, due to the great syntax highlighting, but there is no way to get this information out. When creating a presentation or writing rich text documentation, it would be nice to be able copy code in TextMate and have the rich text clipboard populated with the syntax highlighted version of the code, which could then be pasted into any rich text aware application.
  • Another similar feature would be the ability to print with syntax highlighting. Color makes code so much easier to grok.
  • This is not central to actually developing, so I realize it probably won't happen, but it would be very nice, would be completely unobtrusive, and would make sharing ideas much easier.

UPDATE

I see that something like this is possible with the TexMate->Create HTML from Document Bundle command, but unless you want the entire source as a web page, there are clumsy intermediate steps in what could be a seamless operation.

Already implemented with the Copy as RTF Bundle: http://github.com/drnic/copy-as-rtf-tmbundle
-- Andrew

-barry


Go to File to resolve ambiguity to directory of current file

I edit projects with many files of the same name, e.g., Makefile.am. When I use Cmd-T and enter Makefile.am I see all of them with their directories in no particular order (???). It would be nice if the top one was the one in the same directory as the file I'm currently looking at. Even better would be if they were further ordered: current directory, parent directory, parent parent, ..., and then all the others.

-Chris Alfeld

Addendum:

It would be even easier if the path were included in the search if any forward-slash characters were present in the search string. This would make my life so much easier!!

-Eric O'Connell

I also find myself working in projects with many same-named files. Being able to type a part of the leading directory with slashes to further refine the search would be ideal.

-Steve Madsen

This is the only feature missing in TextMate. I have twice as many en.yml and show.erb files than can fit on a screen.

-Zach Powell

Plus one on changing how "Go to File" matches. I disagree on the ordering (the adaptive matching is superior, imo), but matching the path name would resolve this requirement and add to the power of Cmd-T in one fell swoop.

Propose: space matches a slash. This retains backwards compatibility: no space, no slash, so only match against file name. once a space/slash char shows up, it starts to match against the path name.

- Colin Thomas-Arnold



Chinese / UTF-8 editing support.

If you type english then chinese, the first chinese character overlaps the english character. Need proper spacing on the characters.

-Nathan Stewart


Keyboard Equivalent for "Don't Save" button

It'd be great in the "Do you want to save changes" dialog if hitting "d" (no modifier) would choose "Don't Save" a la Photoshop. Then all three buttons would have keyboard equivalents, d, esc, and return.

-Toby Boyd

Just hit the space bar: note how the appropriate button in the dialog has a highlight ring: it's the same throughout the OS. Alternatively command-d does the same thing. Again, this is pretty much OS-standard.


Onscreen keyboard shortcuts

It would be helpful if I could press some sequence ctrl-? or something and a semitransparent borderless windows would display many of the most prevelent or all current (mode sensitive) keyboard shortcuts that are available. Much like pressing shift-? while using Google Reader.

-Parrish Myers


Pull together different windows

I often find myself opening up one window to edit a particular page of a website only to find out that I need to make changes in others so I'll end up with 5 or 6 different windows from the same project, it would be nice if I could pull all of these together into a single window with a draw/tab for each of them.

-James Raybould


Save scripts as execuable

It might be nice to have a checkbox on the Save dialogbox to save a file as executable. Otherwise you have to go to a terminal and run 'chmod +x foo.rb' yourself.

-Geoffrey Clements


Expiring tabs

It would make buffer handling much more easier if there was an option to automatically close all other tabs (buffers) except n most recent unmodified buffers. That is, assume user Joe has 17 tabs open, 4 of which contain changes not yet written to disk. Now, if n is 16, Joe can open 3 more files before the oldest (least recently opened) unchanged buffer is automatically closed.

-Edvard Majakari


Workspace

The problem with tabs is that when you have multiple files open some of tabs will become hidden. Tab-space just isn't big enough to hold all tabs at once. I think a smarter method would be to stack all open files vertically in the top of the drawer or do a more Espresso-ish approach and open files one at a time and if you want them open for a longer period of time (tabs) you can double click them and they will appear in your 'Workspace'.

-Christoffer Winterkvist


Full Screen Mode

Like a lot of other people on here, I'd like a full screen mode. I love writeroom but I don't want to use yet another text editor, and I miss the features on textmate. Although I also code with textmate I'm interested in full screen for distraction free creative writing. I especially like the big black borders and the retro green text in writeroom... somehow sucks you into the words.

Surely this can't be that hard?

-Alex Graves


Multi-Touch Support

It would be sweet if there was support for the multi-touch guestures on the new mac tracpad Suggestions:

  • Swipe up takes you to the top of the file
  • Swipe down takes you to the bottom
  • Twist right for next tab
  • Twist left for prev tab

Of course, it would be ideal to be able to customize what the gestures do...

-Max Baumann


Contextual Themes

As others have suggested, I'd love to have themes applied contextually based on doc type.

i.e. a dark theme for code (.rb, .html, etc.) and a bright one for texty files (.txt, .textile, ...)

- J. Hilts


Minimap / Birds Eye View

There could be an additional column (left / right of the Editor) that shows the entire document scaled down to the current height of the editor. It will not actually allow you to read anything but you get an instant feeling of the document and where you are. Due to the "fingerprintish" look of the scaled down version the navigation within a document and also within multiple documents is much easier because you will tend to recognize a document by its visual representation rather than a name. This also useful when you skip between multiple documents.

A nice implementation of such a feature can be seen here: http://www.sublimetext.com/

- Hauke

I have started working on a TextMate minimap plugin. Have a go, if you want. I would appreciate any feedback! It can be found on http://julianeberius.github.com/Textmate-Minimap/

- Julian


Decouple Textmate from Apple. I know this is equal to "Rewrite Textmate" but Textmate is not what it is because of the Apple-Platform. Its pure *nix power.

Think about an abstraction of the TM-Core from the window server and imagine you would have an implementation for Gnome, KDE and even Terminal. In my opinion this would really kick ass vim and emacs :D

- Konsi


How about image support. I don't want to edit, but simply being able to view an image in the main window when one is selected from the project would help a lot. Xcode has this feature and I suspect it would be relatively easy to implement. It may even be possible to use the quicklook code to support many different file type being viewed.

- Dan


Change the keyboard-shortcut for "Replace All" from ⌃⌘F witch is the OS X 10.7+ standard for going into full-screen. In my case it messed up my httpd.conf file since I happened to invoke the command after having searched for "auth" at some point, thus replacing all instances of the term in the document without me realizing it. After some clueless errors I had to dig up a backup of the file and run a file compare on it to realize what had happened.

- Erik