您的位置:首页 > 移动开发 > Unity3D

用Sublime Text 2 作IDE开发 Unity3D 项目(VinceLi)

2015-08-11 10:53 447 查看
sublime是一款非常优秀的脚本编辑器,用它做unity3d的项目IDE效果也不错。

关于这个软件的配置,网上找了些教程,如下是按照这个/content/5245598.html做的,个人觉得内容不是很具体,下面补完:

下载好sublime text,个人用的是sublime text2,嗯那个要钱是吧?看你们本事了。

好,然后安装package controll,文章链接:/article/5578381.html

在线安装,首先打开 Ctrl + ~,输入如下的代码:

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')


安装完了之后重启软件即可。

ps:输入Ctrl + Shift + P 然后输入Install Package看是否可以调出来Install Package验证下安装是否成功。

unity设置sublime

edit-preferences-External tools

选择好sublime,然后下面Arg要填"$(File)":$(Line)

原因:http://docs.unity3d.com/Manual/Preferences.html

Sublime 中 C# 注释快捷键

这个很简单,照着第一个链接里面的做就ok了,方法如下
Sublime 注释的快捷键是 ctrl+/,对于不同的语言根据文件的扩展名会有不同的注释类型,不知道为什么这个快捷键在 C# 中似乎是失效了,也找到了解决方法,因为 C# 的注释和 JS 是一样的,所以把 JS 中关于注释那一块的 source 类型加上 cs 就好。具体的操作步骤如下:

1、打开 Sublime 的包目录,Preference -> Browse Packages ...

2、打开 JavaScript,找到 Comments.tmPreferences 并编辑

3、找到并编辑 <string>source.js, source.json, source.cs</string>

C# 语法分析

这个插件是重中之重,它会从 dll 文件中分析相关的类信息以及其他的元信息,然后你在编辑 cs 文件的时候,会在输入 . 的时候触发补全功能,根据不同的上下文,不同的变量,不同的类文件,会显示出相应的变量和方法提示列表,好用到暴!拉下来我们安装:

1、安装插件:CompleteSharp

2、编辑工程文件,工程文件是指扩展名为 *.sublime-project 的文件

3、在工程文件中加入如下相关的 dll 信息

然后像我这样没头脑的人就不知道工程文件是在哪里了,好吧,其实工程文件要自己在自己工程里面新建。那么,在工程里面新建一个 名字.sublime-project的文件吧,然后用sublime打开,下面的信息要自定义

{
"folders":
[
{
"path": "/C/Users/Vince/Desktop/shaderStudy"<span style="white-space:pre">		</span>//自定义的项目路径
}
],
"settings":
{
"completesharp_assemblies": [
"D:/Program Files (x86)/Unity5/Editor/Data/Managed/UnityEngine.dll",<span style="white-space:pre">	</span>//自定义的unity3d程序路径,注意unity5和unity的文件名不一样
"D:/Program Files (x86)/Unity5/Editor/Data/Managed/UnityEditor.dll",
"D:/Program Files (x86)/Unity5/Editor/Data/Managed/nunit.framework.dll",
"D:/Program Files (x86)/Unity5/Editor/Data/Mono/lib/mono/unity/UnityScript.dll",
"D:/Program Files (x86)/Unity5/Editor/Data/Mono/lib/mono/unity/System.Core.dll",
"D:/Program Files (x86)/Unity5/Editor/Data/Mono/lib/mono/unity/System.dll",
"C:/Users/Vince/Desktop/shaderStudy/*/*/*/*/*.dll",<span style="white-space:pre">			</span>//用自己的项目路径把<span style="font-family: Arial, Helvetica, sans-serif;">C:/Users/Vince/Desktop/shaderStudy/替换掉</span>
"C:/Users/Vince/Desktop/shaderStudy/*/*/*/*.dll"
]
}
}


增强版的 All AutoComplete

这个我不是很清楚,可能还不需要吧,作者主要是要查找自己定义的类啊方法的,可以链接里面找下

插件:All AutoComplete

编辑 all_views_completions.py 文件,在其中 AllAutocomplete 中加入了一个 __init__ 方法,该方法会在插件初始化的时候去读取一个指定目录下的文件,指定目录下会有若干个文件,文件为一个以 '|' 为分隔符的单词的字符串,比如:Abs|AccelerationEvent,并将所有读取到的单词加入到 self.customs 中,然后在触发补全的方法中,将自定义的单词加入进去,大概效果效果如下(unity.txt 这份文件其实是从 Unity3D/UnityC#.tmLanguage
中扒过来的):

def __init__(self):
words = []
for root, dirs, files in os.walk("D:/Program Files/Sublime Text 2/Conf/Packages/All Autocomplete/custom"):<span style="white-space:pre">		</span>//改成自己package里面的路径
for name in files:
with open(os.path.join(root, name), "r") as file:
words += file.read().split('|')

words = filter_words2(words)
self.customs = without_duplicates(words)


Unity3D 脚本参考

好,这个是重中之重,先贴作者的

写代码的过程中,经常会需要查 API 文档,所以方便的查 API 文档是一个重要的功能。Sublime 本身并不提供类似的功能,但这难不倒各位程序员童鞋,我在网上找到一个插件:Unity3D Script Reference Search,这个插件的作用就是搜索 API,可以搜索当前光标上的单词,也可以输入指定的内容。这个插件干的事情非常简单,其实就是在插件中调用 webbrowser.open_new_tab(url) ,其中 url 就是拼成的一个查询链接。不过这个插件访问的 url 却是官网的在线
API,而实际上在本地是也有一份 API 文档的,通过 Unity 菜单 Help -> Scripting Reference 可以访问。

我试着改了一下插件,修改 Unity3DScriptReference.py 文件,将其中的 url 链接改成指向本地的文件,似乎并不生效,web 这一块我不熟悉,所以我干脆简单点,用 Python 开一个简单的 http 服务,我在 使用Python创建简单的HTTP和FTP服务 中有介绍,直接在 Unity 目录下面开一个 http 服务,最终的效果图如下:





2014/5/23 修改:因为有先入为主的想法,以为只能用 webbrowser 来访问网页,实际上是不需要的,http 服务也是没必要开的,上面的代码只要改一下就可以,将 webbrowser.open_new_tab 改成 subprocess.call 就可以了,如下:

browser = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe "<span style="white-space:pre">	</span>//自己的浏览器路径

def SearchUnityScriptReferenceFor(text):
# url = 'http://unity3d.com/support/documentation/ScriptReference/30_search.html?q=' + text.replace(' ','%20')
url = 'file:///D:/Program%20Files%20(x86)/Unity/Editor/Data/Documentation/Documentation/ScriptReference/30_search.html?q=' + text.replace(' ','%20')<span style="white-space:pre">	</span>//自己的<span style="font-family: Arial, Helvetica, sans-serif;">ScriptReference下面的路径,一定要填对,还有unity5会有en文件夹在</span><span style="font-family: Arial, Helvetica, sans-serif;">ScriptReference之前,要注意</span><span style="font-family: Arial, Helvetica, sans-serif;">
</span>    # webbrowser.open_new_tab(url)
subprocess.call(browser+url)<span style="white-space:pre">	</span>//浏览器加链接

def OpenUnityFunctionReference(text):
# url = 'http://unity3d.com/support/documentation/ScriptReference/' + text.replace(' ','%20')
url = 'file:///D:/Program%20Files%20(x86)/Unity/Editor/Data/Documentation/Documentation/ScriptReference/' + text.replace(' ','%20') + '.html'
# webbrowser.open_new_tab(url)
subprocess.call(browser+url)
这样,在sublime里面用右键点类,可以查找本地api

需要定义快捷键的,ctrl+shift+p -> key bindings user,添加如下快捷键:

{ "keys": ["f4"], "command": "unity_reference_search_selection" }


unity高亮插件:unity3d

代码片段插件:Unity3D Snippets and Completes

中文乱码插件:ConvertToUTF8或者GBK Encoding Support

还有,可以设置每次打开sublime的文件格式。先打开一个cs文件,在右下角的文件选择中选择unity3D--->unity C#,js同理,然后再最上面设置Open all with current extension as...这样就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: