Code Monkey home page Code Monkey logo

xtodo's Introduction

XToDo -- Xcode plugin

image

image

What Can XToDo do?

  • collect and list the TODO,FIXME,???,!!!
  • show stat for an item finished or not (still can not switch on/off)
  • filter results if you have too much todos
  • snippets make a todo comment easily
  • standalone App if you'd like not to wait for 10-sec Xcode starting

Install

clone this repo, Build the project and it's done!

or you can download from this link and move the plugin to path
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/
then restart Xcode

Usage

Open any project and use ctrl+t to trigger the List Window on/off

FAQ

not work for new Xcode ?

Please run this in your Terminal:

find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | xargs -I{} defaults write {} DVTPlugInCompatibilityUUIDs -array-add `defaults read /Applications/Xcode.app/Contents/Info.plist DVTPlugInCompatibilityUUID`

and remember to change the Xcode path /Applications/Xcode.app if you have a customize Xcode app name or folder like /Applications/Xcode-beta.app

xtodo's People

Contributors

andr3a88 avatar ben-g avatar bogren avatar cojoj avatar gcatellaninl avatar gkaindl avatar iossid avatar julian-weinert avatar kitschpatrol avatar kreeger avatar markeissler avatar poboke avatar rodya avatar shuice avatar sleifer avatar tillt avatar trawor avatar wbcyclist avatar yeahdongcn avatar zenangst avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xtodo's Issues

Open wrong line

Open wrong line on 2 and more selections. Opens line from first file with "TODO" in list.
For example, first TODO was at Foo.m:111, and second TODO at View.m:444. You select first file, selected line is correct, but when you select second item in list xcode will open View.m:111 instead View.m:444

Parse error

First: congrats, your plugin is a TO HAVE plugin. Definitely.

Please consider that:

// TODO adjust margins0
and
/* TODO adjust margins1 */

Will be displayed in this way:

  • adjust margins0
    and
  • adjust margins1 */

You have to truncate "todo" description if ends with "*/".

xcode 6.3.2 compatibility

God time of day,
I recently installed XToDo (via downloading and building master), but it does not seem to work with xcode 6.3.2 (not beta).

Sorry if duplicate.

Opens selected item in a non-running copy of Xcode

If you have a separate install of Xcode running (such as the 5.1 seed), and also have the released version installed, the plugin will open the released version of Xcode.

The currently running version of Xcode should be reused.

Xcode 7 doesn't show any changes

I installed this plugin via Alcatraz & restarted Xcode. However, I don't see any new menu items and the keyboard shortcut doesn't seem to do anything, either.

Not building in Package Manager and Xcode 6.1 GM

Oct 1 10:19:24 jtolys-iMac.local Xcode[93968]: Updating Repo: /Volumes/HD/Users/jtoly/Library/Application Support/Alcatraz/Plug-ins/XToDo
Oct 1 10:19:25 jtolys-iMac.local Xcode[93968]: Git fetch output:
Oct 1 10:19:25 jtolys-iMac.local Xcode[93968]: Git reset output: HEAD is now at 198f0d0 Merge pull request #36 from cojoj/xcode-6-gm
Oct 1 10:19:25 jtolys-iMac.local xcodebuild[94624]: [MT] PluginLoading: Required plug-in compatibility UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 for plug-in at path '/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Xprop.xcplugin' not present in DVTPlugInCompatibilityUUIDs
Oct 1 10:19:26 jtolys-iMac.local Finder[405]: CreateWithFileInfo failed to create URL with FSRef, falling back to blank icon.
Oct 1 10:19:26 jtolys-iMac.local com.apple.usbmuxd[49]: MuxTCPInputSCE received RST for 0x19-9ea60ca4e15f82b066af88a47e31f1a9d1cc3ba3@0xfd130000:50870->0x100427dd0-xcodebuild/NULL:10569: sendMuxSegment connection was closed
Oct 1 10:19:26 jtolys-iMac.local Xcode[93968]: Xcodebuild output: 2014-10-01 10:19:25.811 xcodebuild[94624:1007] [MT] PluginLoading: Required plug-in compatibility UUID C4A681B0-4A26-480E-93EC-1218098B9AA0 for plug-in at path '
/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Xprop.xcplugin' not present in DVTPlugInCompatibilityUUIDs
=== BUILD TARGET XToDo OF PROJECT XToDo WITH THE DEFAULT CONFIGURATION (Release) ===

Check dependencies

Create product structure
/bin/mkdir -p /Volumes/HD/Users/jtoly/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XToDo.xcplugin/Contents
/bin/mkdir -p /Volumes/HD/Users/jtoly/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XToDo.xcplugin/Contents/MacOS
/bin/mkdir -p /Volumes/HD/Users/jtoly/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins/XToDo.xcplugin/Contents/Resources

CompileC build/XToDo.build/Release/XToDo.build/Objects-normal/x86_64/XToDoModel.o XToDo/XToDoModel.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
    cd "/Volumes/HD/Users/jtoly/Library/Application Support/Alcatraz/Plug-ins/XToDo"
    export LANG=en_US.US-ASCII
    /Volumes/Envoy/D-Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c -arch x86_64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=gnu99 -fobjc-arc -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Werror=return-type -Wno-implicit-atomic-properties -Werror=deprecated-objc-isa-usage -Werror=objc-root-class -Wno-receiver-is-weak -Wno-arc-repeated-use-of-weak -Wduplicate-method-match -Wno-missing-braces -Wparentheses -Wswitch -Wunused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wbool-conversion -Wenum-conversion -Wshorten-64-to-32 -Wpointer-sign -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wundeclared-selector -Wno-deprecated-implementations -DNS_BLOCK_ASSERTIONS=1 -isysroot /Volumes/Envoy/D-Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -mmacosx-version-min=10.8 -g -Wno-sign-conversion -iquote /Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/XToDo-generated-files.hmap -I/Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/XToDo-own-target-headers.hmap -I/Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/XToDo-all-target-headers.hmap -iquote /Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/XToDo-project-headers.hmap -I/Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/Release/include -I/Volumes/Envoy/D-Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/DerivedSources/x86_64 -I/Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/DerivedSources -F/Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/Release -F/Applications/Xcode.app/Contents/SharedFrameworks -include /var/folders/kh/5sr3hs0d3318c4kjgq8p4v6c0000gn/C/com.apple.DeveloperTools/6.1-6A1042b/Xcode/SharedPrecompiledHeaders/XToDo-Prefix-gscbuobbwqbkexafpyknmsmpbkfb/XToDo-Prefix.pch -MMD -MT dependencies -MF /Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/Objects-normal/x86_64/XToDoModel.d --serialize-diagnostics /Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/Objects-normal/x86_64/XToDoModel.dia -c /Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/XToDo/XToDoModel.m -o /Volumes/HD/Users/jtoly/Library/Application\ Support/Alcatraz/Plug-ins/XToDo/build/XToDo.build/Release/XToDo.build/Objects-normal/x86_64/XToDoModel.o
/Volumes/HD/Users/jtoly/Library/Application Support/Alcatraz/Plug-ins/XToDo/XToDo/XToDoModel.m:395:31: error: instance method 'application:openFile:' not found ; did you mean 'application:openFiles:'?
        if ([[NSApp delegate] application:NSApp openFile:item.filePath]) {
                              ^~~~~~~~~~~~~~~~~~~~~~~~~~
                              application:openFiles:
1 error generated.

** BUILD FAILED **


The following build commands failed:
    CompileC build/XToDo.build/Release/XToDo.build/Objects-normal/x86_64/XToDoModel.o XToDo/XToDoModel.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

error [XToDoWindowController loadWindow]

Hi,
awesome plugin, I can't live without it. :D

I'm getting this error, in xCode 6.1 (in xCode 6 didn't worked for me either)
23/10/14 18:06:35,242 Xcode[19046]: -[XToDoWindowController loadWindow]: failed to load window nib file 'XToDoWindowController'.

Any idea how to fix it?

Thanks!

快捷键冲突

因为control+t是系统快捷键,用来对换光标前后的两个字母。

xcodebuild warnings (6.4)

With xcodebuild I get these ugly warnings:

$ xcodebuild
xcodebuild[4320:130459] [MT] PluginLoading: Required plug-in compatibility UUID 7FDF5C7A-131F-4ABB-9EDC-8C5F8F0B8A90 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XToDo.xcplugin' not present in DVTPlugInCompatibilityUUIDs
xcodebuild[4320:130459] Failed to load plugin at: /Volumes/Users/nat/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XToDo.xcplugin, skipping.  Reason for failure: *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]

I removed and reinstalled a few times, but it didn't help.
It is not the only Alcatraz plugin I use, but the only one with that warning.

xcode 4.6

hello.
Is there a version for the Xcode 4.6?
use newest code build ,but it cannot work on Xcode 4.6.

Allow for deeply nested xcodeproject parsing

Some projects have the xcodeproject not in their root but in some deeply nested folder (e.g. contrib/osx/). As the source-root of those projects usually is higher up, no TODOs etc. will be located as the current version simply looks into the project-dir and below.

I can see two options;
A. Allow for project specific configuration settings that offer freely choosing at which location the source-files reside.
B. Parse the project-file itself and gather that information out of that - this however could be pretty involving as the Xcode-specific env-variable SOURCE_ROOT itself wont do. It would also demand parsing nested subprojects.

Personalize XToDo keyboard shortcut

Hi,

The idea of having such plugin is great. Plus it is really simple an convenient.
It is perfect, except for one little issue.

The ctrl-t keyboard shortcut is already a really useful keyboard shortcut in MacOSX to change the order of two characters. This key is inherited from emacs keyboard shortcut and is available everywhere in OSX.

I'd be really happy if you could give us a way to change that shortcut that I specially use often when coding.

Thanks again for this great plugin,
Bertrand

Sorting / Searching

It would be amazing if you could sort the TODO list, searching would be good too.

Sorting seems to be the thing lacking in Xcode, which I'd hoped this plugin would do.

Cursorposition fix

Found a fix for the cursor positioning problem. It's in XToDo.m

-(void)insertComment:(NSString*)cmt{
IDESourceCodeEditor *editor=[XToDoModel currentEditor];
NSTextView *textView=editor.textView;
if (textView) {
NSInteger insertionPoint = [[[textView selectedRanges] objectAtIndex:0] rangeValue].location;
[textView insertText:cmt];
[textView setSelectedRange:NSMakeRange(insertionPoint+cmt.length-1, 0)];
//TODO: Add a space, without moving te cursor to the next line
}
}

How to invoke XToDo / tell if the plug-in worked?

I am running Xcode 7 Beta 4. I built the target and placed it in ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins (the folder didn't exist, I created it). Then, launched Xcode.

When I press CTRL-T, it does something else, so I went through the key bindings, remapped Transpose. Now CTRL-T just beeps at me.

I restarted Xcode again, still no luck. This is my first plug-in I have deployed in Xcode, so I don't know how to tell if it was recognized and loaded. I don't see anything about plug-ins in the menu, or in Preferences.

Use plugin panel

Hi, thanks for the great XCode plugin. I created plugin panel. It's a panel like left xcode panel (with a tree of files). I think, your plugin suitable for this panel. It will be very usable and comfortable. And you can move your plugin to PluginPanel very fast and easy. I will be grateful if you look and test it.

https://github.com/AlexIzh/PluginPanel

Support for !!!! comments

Not really an issue. It would be nice to complete the list. I use the !!!! a lot to mark important lines when FIXME or TODO doesn't seem appropriate. Great plugin. Essential.

点击定位的问题

现在如果我点一次某条todo的话,切到别的文件再点一次的话就无法定位了,
必须要点一下空白的地方让被点的todo不被selection的时候才行,
能否改进一下 谢谢~

TODOs not identified

After cloning the current repo and building it, I can see the View->Snippets menu and CTRL+t does open the overview.

However, no matter how many TODO's or FIXME's I am inserting into the sources of the current project and no matter how often I tap on "Refresh" within the overview, there is nothing identified or displayed.

What am I missing here?

Please add search scope feature

I use Xcode workspace and CocoaPods to develop Apps. Third party libraries are always having comment tags. It's good to set the search scope for a specific .xcodeproj or any subgroup to filter out unnecessary TODO comments from those libraries.

双击误识别问题

List界面点了一条之后 焦点会到XCode主窗口上,然后再激活XToDo界面,再点一条记录的时候,很容易识别成双击事件,导致单独打开一个新的代码编辑器。

Swift files support

I would recommend to add *.swift files for search for TODO and FIXME like marks.

XToDo shows functions / macros / methods

The plugin does not only read comments, but the complete source code. This means, that functions, macros, flags, etc. (e.g. AUTO_FIXME()) would be displayed in the window.

Please only read comments.

Lazy Evaluation

Assuming you have TODO and TODO[GC] landmarks the assignment of comments currently depends on the sorting order of the landmarks in the plugin settings due to the lazy evaluation. If for example the TODO[GC] is at the bottom of the list all of that comments will be assigned to the TODO landmark.

Is it possible to fix that issue in some future version?

XCode 6.1 Window doesn't open

Installed via Alcatraz. I can see the menu items ToDoList and Snippets. I can also add snippets from this menu. However, clicking ToDoList does nothing (the ToDo window never opens).

Xcode 5.1: XToDo Broken

Xcode updated last night and now I no longer see Snippets in the View menu as well as the Ctrl+T hotkey no longer works.

Inserting a todo with menu or shortcut crashes XCode

I am using Xcode 5.1 and trying out XToDo.
i have latest pull from git.
i built it in Xcode, then closed xcode.

i opened up Xcode and opened the XToDo project and tried to insert a todo. This worked perfectly.
i then moved to another project (which is C++ based) and tried to do an insert of a todo using both the menu and the shortcut. ( i have only tried doing todo). When i do this it crashes Xcode every time.
The project in question has only got one file main.cpp (i.e. it is the basic project when you create a new C++ project).

Are there any traces i can switch on to help debug and provide better feedback here?

Does not work with Xcode 7?

Hi!

I have just installed the plugin into my Xcode 7 pre-release and it looks like the plug in is not working. I do not see it from the View menu and ctrl + t does not bring up the window.

Sergey

Exclude source files

It would be awesome if I could specify source files for my TODOs, either an .xcodeproj or specific folder to target

does not find my FIXMEs

because it it seems to require a trailing ":"

So the list of "Scanned Tags" is really misleading then.
It would be good if it would not add the ":".

The tick

Hello can we trigger the tick or this action havent been implement

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.