Mac系统修改Intellij Idea默认JDK版本

2014-08-24

Intellij IDEA 默认情况下,使用的jdk的版本是1.6,当第一次启动IDEA的时候,如果系统中未安装jdk,则系统会自动到苹果官网下载jdk安装文件。如果你的系统已经安装了jdk1.7或是更高的版本,同样首次打开IDEA的时候要求你安装苹果官网jdk1.6。

为了免去多余的jdk安装,解决办法如下:

到/Applications下找到IntelliJ IDEA 13,右键->显示包内容->Contents->Info.plist,利用文本编辑器或是默认的xcode打开该文件,找到下列代码

<key>JVMVersion</key>
<string>1.6*</string>

将<string>1.6*</string>改为<string>1.7*</string>保存。

此时idea使用的jdk就是1.7及以上的版本了。

Continue reading →

Mac系统修改Intellij Idea默认JDK版本

2014-08-24

Intellij IDEA 默认情况下,使用的jdk的版本是1.6,当第一次启动IDEA的时候,如果系统中未安装jdk,则系统会自动到苹果官网下载jdk安装文件。如果你的系统已经安装了jdk1.7或是更高的版本,同样首次打开IDEA的时候要求你安装苹果官网jdk1.6。

为了免去多余的jdk安装,解决办法如下:

到/Applications下找到IntelliJ IDEA 13,右键->显示包内容->Contents->Info.plist,利用文本编辑器或是默认的xcode打开该文件,找到下列代码

<key>JVMVersion</key>
<string>1.6*</string>

将<string>1.6*</string>改为<string>1.7*</string>保存。

此时idea使用的jdk就是1.7及以上的版本了。

Continue reading →

Mac OSX下设置IntelliJ IDEA环境变量

2014-07-17

配置InelliJ时候,发现自己在~/.profile中设置的环境变量都不好用,比如M2_HOME, 后来找到了一个方法,只有这么设置,才能在GUI环境下使用环境变量,之前profile中的,只有在命令行中才有用

launchctl setenv MYPATH myvar
Continue reading →

Google最新免费字体 Noto Fonts

2014-07-16

Google Noto Fonts

Google最新公布了适合于几乎全世界所有国家的一个开源字体Google Noto Fonts, 设计目标是可以广泛用于多种用途的计算机字体,比如用于手机、平板、或者桌面的用户界面、网页浏览或者电子书阅读等等。

大家觉得怎么样?好看么?

Google Noto Fonts

Continue reading →

Swift之闭包

2014-07-14

Swift programming language

Swift 是一门由Apple 公司开发的用于iOS和OSX设备上的开发语言,吸收了很多现代开发语言的优势。 今天看了官方的关于闭包部分的文档,感觉很不错,记录一下。

闭包是自包含的函数代码块,可以在代码中被传递和使用。 Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 lambdas 函数比较相似。

闭包可以捕获和存储其所在上下文中任意常量和变量的引用。这就是所谓的闭合并包裹着这些常量和变量,俗称闭包。Swift 会为您管理在捕获过程中涉及到的所有内存操作。

Swift 的闭包表达式拥有简洁的风格,并鼓励在常见场景中进行语法优化,主要优化如下:

  • 利用上下文推断参数和返回值类型
  • 隐式返回单表达式闭包,即单表达式闭包可以省略return关键字
  • 参数名称缩写
  • 尾随(Trailing)闭包语法
Continue reading →

Sublime Text 2 实用快捷键[Mac OS X]

2013-10-29

From: http://lucifr.com/2011/09/10/sublime-text-2-useful-shortcuts/

lucasfais 总结了一些非常实用的 Sublime Text 2 快捷键,Lucifr 将它们翻译成了中文,以方便查阅。

注意:修饰键(如⌘)后跟多个按键的情况表示在按住修饰键的情况下依次按下相应键。

打开/前往

⌘T 前往文件

⌘⌃P 前往项目

Continue reading →

让ubuntu使用国内的源

2013-06-07

如果你安装了ubuntu 13.04,但是没有选择中文语言,你默认的源将会是us的。这样速度不太理想,如果你想使用国内源,请替换/etc/apt/source.list文件为下面的内容:

deb http://cn.archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ raring-security main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb http://cn.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ raring-security main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://cn.archive.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
Continue reading →

给Mac OSX的Dock上加入最近打开的应用功能

2013-05-30

如果你想把你的Dock加入一个类似于最近打开的应用的功能,方便快速打开最近使用的应用的话,有什么办法吗?

其实很简单,只要在terminal中输入以下命令就好了

defaults write com.apple.dock persistent-others -array-add '{ "tile-data" = { "list-type" = 1; }; "tile-type" = "recents-tile"; }'

然后在重启Dock

killall Dock

recent apps

Continue reading →

Mac Terminal如何支持C++11

2013-05-12

如果是用g++编译C++11文件,会出现下面问题

$ g++ -std=c++11 string.cc -o string
cc1plus: error: unrecognized command line option "-std=c++11"

$ g++ -v

…

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

原因是Mac自带的g++版本太低。 如果想使用C++11,可以用clang++替代g++,并用libc++替换libstdc++,因为libstdc++的版本也太老,不支持c++11

clang++ -std=c++11 -stdlib=libc++ -Weverything main.cpp

这样就可以正常编译C++11的文件了

Continue reading →

C++代码编译时出现 ld: symbol(s) not found for architecture x86_64错误

2013-05-08

当编译c++代码时候,出现

 ld: symbol(s) not found for architecture x86_64

上面错误时,一般是因为使用C的front-end去编译C++代码。使用gcc编译C++代码,它没有链接C++的liberies.例如:

$ gcc example.cpp 
Undefined symbols for architecture x86_64:
  "std::cout", referenced from:
      _main in ccLTUBHJ.o
  "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
      _main in ccLTUBHJ.o
  "std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)", referenced from:
      _main in ccLTUBHJ.o
  "std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))", referenced from:
      _main in ccLTUBHJ.o
  "std::ios_base::Init::Init()", referenced from:
      __static_initialization_and_destruction_0(int, int)in ccLTUBHJ.o
  "std::ios_base::Init::~Init()", referenced from:
      ___tcf_0 in ccLTUBHJ.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
$ g++ example.cpp 
$ 
Continue reading →

Copyright © 2009- Elton Zheng build with Golang Gor