Sublime Text 3 安装 BracketHighlighter
1 概述
由于最近在Sublime Text 3安装 BracketHighlighter
遇到不少问题,其中踩了不少坑,因此总结下来,形成博客,希望能帮助更多的人
2 电脑环境
windows 10
Sublime Text 3 Version 3.2.1,Build 3207 已注册
PS:
如果不知道自己Sublime Text 3版本的小伙伴可以 通过 Help-> About Sublime Text
3 安装BracketHighlighter
① 按照正常流程,我们会首先安装 Package control,如果不清楚的小伙伴,可以百度随意搜一搜,网上教程很多,我就不重复造轮子了,我默认大家已经安装好 Package control 并且知道如何使用它并安装相应插件
②安装 BracketHighlighter
,大家的第一选择肯定是在线安装,我自己也是选择的在线安装,可是立马就遇到了问题
第一个坑 ctrl+` 打开控制台,会发现有如下错误
Package Control: The dependency 'python-jinja2' is not currently installed;
Package Control: The dependency 'python-jinja2' is not available
Package Control: The dependency 'python-jinja2' could not be installed or updated
这是因为 python-jinja2
这个依赖包是放在bitbucket上而非Github上,目前Sublime Text 3在线安装,如果需要bitbucket上的依赖,基本上都会失败。估计是bitbucket那边的问题,具体原因我也不清楚,目前社区正在处理这个问题,如果感兴趣的朋友可以去github上看https://github.com/facelessuser/BracketHighlighter/issues/528
③既然在线安装已经行不通了,那就只有走离线安装了,安装BracketHighlighter总共需要6个插件,其中有两个插件在bitbucket上,我们必须手动下载下来,然后再通过在线安装。
https://bitbucket.org/teddy_beer_maniac/sublime-text-dependency-jinja2 将解压过后的安装包更名为python-jinja2
https://bitbucket.org/teddy_beer_maniac/sublime-text-dependency-markupsafe -> 将解压过后的安装包更名为markupsafe
第二个坑 网上很多教程包括官网说离线安装包 放到 Packages
下,而安装目录刚好有一个Packages
因此我就将 markupsafe
和python-jinja2
放在该packages下,可是问题依旧没有解决,Sublime Text 3还是没有安装BracketHighlighter
这个插件
④经过我一番研究,终于发现问题的解决之道。
Sublime Text 3默认会在 C:\Users\用户名\AppData\Roaming下 创建 Sublime Text 3文件夹
我自己的电脑路径是C:\Users\ASUS\AppData\Roaming\Sublime Text 3
将 markupsafe
和python-jinja2
放在C盘下的Sublime Text 3/Packages,然后再打开Sublime,进行在线安装,问题得以解决,成功安装上BracketHighlighter这个插件。
于是我打算关闭电脑,准备睡觉,屏幕面前刚好有一个JS文件,我就随意点了点,但是好像括号不起效果,于是我就上网查了查,大家都说BracketHighlighter需要一些配置,于是我就按照网上相关教程进行配置,可是居然配置了一个小时都没有成功!!!我真的是惊呆了
第三个坑
直觉告诉我,应该是插件出问题了,于是乎我点开Quick Start Guide 和 Support Info
果不其然,Quick Start Guide 点开是一个空文件,Support Info中 插件信息不完整,有的插件有版本信息,有的插件没有版本信息 PS:BracketHighlighter需要6个插件依赖
于是乎,我立马重新回到官网http://facelessuser.github.io/BracketHighlighter/installation/,从头开始重新操作一遍。
①下载6个插件,并且按照官网要求更改解压包目录名,然后将文件放到Package下
②在github上下载BracketHighlighter并按照官网要求更改解压包目录,然后将文件放到Package下
③按照官网要求在Package包下创建00-dependencies
文件夹并且在该文件夹下创建文件00-dependencies.py
,然后将下列代码,复制到该文件中。
import sys
import os
from os.path import dirname
if os.name == 'nt':
from ctypes import windll, create_unicode_buffer
import sublime
if sys.version_info >= (3,):
def decode(path):
return path
def encode(path):
return path
if os.path.basename(__file__) == 'sys_path.py':
pc_package_path = dirname(dirname(__file__))
# When loaded as a .sublime-package file, the filename ends up being
# Package Control.sublime-package/Package Control.package_control.sys_path
else:
pc_package_path = dirname(__file__)
st_version = u'3'
else:
def decode(path):
if not isinstance(path, unicode):
path = path.decode(sys.getfilesystemencoding())
return path
def encode(path):
if isinstance(path, unicode):
path = path.encode(sys.getfilesystemencoding())
return path
pc_package_path = decode(os.getcwd())
st_version = u'2'
st_dir = dirname(dirname(pc_package_path))
def add(path, first=False):
"""
Adds an entry to the beginning of sys.path, working around the fact that
Python 2.6 can't import from non-ASCII paths on Windows.
:param path:
A unicode string of a folder, zip file or sublime-package file to
add to the path
:param first:
If the path should be added at the beginning
"""
if os.name == 'nt':
# Work around unicode path import issue on Windows with Python 2.6
buf = create_unicode_buffer(512)
if windll.kernel32.GetShortPathNameW(path, buf, len(buf)):
path = buf.value
enc_path = encode(path)
if os.path.exists(enc_path):
if first:
try:
sys.path.remove(enc_path)
except (ValueError):
pass
sys.path.insert(0, enc_path)
elif enc_path not in sys.path:
sys.path.append(enc_path)
def remove(path):
"""
Removes a path from sys.path if it is present
:param path:
A unicode string of a folder, zip file or sublime-package file
"""
try:
sys.path.remove(encode(path))
except (ValueError):
pass
if os.name == 'nt':
buf = create_unicode_buffer(512)
if windll.kernel32.GetShortPathNameW(path, buf, len(buf)):
path = buf.value
try:
sys.path.remove(encode(path))
except (ValueError):
pass
def generate_dependency_paths(name):
"""
Accepts a dependency name and generates a dict containing the three standard
import paths that are valid for the current machine.
:param name:
A unicode string name of the dependency
:return:
A dict with the following keys:
- 'ver'
- 'plat'
- 'arch'
"""
packages_dir = os.path.join(st_dir, u'Packages')
dependency_dir = os.path.join(packages_dir, name)
ver = u'st%s' % st_version
plat = sublime.platform()
arch = sublime.arch()
return {
'all': os.path.join(dependency_dir, 'all'),
'ver': os.path.join(dependency_dir, ver),
'plat': os.path.join(dependency_dir, u'%s_%s' % (ver, plat)),
'arch': os.path.join(dependency_dir, u'%s_%s_%s' % (ver, plat, arch))
}
def add_dependency(name, first=False):
"""
Accepts a dependency name and automatically adds the appropriate path
to sys.path, if the dependency has a path for the current platform and
architecture.
:param name:
A unicode string name of the dependency
:param first:
If the path should be added to the beginning of the list
"""
dep_paths = generate_dependency_paths(name)
for path in dep_paths.values():
if os.path.exists(encode(path)):
add(path, first=first)
add_dependency('pygments')
add_dependency('backrefs')
add_dependency('markupsafe')
add_dependency('python-markdown')
add_dependency('python-jinja2')
add_dependency('mdpopups')
最后看一下文件目录:
④重启Sublime
4 成功
最终终于成功了!!!
然后我们再点击 Quick Start Guide 和 Support Info
Quick Start Guide 相应Markdown文件 能够正常显示
Support Info 所有插件显示正常
5 自定义配置
这个时候我们也可以自定义相应的配置,比如我不想要下划线显示,而是高亮显示
找到大概在686行左右,将style中的underline改成highlight
PS:这里有两种修改方法
①直接在左面文件及插件默认配置文件中进行修改,如果后期想要恢复最初的配置,那就得看你的记忆力好不好了。
②在右边文件中进行修改,这种方式是最好的,及复制左边的文件内容到右边,在右边及用户文件中进行修改,这样不会影响插件默认配置文件,Sublime Text 3 优先读取用户自定义文件。
如果大家还需要其他的配置,可以认真看这个配置文件,注释信息写的挺齐全的,当然如果英语不好或者时间紧迫的小伙伴,可以通过google、百度获取相关配置信息
6 总结
一:原因
这次遇到安装BracketHighlighter插件问题的主要原因,是因为bitbucket服务器有问题,导致无法下载python-jinja2
和 markupsafe
两个依赖,社区目前正在处理这个问题。
二:自己的问题
其实如果按照官网离线下载,一步一步走下来,完全没有问题,而自己通过 离线安装+在线安装,及自己下载python-jinja2
和 markupsafe
两个无法在线下载的依赖,提前放到安装包下,然后通过Package control 下载 BracketHighlighter,它会在线下载其余4个依赖,结果看似是成功了,可是问题一大堆,BracketHighlighter无法识别python-jinja2
和 markupsafe
,相当于这个插件仅仅是一个半成品。
三:剩余问题
虽然通过离线成功安装了BracketHighlighter,可是还是有一些问题
①
②
③
四:思考
如果要使用离线安装,那么最好就不再安装Package Control,后期等社区处理好 markupsafe
和python-jinja2
这两个依赖包问题,自己还是要使用Package Control 重新下载 BracketHighLighter
出处:https://www.cnblogs.com/AdaiCoffee/
本文以学习、研究和分享为主,欢迎转载。如果文中有不妥或者错误的地方还望指出,以免误人子弟。如果你有更好的想法和意见,可以留言讨论,谢谢!
Sublime Text 3 安装 BracketHighlighter的更多相关文章
- sublime Text 的安装、破解、汉化、使用
Sublime Text 3安装与使用 本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text- ...
- Sublime Text 3安装与使用
本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔 ...
- Sublime Text 3安装与使用 Package Control 插件安装
原文地址:http://www.cnblogs.com/zhcncn/p/4113589.html 本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs ...
- Sublime Text 3安装与使用,安装插件,快捷键,默认配置
本文是Sublime Text 全程指引 by Lucida (http://www.cnblogs.com/figure9/p/sublime-text-complete-guide.html)的笔 ...
- 2分钟 windows下sublime text 3安装git插件:
12:35 2015/11/182分钟 windows下sublime text 3安装git插件:推荐博客:http://blog.csdn.net/naola2001/article/detail ...
- 10秒钟sublime text 3安装SVN插件
注意:此处我提前已经安装了towerSVN,你可能需要提前安装好 towerSVN,之前安装redis之后我才明白,安装插件时安装软件好像 是一个必要的步骤,也就是说安装插件只是让你能在这里使用你已 ...
- sublime Text 2 安装Sublime Package Control
Sublime Text 2 安装 Sublime Package Control,通过 Sublime Package Control,安装.升级和卸载 Package. 安装 Package Co ...
- Sublime Text 3安装Latex
Sublime Text 3安装Latex 安装环境 Sublime Text 3已安装Package Control 安装过程 进入官网下载安装MikTex,www.miktex.org 进入官网下 ...
- Sublime Text 2安装汉化破解、插件包安装教程
原文地址: Sublime Text 2安装汉化破解.插件包安装教程_百度经验 http://jingyan.baidu.com/article/ff4116259b057c12e48237b8.ht ...
随机推荐
- Rancher 2.2.2 - HA 部署高可用k8s集群
对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server.当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kuber ...
- sql server & .net core 使用空间数据
使用的库 Microsoft.EntityFrameworkCore.SqlServer Microsoft.EntityFrameworkCore.SqlServer.NetTopologySuit ...
- 赵伟国辞去TCL集团董事等职位,紫光参与TCL定增浮盈已超7亿
集微网消息,TCL 集团于8月9日晚间发布公告称,公司董事会于近日收到董事赵伟国先生的书面辞职报告,赵伟国先生因个人原因申请辞去公司董事及公司战略委员会委员职务.辞任后,赵伟国先生不再担任公司任何职务 ...
- 【推荐网站】下载国外网盘+强大的离线下载站—offcloud.com
博主在网上浏览时看到一篇帖子,推荐了一个离线下载网站–offcloud.com,支持上传种子文件.磁力链和几十家网盘的直连下载,厉害了我的哥,这是个啥网站这么666.即使之前咱们写了几篇文章来自建下载 ...
- JS IE和火狐兼容性问题
<script type="text/javascript"> onload = function () { document.get ...
- 【WPF】SnapsToDevicePixels与UseLayoutRounding二者到底有什么区别?供参考
原文:[WPF]SnapsToDevicePixels与UseLayoutRounding二者到底有什么区别?供参考 MSDN上解释了一大堆,二者对比来看,并不能发现什么明显的区别,微软爸爸也不知道多 ...
- 如何将JPEG缩略图放到LISTVIEW中(delphi listview自绘图形)
http://www.docin.com/p-567657457.html?qq-pf-to=pcqq.c2c http://www.cnblogs.com/snow001x/archive/2008 ...
- Win8Metro(C#)数字图像处理--2.7图像伪彩色
原文:Win8Metro(C#)数字图像处理--2.7图像伪彩色 2.7图像伪彩色函数 [函数名称] 图像伪彩色函数PseudoColorProcess(WriteableBitmap src) ...
- LIBCMTD.lib(exe_winmain.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 中被引用
这个问题是没找到程序入口 在网上查这个问题,一般都是说两条: (若是win32程序) 一是在项目属性\CC++\预处理器\预处理器定义\里添加 _WINDOWS 一是在项目属性\链接\系统 里选择 窗 ...
- ARTS 12.10 - 12.14
从陈皓博主的专栏里学到一个概念,争取可以坚持下去: 我在我的读者群中推荐出 ARTS 的任务,每个人每周一个 Algorithm,Review 一篇英文文章,总结一个工作中的技术 Tip,以及 Sha ...